0001699136-24-000065.txt : 20240502 0001699136-24-000065.hdr.sgml : 20240502 20240502154331 ACCESSION NUMBER: 0001699136-24-000065 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 75 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240502 DATE AS OF CHANGE: 20240502 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Cactus, Inc. CENTRAL INDEX KEY: 0001699136 STANDARD INDUSTRIAL CLASSIFICATION: OIL & GAS FILED MACHINERY & EQUIPMENT [3533] ORGANIZATION NAME: 06 Technology IRS NUMBER: 352586106 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-38390 FILM NUMBER: 24907842 BUSINESS ADDRESS: STREET 1: 920 MEMORIAL CITY WAY STREET 2: SUITE 300 CITY: HOUSTON STATE: TX ZIP: 77024 BUSINESS PHONE: 713-626-8800 MAIL ADDRESS: STREET 1: 920 MEMORIAL CITY WAY STREET 2: SUITE 300 CITY: HOUSTON STATE: TX ZIP: 77024 10-Q 1 whd-20240331.htm 10-Q whd-20240331
000169913612-312024Q1false00016991362024-01-012024-03-310001699136us-gaap:CommonClassAMember2024-04-30xbrli:shares0001699136us-gaap:CommonClassBMember2024-04-3000016991362024-03-31iso4217:USD00016991362023-12-31iso4217:USDxbrli:shares0001699136us-gaap:CommonClassAMember2023-12-310001699136us-gaap:CommonClassAMember2024-03-310001699136us-gaap:CommonClassBMember2024-03-310001699136us-gaap:CommonClassBMember2023-12-310001699136us-gaap:ProductMember2024-01-012024-03-310001699136us-gaap:ProductMember2023-01-012023-03-310001699136whd:RentalRevenueMember2024-01-012024-03-310001699136whd:RentalRevenueMember2023-01-012023-03-310001699136us-gaap:ProductAndServiceOtherMember2024-01-012024-03-310001699136us-gaap:ProductAndServiceOtherMember2023-01-012023-03-3100016991362023-01-012023-03-310001699136us-gaap:CommonClassAMember2024-01-012024-03-310001699136us-gaap:CommonClassAMember2023-01-012023-03-310001699136us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-12-310001699136us-gaap:CommonClassBMemberus-gaap:CommonStockMember2023-12-310001699136us-gaap:AdditionalPaidInCapitalMember2023-12-310001699136us-gaap:RetainedEarningsMember2023-12-310001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001699136us-gaap:NoncontrollingInterestMember2023-12-310001699136us-gaap:NoncontrollingInterestMember2024-01-012024-03-310001699136us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001699136us-gaap:CommonClassAMemberus-gaap:CommonStockMember2024-01-012024-03-310001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001699136us-gaap:RetainedEarningsMember2024-01-012024-03-310001699136us-gaap:CommonClassAMemberus-gaap:CommonStockMember2024-03-310001699136us-gaap:CommonClassBMemberus-gaap:CommonStockMember2024-03-310001699136us-gaap:AdditionalPaidInCapitalMember2024-03-310001699136us-gaap:RetainedEarningsMember2024-03-310001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310001699136us-gaap:NoncontrollingInterestMember2024-03-310001699136us-gaap:CommonClassAMemberus-gaap:CommonStockMember2022-12-310001699136us-gaap:CommonClassBMemberus-gaap:CommonStockMember2022-12-310001699136us-gaap:AdditionalPaidInCapitalMember2022-12-310001699136us-gaap:RetainedEarningsMember2022-12-310001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001699136us-gaap:NoncontrollingInterestMember2022-12-3100016991362022-12-310001699136us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-01-012023-03-310001699136us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001699136us-gaap:NoncontrollingInterestMember2023-01-012023-03-310001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001699136us-gaap:RetainedEarningsMember2023-01-012023-03-310001699136us-gaap:CommonClassAMemberus-gaap:CommonStockMember2023-03-310001699136us-gaap:CommonClassBMemberus-gaap:CommonStockMember2023-03-310001699136us-gaap:AdditionalPaidInCapitalMember2023-03-310001699136us-gaap:RetainedEarningsMember2023-03-310001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001699136us-gaap:NoncontrollingInterestMember2023-03-3100016991362023-03-31whd:segment0001699136whd:FlexSteelMember2023-02-282023-02-280001699136whd:FlexSteelMember2023-02-280001699136whd:FlexSteelMember2024-01-012024-03-310001699136us-gaap:LandMember2024-03-310001699136us-gaap:LandMember2023-12-310001699136us-gaap:BuildingAndBuildingImprovementsMember2024-03-310001699136us-gaap:BuildingAndBuildingImprovementsMember2023-12-310001699136us-gaap:MachineryAndEquipmentMember2024-03-310001699136us-gaap:MachineryAndEquipmentMember2023-12-310001699136whd:ReelsAndSkidsMember2024-03-310001699136whd:ReelsAndSkidsMember2023-12-310001699136us-gaap:VehiclesMember2024-03-310001699136us-gaap:VehiclesMember2023-12-310001699136whd:RentalEquipmentMember2024-03-310001699136whd:RentalEquipmentMember2023-12-310001699136us-gaap:FurnitureAndFixturesMember2024-03-310001699136us-gaap:FurnitureAndFixturesMember2023-12-310001699136whd:ComputerAndSoftwareMember2024-03-310001699136whd:ComputerAndSoftwareMember2023-12-310001699136us-gaap:ConstructionInProgressMember2024-03-310001699136us-gaap:ConstructionInProgressMember2023-12-310001699136us-gaap:CustomerRelationshipsMember2024-03-310001699136us-gaap:CustomerRelationshipsMember2023-12-310001699136us-gaap:TechnologyBasedIntangibleAssetsMember2024-03-310001699136us-gaap:TechnologyBasedIntangibleAssetsMember2023-12-310001699136us-gaap:TradeNamesMember2024-03-310001699136us-gaap:TradeNamesMember2023-12-310001699136us-gaap:OrderOrProductionBacklogMember2024-03-310001699136us-gaap:OrderOrProductionBacklogMember2023-12-310001699136whd:IdentifiableIntangibleAssetsAcquiredMember2024-03-310001699136whd:IdentifiableIntangibleAssetsAcquiredMember2024-01-012024-03-310001699136whd:CactusWellheadLlcAndItsSubsidiariesMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2018-08-210001699136whd:CactusWellheadLlcAndItsSubsidiariesMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2022-07-250001699136whd:CactusWellheadLlcAndItsSubsidiariesMemberus-gaap:LineOfCreditMember2022-07-250001699136whd:AmendedABLCreditFacilityMemberus-gaap:SecuredDebtMember2023-02-280001699136whd:AmendedABLCreditFacilityMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-02-280001699136whd:AmendedABLCreditFacilityMemberus-gaap:LetterOfCreditMemberus-gaap:LineOfCreditMember2023-02-280001699136whd:CactusWellheadLlcAndItsSubsidiariesMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-02-280001699136whd:TheCreditFacilityMemberus-gaap:SecuredDebtMemberus-gaap:LineOfCreditMember2023-02-280001699136whd:TheCreditFacilityMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-02-280001699136us-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMembersrt:SubsidiariesMember2024-01-012024-03-31xbrli:pure0001699136whd:SecuredOvernightFinancingRateMemberus-gaap:RevolvingCreditFacilityMembersrt:SubsidiariesMember2024-01-012024-03-310001699136us-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMembersrt:MinimumMembersrt:SubsidiariesMember2024-01-012024-03-310001699136srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMembersrt:SubsidiariesMember2024-01-012024-03-310001699136us-gaap:RevolvingCreditFacilityMembersrt:MinimumMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMembersrt:SubsidiariesMember2024-01-012024-03-310001699136srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMembersrt:SubsidiariesMember2024-01-012024-03-310001699136us-gaap:RevolvingCreditFacilityMembersrt:MinimumMembersrt:SubsidiariesMember2024-01-012024-03-310001699136us-gaap:RevolvingCreditFacilityMembersrt:SubsidiariesMemberwhd:CreditAgreementMemberus-gaap:LineOfCreditMember2024-03-310001699136us-gaap:RevolvingCreditFacilityMembersrt:SubsidiariesMember2024-01-012024-03-3100016991362018-02-012018-02-2800016991362024-03-012024-03-310001699136whd:CactusCompaniesMember2024-01-012024-03-310001699136whd:CactusLLCMember2023-01-012023-12-310001699136us-gaap:CommonClassAMemberwhd:AdditionalOfferingMember2023-01-012023-01-310001699136us-gaap:CommonClassAMemberwhd:AdditionalOfferingMember2023-01-310001699136us-gaap:AdditionalPaidInCapitalMember2023-01-012023-01-310001699136whd:KeyEmployeeMemberwhd:FlexSteelMember2023-01-012023-03-310001699136whd:CactusCompaniesMemberus-gaap:CommonClassBMember2024-03-310001699136us-gaap:CommonClassAMemberwhd:CCUnitsRedeemedForClassCommonStockMember2018-02-012024-03-310001699136whd:ShareRepurchaseProgramMember2023-06-060001699136whd:ShareRepurchaseProgramMemberus-gaap:CommonStockMember2024-01-012024-03-310001699136whd:ShareRepurchaseProgramMemberus-gaap:CommonStockMember2024-03-310001699136whd:CactusIncMember2024-01-012024-03-310001699136whd:CCUnitHoldersOtherThanCactusIncMember2024-01-012024-03-310001699136whd:CactusIncMember2023-01-012023-03-310001699136whd:CCUnitHoldersOtherThanCactusIncMember2023-01-012023-03-310001699136whd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel3Member2024-03-310001699136us-gaap:MeasurementInputRiskFreeInterestRateMembersrt:MinimumMemberwhd:EarnOutLiabilityMember2023-12-310001699136srt:MaximumMemberus-gaap:MeasurementInputRiskFreeInterestRateMemberwhd:EarnOutLiabilityMember2023-12-310001699136whd:MeasurementInputExpectedRevenueVolatilityMemberwhd:EarnOutLiabilityMember2023-12-310001699136srt:MinimumMemberus-gaap:MeasurementInputDiscountRateMemberwhd:EarnOutLiabilityMember2023-12-310001699136srt:MaximumMemberus-gaap:MeasurementInputDiscountRateMemberwhd:EarnOutLiabilityMember2023-12-310001699136whd:CreditDiscountRateMembersrt:MinimumMemberwhd:EarnOutLiabilityMember2023-12-310001699136whd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel3Member2023-02-280001699136whd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel3Member2023-02-282023-12-310001699136whd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel3Member2023-12-310001699136us-gaap:FairValueInputsLevel2Member2024-03-310001699136whd:PressureControlSegmentMember2024-01-012024-03-310001699136whd:PressureControlSegmentMember2023-01-012023-03-310001699136whd:SpoolableTechnologiesMember2024-01-012024-03-310001699136whd:SpoolableTechnologiesMember2023-01-012023-03-310001699136whd:PressureControlSegmentMemberus-gaap:OperatingSegmentsMember2024-01-012024-03-310001699136whd:PressureControlSegmentMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001699136whd:SpoolableTechnologiesMemberus-gaap:OperatingSegmentsMember2024-01-012024-03-310001699136whd:SpoolableTechnologiesMemberus-gaap:OperatingSegmentsMember2023-01-012023-03-310001699136us-gaap:OperatingSegmentsMember2024-01-012024-03-310001699136us-gaap:OperatingSegmentsMember2023-01-012023-03-310001699136us-gaap:CorporateNonSegmentMember2024-01-012024-03-310001699136us-gaap:CorporateNonSegmentMember2023-01-012023-03-31
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
______________________________________________________________________________
FORM 10-Q
______________________________________________________________________________
(MARK ONE)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period 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: 001-38390
______________________________________________________________________________
Cactus, Inc.
(Exact name of registrant as specified in its charter)
______________________________________________________________________________
Delaware35-2586106
(State or other jurisdiction of
incorporation or organization)
(I.R.S. Employer
Identification No.)
920 Memorial City Way, Suite 30077024
Houston,Texas(Zip Code)
(Address of principal executive offices)
(713626-8800
(Registrant’s telephone number, including area code)
______________________________________________________________________________
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Class A Common Stock, par value $0.01WHDNew York Stock Exchange
Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. 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 (§232.405 of this chapter) 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, a smaller reporting company or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.
Large accelerated filerAccelerated filer
Non-accelerated filerSmaller 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 65,706,197 shares of Class A common stock, $0.01 par value per share, and 13,848,630 shares of Class B common stock, $0.01 par value per share, outstanding.


TABLE OF CONTENTS


CAUTIONARY NOTE REGARDING FORWARD-LOOKING STATEMENTS
This Quarterly Report on Form 10-Q (the “Quarterly Report”) contains “forward-looking statements” within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). When used in this Quarterly Report, the words “could,” “believe,” “anticipate,” “intend,” “estimate,” “expect,” “project” and similar expressions are intended to identify forward-looking statements, although not all forward-looking statements contain such identifying words. These forward-looking statements are based on our current expectations and assumptions about future events and are based on currently available information as to the outcome and timing of future events. We caution you that these forward-looking statements are subject to risks and uncertainties, most of which are difficult to predict and many of which are beyond our control. When considering forward‑looking statements, you should keep in mind the risk factors and other cautionary statements described under “Part I, Item 1A. Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2023 (our “2023 Annual Report”) and other cautionary statements contained herein and in our Exchange Act filings. Forward‑looking statements are based on management’s current belief, based on currently available information, as to the outcome and timing of future events. Should one or more of the risks or uncertainties described in our 2023 Annual Report or other Exchange Act filings occur, or should underlying assumptions prove incorrect, our actual results could differ materially from those expressed in any forward-looking statements.
All forward-looking statements, expressed or implied, included in this Quarterly Report are expressly qualified in their entirety by this cautionary statement. This cautionary statement should also be considered in connection with any subsequent written or oral forward-looking statements that we or persons acting on our behalf may issue. Except as otherwise required by applicable law, we disclaim any duty to update any forward-looking statements, all of which are expressly qualified by the statements in this section, to reflect events or circumstances after the date of this Quarterly Report.
i

PART I - FINANCIAL INFORMATION
Item 1.   Financial Statements.
CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED BALANCE SHEETS
(unaudited)
(in thousands, except per share data)March 31,
2024
December 31,
2023
Assets
Current assets
Cash and cash equivalents
$194,257 $133,792 
Accounts receivable, net of allowance of $3,803 and $3,642, respectively
207,624 205,381 
Inventories
204,049 205,625 
Prepaid expenses and other current assets
11,027 11,380 
Total current assets
616,957 556,178 
Property and equipment, net
344,973 345,502 
Operating lease right-of-use assets, net
24,429 23,496 
Intangible assets, net175,981 179,978 
Goodwill
203,028 203,028 
Deferred tax asset, net
201,037 204,852 
Other noncurrent assets
9,482 9,527 
Total assets
$1,575,887 $1,522,561 
Liabilities and Equity
Current liabilities
Accounts payable
$66,142 $71,841 
Accrued expenses and other current liabilities
58,284 50,654 
Earn-out liability34,114 20,810 
Current portion of liability related to tax receivable agreement
20,855 20,855 
Finance lease obligations, current portion
7,181 7,280 
Operating lease liabilities, current portion
4,094 4,220 
Total current liabilities
190,670 175,660 
Deferred tax liability, net
3,743 3,589 
Liability related to tax receivable agreement, net of current portion
250,069 250,069 
Finance lease obligations, net of current portion
9,529 9,352 
Operating lease liabilities, net of current portion
20,283 19,121 
Other noncurrent liabilities1,004  
Total liabilities
475,298 457,791 
Commitments and contingencies


Stockholders’ equity
Preferred stock, $0.01 par value, 10,000 shares authorized, none issued and outstanding
  
Class A common stock, $0.01 par value, 300,000 shares authorized, 65,518 and 65,409 shares issued and outstanding
655 654 
Class B common stock, $0.01 par value, 215,000 shares authorized, 14,034 and 14,034 shares issued and outstanding
  
Additional paid-in capital
462,464 465,012 
Retained earnings
431,703 400,682 
Accumulated other comprehensive loss(1,456)(826)
Total stockholders’ equity attributable to Cactus Inc.893,366 865,522 
Non-controlling interest
207,223 199,248 
Total stockholders’ equity1,100,589 1,064,770 
Total liabilities and equity
$1,575,887 $1,522,561 
The accompanying notes are an integral part of these condensed consolidated financial statements.
1

CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF INCOME
(unaudited)
Three Months Ended
March 31,
(in thousands, except per share data)20242023
Revenues
Product revenue
$207,511 $159,510 
Rental revenue
23,943 27,817 
Field service and other revenue
42,669 41,078 
Total revenues
274,123 228,405 
Costs and expenses
Cost of product revenue
120,666 100,815 
Cost of rental revenue
12,946 16,084 
Cost of field service and other revenue
35,235 31,917 
Selling, general and administrative expenses
29,422 29,901 
Change in fair value of earn-out liability13,304  
Total costs and expenses
211,573 178,717 
Operating income62,550 49,688 
Interest income, net689 1,002 
Other income, net 3,538 
Income before income taxes
63,239 54,228 
Income tax expense13,424 1,940 
Net income
$49,815 $52,288 
Less: net income attributable to non-controlling interest
10,850 9,394 
Net income attributable to Cactus Inc.
$38,965 $42,894 
Earnings per Class A share - basic
$0.60 $0.67 
Earnings per Class A share - diluted
$0.59 $0.63 
Weighted average Class A shares outstanding - basic
65,378 63,740 
Weighted average Class A shares outstanding - diluted
79,556 79,155 
The accompanying notes are an integral part of these condensed consolidated financial statements.
2

CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(unaudited)
Three Months Ended March 31,
(in thousands)20242023
Net income
$49,815 $52,288 
Foreign currency translation adjustments
(803)303 
Comprehensive income
$49,012 $52,591 
Less: comprehensive income attributable to non-controlling interest
10,677 9,477 
Comprehensive income attributable to Cactus Inc.
$38,335 $43,114 
The accompanying notes are an integral part of these condensed consolidated financial statements.
3


CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(unaudited)

Class AClass BAdditional
Paid-In
Capital
Retained
Earnings
Accumulated
Other
Comprehensive Income (Loss)
Non-controlling
Interest
Total
Equity
Common StockCommon Stock
(in thousands)SharesAmountSharesAmount
Balance at December 31, 202365,409 $654 14,034 $ $465,012 $400,682 $(826)$199,248 $1,064,770 
Member distributions— — — — — — — (1,684)(1,684)
Tax impact of equity transactions— — — — 234 — —  234 
Equity award vestings196 2 — — (3,466)— — (1,432)(4,896)
Other comprehensive loss— — — — — — (630)(173)(803)
Share repurchases(87)(1)— — (2,996)— — (375)(3,372)
Stock-based compensation— — — — 3,680 — — 789 4,469 
Cash dividends declared ($0.12 per share)
— — — — — (7,944)— — (7,944)
Net income— — — — — 38,965 — 10,850 49,815 
Balance at March 31, 202465,518 $655 14,034 $ $462,464 $431,703 $(1,456)$207,223 $1,100,589 
Balance at December 31, 202260,903 $609 14,978 $ $310,528 $261,764 $(984)$138,528 $710,445 
Issuance of common stock3,352 34 — — 143,302 — — 26,033 169,369 
Member distributions— — — — — — — (1,644)(1,644)
Tax impact of equity transactions— — — — (13,981)— — 16,826 2,845 
Equity award vestings193 2 — — (3,009)— — (1,336)(4,343)
Other comprehensive income— — — — — — 220 83 303 
Stock-based compensation— — — — 3,004 — — 699 3,703 
Cash dividends declared ($0.11 per share)
— — — — — (7,130)— — (7,130)
Net income— — — — — 42,894 — 9,394 52,288 
Balance at March 31, 202364,448 $645 14,978 $ $439,844 $297,528 $(764)$188,583 $925,836 
The accompanying notes are an integral part of these condensed consolidated financial statements.















4


CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(unaudited)
Three Months Ended
March 31,
(in thousands)20242023
Cash flows from operating activities
Net income
$49,815 $52,288 
Reconciliation of net income to net cash provided by operating activities:
Depreciation and amortization
15,046 13,110 
Deferred financing cost amortization
280 291 
Stock-based compensation
4,432 3,841 
Provision for expected credit losses
162 (376)
Inventory obsolescence
1,062 576 
Gain on disposal of assets(208)(1,033)
Deferred income taxes
4,403 (1,406)
Change in fair value of earn-out liability13,304 (121)
Gain from revaluation of liability related to tax receivable agreement (3,417)
Changes in operating assets and liabilities:
Accounts receivable
(3,011)(12,883)
Inventories
234 20,565 
Prepaid expenses and other assets
128 2,151 
Accounts payable
(8,132)(6,282)
Accrued expenses and other liabilities
8,748 (6,842)
Net cash provided by operating activities
86,263 60,462 
Cash flows from investing activities
Acquisition of a business, net of cash and cash equivalents acquired (618,857)
Capital expenditures and other
(7,902)(15,928)
Proceeds from sales of assets1,094 1,633 
Net cash used in investing activities
(6,808)(633,152)
Cash flows from financing activities
Proceeds from the issuance of long-term debt 155,000 
Net proceeds from the issuance of Class A common stock 169,878 
Payments of deferred financing costs (6,665)
Payments on finance leases
(2,031)(1,709)
Dividends paid to Class A common stock shareholders
(8,144)(7,353)
Distributions to members
(1,684)(1,645)
Repurchases of shares
(8,268)(4,343)
Net cash provided by (used in) financing activities(20,127)303,163 
Effect of exchange rate changes on cash and cash equivalents
1,137 422 
Net increase (decrease) in cash and cash equivalents60,465 (269,105)
Cash and cash equivalents, beginning of period133,792 344,527 
Cash and cash equivalents, end of period$194,257 $75,422 
Supplemental disclosure of cash flow information
Net cash paid for income taxes$1,611 $556 
Cash paid for interest$535 $327 
Non-cash investing and financing activities:
Right-of-use assets obtained in exchange for new lease obligations$4,515 $4,874 
Property and equipment in accounts payable$2,637 $1,249 
The accompanying notes are an integral part of these condensed consolidated financial statements.
5


CACTUS, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (unaudited)
(in thousands, except per share data, or as otherwise indicated)
1.Preparation of Interim Financial Statements and Other Items
Basis of Presentation
The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.
On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the acquisition of the FlexSteel business through a merger (the “Merger”) with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition. See Note 2 for additional information related to the acquisition.
Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.
The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2023.
The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.
Use of Estimates
In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.
Recent Accounting Pronouncements
Standards Not Yet Adopted
In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740).” The amendments in this ASU require entities to disclose on an annual basis specific categories in the income tax rate reconciliation and provide additional disclosures for reconciling items that meet a specified
6


quantitative threshold. Entities will also be required to disclose annually income taxes paid disaggregated by federal, state and foreign taxes and the amount of income taxes paid by individual jurisdictions that meet a five percent or greater threshold of total income taxes paid net of refunds received. The ASU also adds certain disclosures in order to be consistent with U.S. Securities and Exchange Commission rules and removes certain disclosures that no longer are considered cost beneficial or relevant. The amendments in this ASU are to be applied on a prospective basis and will be effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our disclosures.

In November 2023, the FASB issued ASU No. 2023-07, “Improvements to Reportable Segment Disclosures (Topic 280)” in order to require disclosure of incremental segment information on an annual and interim basis for all public entities. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly provided to the chief operating decision maker and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items and interim disclosures of a reportable segment’s profit or loss and assets. The ASU is to be applied retrospectively to all prior periods presented in the financial statements and is effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our segment disclosures.
2.FlexSteel Acquisition
On February 28, 2023 we completed the acquisition of FlexSteel. Including final adjustments for closing working capital, cash on hand and indebtedness adjustments as set forth in the merger agreement, we paid total cash consideration of $621.5 million. There is also a future earn-out payment of up to $75.0 million to be paid no later than the third quarter of 2024, if certain revenue targets are met by FlexSteel.
Purchase Price Consideration
The final purchase price consideration for the acquisition was $627.5 million and is summarized as follows:
Purchase Price Consideration
Cash consideration$621,505 
Add: Contingent consideration (1)
5,960 
Fair value of consideration transferred$627,465 
(1) Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75.0 million of additional cash consideration if certain revenue targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.
Changes in the fair value of the earn-out liability subsequent to the acquisition date are recognized in the consolidated statements of income. As of March 31, 2024, the estimated earn-out payment is $34.1 million. The increase is based on the improvements in FlexSteel's expected revenues for the period January 1, 2023 through June 30, 2024, compared to projections made at the time of the acquisition. See further discussion of the calculation of fair value of the earn-out liability in Note 12.
7


Purchase Price Allocation
The following table provides the final allocation of the purchase price as of the acquisition date:
Cash and cash equivalents$5,316 
Receivables58,002 
Inventories91,746 
Prepaid expenses and other current assets1,283 
Property and equipment206,928 
Operating lease right-of-use assets1,021 
Identifiable intangible assets200,300 
Other noncurrent assets5,666 
Total assets acquired570,262 
Accounts payable(14,975)
Accrued expenses and other current liabilities(26,827)
Finance lease obligations(974)
Operating lease liabilities(906)
Deferred tax liabilities(94,319)
Total liabilities assumed(138,001)
Net assets acquired432,261 
Goodwill$195,204 

The acquisition was accounted for using the acquisition method of accounting, with Cactus being treated as the accounting acquirer. Under the acquisition method of accounting, the assets and liabilities were recorded at their respective fair values as of the acquisition date. Fair values were determined by management, based in part on independent valuations performed by third-party valuation specialists. The valuation methods used to determine the fair value of intangible assets included the excess earnings approach for customer relationships and backlog using customer inputs and contributory charges and the relief from royalty method for tradename and developed technology.

The fair values determined for accounts receivable, accounts payable and most other current assets and liabilities, other than inventory, were equivalent to the carrying value due to their short-term nature. Acquired inventories were comprised of raw materials, work-in-progress and finished goods. The fair value of finished goods was calculated as the estimated selling price, less costs of the selling effort and a reasonable profit allowance relating to the selling effort. The fair value of identifiable fixed assets was calculated using a combination of valuation approaches, but primarily consisted of the cost approach which adjusts estimates of replacement cost for the age, condition and utility of the associated assets.

Goodwill is calculated as the excess of the purchase price over the estimated fair value of net assets acquired.
Pro forma financial information
The pro forma financial information below represents the combined results of operations as if the acquisition had occurred as of January 1, 2022. The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.
Three Months Ended
March 31,
2023
Revenues$281,784 
Net Income attributable to Cactus, Inc.40,803 


8


3.Accounts Receivable and Allowance for Credit Losses
We extend credit to customers in the normal course of business. Our customers are predominantly oil and gas exploration and production companies located in the U.S. Our receivables are short-term in nature and typically due in 30 to 60 days. We do not accrue interest on delinquent receivables. Accounts receivable includes amounts billed and currently due from customers and unbilled amounts for products delivered and services performed for which billings have not yet been submitted to the customers. Total unbilled revenue included in accounts receivable as of March 31, 2024 and December 31, 2023 was $31.7 million and $26.8 million, respectively.
We maintain an allowance for credit losses to provide for the amount of billed receivables we believe to be at risk of loss. In our determination of the allowance for credit losses, we pool receivables with similar risk characteristics based on customer size, credit ratings, payment history, bankruptcy status and other factors known to us and apply an expected credit loss percentage. The expected credit loss percentage is determined using historical loss data adjusted for current conditions and forecasts of future economic conditions. Accounts deemed uncollectible are applied against the allowance for credit losses. The following is a rollforward of our allowance for credit losses.
Balance at
Beginning of
Period
Expense
(Recovery)
Write offTranslation AdjustmentsBalance at
End of
Period
Three Months Ended March 31, 2024$3,642 $162 $(1)$ $3,803 
Three Months Ended March 31, 20231,060 (376)(19)2 667 
4.Inventories
Inventories are stated at the lower of cost or net realizable value. Cost is determined using standard cost (which approximates average cost). Costs include an application of related material, direct labor, duties, tariffs, freight and overhead costs. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal and transportation. Reserves are made for excess and obsolete items based on a range of factors, including age, usage and technological or market changes that may impact demand for those products. Inventories consist of the following:
March 31,
2024
December 31,
2023
Raw materials$18,941 $22,373 
Work-in-progress13,330 11,471 
Finished goods171,778 171,781 
$204,049 $205,625 
9


5.Property and Equipment, net
Property and equipment are stated at cost. We manufacture or construct most of our Pressure Control rental equipment assets. During the manufacture of these assets, they are reflected as construction in progress until complete. Property and equipment consists of the following:
March 31,
2024
December 31,
2023
Land
$16,442 $16,442 
Buildings and improvements
132,091 131,974 
Machinery and equipment
130,082 128,962 
Reels and skids16,124 16,181 
Vehicles37,657 36,552 
Rental equipment219,692 218,340 
Furniture and fixtures
1,908 1,913 
Computers and software
4,112 3,951 
Gross property and equipment
558,108 554,315 
Less: Accumulated depreciation
(239,984)(231,594)
Net property and equipment
318,124 322,721 
Construction in progress
26,849 22,781 
Total property and equipment, net
$344,973 $345,502 
6.Other Intangible Assets
The following table presents the detail of acquired intangible assets:
March 31, 2024December 31, 2023
Gross CostAccumulated AmortizationNet CostGross CostAccumulated AmortizationNet Cost
Customer relationships$100,300 $(7,244)$93,056 $100,300 $(5,572)$94,728 
Developed technology77,000 (8,342)68,658 77,000 (6,417)70,583 
Tradename16,000 (1,733)14,267 16,000 (1,333)14,667 
Backlog7,000 (7,000) 7,000 (7,000) 
Total$200,300 $(24,319)$175,981 $200,300 $(20,322)$179,978 
All intangible assets are amortized over their estimated useful lives. The weighted average amortization period for identifiable intangible assets acquired as of March 31, 2024 is 12 years. Amortization expense recognized during the three months ended March 31, 2024 was $4.0 million and was recorded in selling, general and administrative expenses in the consolidated statements of income. Estimated future amortization expense is as follows:
Remainder of 2024$11,990 
202515,987 
202615,987 
202715,987 
202815,987 
202915,987 
Thereafter84,056 
Total$175,981 
10


7.Debt
We had no debt outstanding as of March 31, 2024 and December 31, 2023. We had $1.1 million in letters of credit outstanding and were in compliance with all covenants under the Amended ABL Credit Facility (as defined below) as of March 31, 2024.
In August 2018, Cactus LLC entered into a five-year senior secured asset-based revolving credit facility with a syndicate of lenders and JPMorgan Chase Bank, N.A., as administrative agent for such lenders and as an issuing bank and swingline lender (the “ABL Credit Facility”). The ABL Credit Facility was first amended in September 2020 and provided for up to $75.0 million in revolving commitments. On July 25, 2022, the ABL Credit Facility was amended again for up to $80.0 million in revolving commitments, up to $15.0 million of which was available for the issuance of letters of credit.
On February 28, 2023, in connection with the Merger, Cactus Companies assumed the rights and obligations of Cactus LLC as Borrower under the ABL Credit Facility, and the ABL Credit Facility was amended and restated in its entirety (the “Amended ABL Credit Facility”). The Amended ABL Credit Facility provides for a term loan of $125.0 million and up to $225.0 million in revolving commitments, of which $20.0 million is available for the issuance of letters of credit. Subject to certain terms and conditions set forth in the Amended ABL Credit Facility, Cactus Companies may request additional revolving commitments in an amount not to exceed $50.0 million, for a total of up to $275.0 million in revolving commitments. The term loan under the Amended ABL Credit Facility was set to mature on February 27, 2026 and any revolving loans under the Amended ABL Credit Facility mature on July 26, 2027. The maximum amount that Cactus Companies may borrow under the Amended ABL Credit Facility is subject to a borrowing base, which is based on a percentage of eligible accounts receivable and eligible inventory, subject to reserves and other adjustments.
We borrowed the full $125.0 million term loan amount and $30.0 million as a revolving loan at closing of the Amended ABL Credit Facility to fund a portion of the Merger. The term loan was required to be repaid in regular set amounts starting July 1, 2023 as set forth in the amortization schedule in the Amended ABL Credit Facility and could be prepaid without the payment of any prepayment premium (other than customary breakage costs for Term Benchmark (as defined below) borrowings). The term loan and revolving loan were repaid in full in July 2023.
Borrowings under the Amended ABL Credit Facility bear interest at Cactus Companies’ option at either (i) the Alternate Base Rate (as defined therein) (“ABR”), or (ii) the Adjusted Term SOFR Rate (as defined therein) (“Term Benchmark”), plus, in each case, an applicable margin. Letters of credit issued under the Amended ABL Credit Facility accrue fees at a rate equal to the applicable margin for Term Benchmark borrowings. The applicable margin is 2.50% per annum for term loan ABR borrowings and 3.50% per annum for term loan Term Benchmark borrowings. The applicable margin for revolving loan borrowings ranges from 0.0% to 0.5% per annum for revolving loan ABR borrowings and 1.25% to 1.75% per annum for revolving loan Term Benchmark borrowings and, in each case, is based on the average quarterly availability of the revolving loan commitment under the Amended ABL Credit Facility for the immediately preceding fiscal quarter. The unused portion of revolving commitment under the Amended ABL Credit Facility is subject to a commitment fee of 0.25% per annum.
The Amended ABL Credit Facility contains various covenants and restrictive provisions that limit Cactus Companies’ and each of its subsidiaries’ ability to, among other things, incur additional indebtedness and create liens, make investments or loans, merge or consolidate with other companies, sell assets, make certain restricted payments and distributions, and engage in transactions with affiliates. The obligations under the Amended ABL Credit Facility are guaranteed by certain subsidiaries of Cactus Companies and secured by a security interest in accounts receivable, inventory, equipment and certain other real and personal property assets of Cactus Companies and the guarantors. Until the term loan was paid in full, the Amended ABL Credit Facility required Cactus Companies to maintain a leverage ratio no greater than 2.50 to 1.00 based on the ratio of Total Indebtedness (as defined therein) to EBITDA (as defined therein). The Amended ABL Credit Facility requires Cactus Companies to maintain a minimum fixed charge coverage ratio of 1.00 to 1.00 based on the ratio of EBITDA (as defined therein) minus Unfinanced Capital Expenditures (as defined therein) to Fixed Charges (as defined therein) during certain periods, including when availability under the Amended ABL Credit Facility is under certain levels. If Cactus Companies fails to perform its obligations under the Amended ABL Credit Facility, (i) the revolving commitments under the Amended ABL Credit Facility could be terminated, (ii) any outstanding borrowings under the Amended ABL Credit Facility may be declared immediately due and payable, and (iii) the lenders may commence foreclosure or other actions against the collateral.
The Amended ABL Credit Facility was amended in December 2023 to incorporate certain changes related to revised and new definitions associated with the satisfaction of payment conditions for restricted payments, investments, permitted acquisitions, periodic reporting and asset dispositions. The amendment did not change the ABR, applicable margin rates, commitment fees, the
11


maturity date, borrowing availability or covenants under the Amended ABL Credit Facility other than timing of certain reporting requirements.
8.Revenue
The majority of our revenues are derived from short-term contracts for fixed consideration or in the case of rentals, for a fixed charge per day, plus repairs while the equipment is in use by the customer. Product sales generally do not include right of return or other significant post-delivery obligations. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Revenues are recognized when we satisfy a performance obligation by transferring control of the promised goods or providing services to our customers at a point in time, in an amount specified in the contract with our customer and that reflects the consideration to which we expect to be entitled in exchange for those goods or services. The majority of our contracts with customers contain a single performance obligation to provide agreed upon products or services. For contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We do not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract with the customer. We do not incur any material costs of obtaining contracts.
We do not adjust the amount of consideration per the contract for the effects of a significant financing component when we expect, at contract inception, that the period between the transfer of a promised good or service to a customer and when the customer pays for that good or service will be one year or less, which is in substantially all cases. Payment terms and conditions vary, although terms generally include a requirement of payment within 30 to 60 days of invoicing. Revenues are recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. We treat shipping and handling associated with outbound freight as a fulfillment cost instead of as a separate performance obligation. We recognize the cost for the associated shipping and handling when incurred as an expense in cost of sales.
We disaggregate revenue into three categories: product revenues, rental revenues and field service and other revenues. We have predominately domestic operations with a small amount of sales in Australia, Canada, the Middle East and other international markets. The following table presents our revenues disaggregated by category:
Three Months Ended
March 31,
20242023
Product revenue
$207,511 76 %$159,510 70 %
Rental revenue
23,943 8 %27,817 12 %
Field service and other revenue
42,669 16 %41,078 18 %
Total revenues$274,123 100 %$228,405 100 %
At March 31, 2024, we had a deferred revenue balance of $7.9 million compared to the December 31, 2023 balance of $8.1 million. Deferred revenue represents our obligation to transfer products to or perform services for a customer for which we have received cash or billed in advance. The revenue that has been deferred will be recognized upon product delivery or as services are performed. As of March 31, 2024, we did not have any contracts with an original length of greater than a year from which revenue is expected to be recognized in the future related to performance obligations that are unsatisfied.
9.Tax Receivable Agreement (TRA)
In connection with our initial public offering (“IPO”) in February 2018, we entered into the TRA which generally provides for payment by Cactus Inc. to certain direct and indirect owners of Cactus LLC (after the CC Reorganization, Cactus Companies) of 85% of the net cash savings, if any, in U.S. federal, state and local income tax and franchise tax that Cactus Inc. actually realizes or is deemed to realize in certain circumstances. Cactus Inc. will retain the benefit of the remaining 15% of these net cash savings.
The TRA liability is calculated by determining the tax basis subject to the TRA (“tax basis”) and applying a blended tax rate to the basis differences and calculating the resulting iterative impact. The blended tax rate consists of the U.S. federal income tax rate and an assumed combined state and local income tax rate driven by the apportionment factors applicable to each state. Subsequent changes to the measurement of the TRA liability are recognized in the statements of income as a component of other expense, net. As of March 31, 2024, the total liability from the TRA was $270.9 million with $20.9 million reflected in current liabilities based on the expected timing of our next payment. The payments under the TRA will not be conditional on a holder of rights under the TRA having a continued ownership interest in either Cactus Companies or Cactus Inc.
12


The term of the TRA commenced upon completion of our IPO and will continue until all tax benefits that are subject to the TRA have been utilized or expired, unless we exercise our right to terminate the TRA. If we elect to terminate the TRA early (or it is terminated early due to certain mergers, asset sales, other forms of business combinations or other changes of control), our obligations under the TRA would accelerate and we would be required to make an immediate payment equal to the present value of the anticipated future payments to be made by us under the TRA and such payment is expected to be substantial. The calculation of anticipated future payments will be based upon certain assumptions and deemed events set forth in the TRA, including the assumptions that (i) we have sufficient taxable income to fully utilize the tax benefits covered by the TRA and (ii) any CC Units (other than those held by Cactus Inc.) outstanding on the termination date are deemed to be redeemed on the termination date. Any early termination payment may be made significantly in advance of the actual realization, if any, of the future tax benefits to which the termination payment relates.
We may elect to defer payments due under the TRA if we do not have available cash to satisfy our payment obligations under the TRA. Any such deferred payments under the TRA generally will accrue interest from the due date for such payment until the payment date.
In March of 2024, the TRA was amended to replace all references to one year LIBOR with references to the 12-month term SOFR published by CME Group Benchmark Administration Limited plus 71.513 basis points. Additionally, all references to Cactus LLC were replaced with references to Cactus Companies as described in the CC Reorganization. The foregoing description of the TRA Amendment is a summary of the material terms of the TRA Amendment, does not purport to be complete and is qualified in its entirety by reference to the complete text of the TRA Amendment, a copy of which is filed as an Exhibit to this Quarterly Report and is incorporated herein by reference.
10.Equity
As of March 31, 2024, Cactus Inc. owned 82.4% of Cactus Companies as compared to 82.3% of Cactus Companies as of December 31, 2023. As of March 31, 2024, Cactus Inc. had outstanding 65.5 million shares of Class A common stock (representing 82.4% of the total voting power) and 14.0 million shares of Class B common stock (representing 17.6% of the total voting power).
Equity Offering
In January 2023, Cactus Inc. completed an underwritten offering of 3,224,300 shares of Class A common stock at a price to the underwriters of $51.36 per share for net proceeds of $165.6 million (net of $6.9 million of underwriting discounts and commissions). In addition to the underwriting discounts and commissions, approximately $2.2 million of costs directly associated with the stock issuance were recorded as a reduction to additional paid-in capital.
FlexSteel Acquisition
In conjunction with the FlexSteel acquisition, a restricted stock award of 128,150 shares of Class A common stock was issued under the Company’s long-term incentive plan to a key employee in exchange for cash consideration of $6.5 million. The shares were restricted from sale or trading and were subject to vesting requirements for one year from grant date. The agreement included a guaranteed provision whereby if the fair market value of the restricted shares was below the purchase price upon vesting, Cactus would compensate the key employee for the difference in price plus a gross-up for taxes. The restricted stock award early vested in October 2023 when the employee separated from the Company. The guaranteed payment provision was not triggered when the shares vested; therefore no cash payment was required or made in accordance with the terms of this award.
CC Reorganization
As part of the CC Reorganization in connection with the acquisition of FlexSteel, Cactus Companies acquired all of the outstanding units representing limited liability company interests of Cactus LLC (“CW Units”) in exchange for an equal number of CC Units issued to each of the previous owners of CW Units other than Cactus Inc. (the “CW Unit Holders”). Upon the completion of the CC Reorganization, CW Unit Holders ceased to be holders of CW Units and, instead, became holders of a number of CC Units equal to the number of CW Units such CW Unit Holders held immediately prior to the completion of the CC Reorganization. After the CC Reorganization, we refer to the owners of CC Units, other than Cactus Inc. (along with their
13


permitted transferees), as “CC Unit Holders.” Following the completion of the CC Reorganization, CC Unit Holders own one share of our Class B Common Stock for each CC Unit such CC Unit Holder owns.
In connection with the CC Reorganization, Cactus Inc. and the owners of CC Units entered into the Amended and Restated Limited Liability Company Operating Agreement of Cactus Companies (the “Cactus Companies LLC Agreement”), which contains substantially the same terms and conditions as the Second Amended and Restated Limited Liability Company Operating Agreement of Cactus LLC (the “Cactus Wellhead LLC Agreement”), which was the limited liability company operating agreement of Cactus LLC prior to the CC Reorganization. Cactus Inc. was responsible for all operational, management and administrative decisions relating to Cactus LLC’s business for the period from completion of our IPO until the CC Reorganization and relating to Cactus Companies’ business for periods after the CC Reorganization.
Redemptions of CC Units
Pursuant to the Cactus Companies LLC Agreement, holders of CC Units are entitled to redeem their CC Units, which results in additional Class A common stock outstanding. Since our IPO in February 2018, an aggregate of 46.5 million CC Units (including CW Units prior to the CC Reorganization) and a corresponding number of shares of Class B common stock have been redeemed in exchange for shares of Class A common stock.
During the three months ended March 31, 2024 and 2023, there were no redemptions of CC Units (or CW Units prior to the CC Reorganization).
Dividends
Aggregate cash dividends of $0.12 and $0.11 per share of Class A common stock were declared during the three months ended March 31, 2024 and 2023 totaling $8.0 million and $7.1 million, respectively. Cash dividends paid during the three months ended March 31, 2024 and 2023 totaled $8.1 million and $7.4 million, respectively. Dividends accrue on unvested equity-based awards on the date of record and are paid upon vesting. Dividends are not paid to our Class B common stockholders; however, a corresponding distribution up to the same amount per share as our Class A common stockholders is paid to the owners of CC Units other than Cactus Inc. for any dividends declared on our Class A common stock. See further discussion of the distributions below under “Member Distributions.”
Share Repurchase Program
On June 6, 2023, our board of directors authorized the Company to repurchase shares of its Class A common stock for an aggregate purchase price of up to $150 million. Under our share repurchase program, shares may be repurchased from time to time in open market transactions or block trades, in privately negotiated transactions or any other method permitted under U.S. securities laws, rules and regulations. The repurchase program does not obligate the Company to purchase any particular amount of shares, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. During the three months ended March 31, 2024, the Company purchased and retired 86,599 shares of Class A common stock for $3.4 million, or $38.92 average price per share excluding commissions, under the share repurchase program. As of March 31, 2024, $146.3 million remained authorized for future repurchases of Class A common stock under the program.
Member Distributions
Distributions made by Cactus Companies are generally required to be made pro rata among all its members. For the three months ended March 31, 2024, Cactus Companies distributed $7.8 million to Cactus Inc. to fund its dividend payments and made pro rata distributions to the other members totaling $1.7 million over the same period. During the three months ended March 31, 2023, Cactus Companies distributed $7.1 million to Cactus Inc. to fund its dividend payments and made pro rata distributions to the other members totaling $1.6 million.
Limitation of Members’ Liability
Under the terms of the Cactus Companies LLC Agreement, the members of Cactus Companies are not obligated for debt, liabilities, contracts or other obligations of Cactus Companies. Profits and losses are allocated to members as defined in the Cactus Companies LLC Agreement.
14


11.Commitments and Contingencies
We are involved in various disputes arising in the ordinary course of business. Management does not believe the outcome of these disputes will have a material adverse effect on our consolidated financial position or consolidated results of operations.
12.Fair Value Measurements
Authoritative guidance on fair value measurements provides a framework for measuring fair value and establishes a fair value hierarchy that prioritizes the inputs used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 inputs), observable inputs other than quoted prices in active markets (Level 2 inputs) and the lowest priority to unobservable inputs (Level 3 inputs).
The carrying value of cash and cash equivalents, receivables, accounts payable and accrued expenses approximates fair value based on the short-term nature of these accounts.
At March 31, 2024, due to the short-term nature of this account, the earn-out liability related to the FlexSteel acquisition (see Note 2) was determined based on the estimated future payments, utilizing projections for the second quarter of 2024. At December 31, 2023, the earn-out liability was measured at a fair value of $20.8 million using Level 3 unobservable inputs. The fair value at December 31, 2023 was determined based on the evaluation of the probability and amount of earn-out that may be achieved based on expected future performance of FlexSteel using a Monte Carlo simulation model. The Monte Carlo simulation model uses assumptions including revenue volatilities, risk free rates, credit discount rates and revenue discount rates. The following table sets forth the range of inputs for the significant assumptions utilized to determine the fair value as of December 31, 2023:
December 31, 2023
Risk-free interest rate5.40%to5.63%
Expected revenue volatility21.70%
Revenue discount rate10.02%to10.23%
Credit discount rate9.85%
The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:
Earn-out
Opening Balance$5,960 
Changes in fair value14,850 
Balance at December 31, 2023$20,810 
The fair value of our foreign currency forwards was less than $0.1 million as of March 31, 2024 and was determined using market observable inputs including forward and spot prices (Level 2 inputs).
13.Segment Reporting
We operate in two business segments that offer different products and services and correspond to the manner in which our chief operating decision maker reviews and evaluates operating performance to make decisions about resources to be allocated to each segment.
Our reporting segments are:
Pressure Control – engaged in the design, manufacture, sale, installation and service of wellhead and pressure control equipment utilized during the drilling, completion and production phases of oil and gas wells.
Spoolable Technologies – engaged in the design, manufacture, sale, installation, service and associated rental of onshore spoolable pipe technologies utilized for production, gathering and takeaway transportation of oil, gas or other liquids.
15


Financial information by business segment for three months ended March 31, 2024 and 2023 is summarized below.
Three Months Ended
March 31,
20242023
Revenue:
Pressure Control$175,028 $194,655 
Spoolable Technologies99,095 33,750 
Total revenues274,123 228,405 
Operating income:
Pressure Control51,675 63,171 
Spoolable Technologies16,393 249 
Total segment operating income68,068 63,420 
Corporate and other expenses (1)
(5,518)(13,732)
Total operating income62,550 49,688 
Interest income, net689 1,002 
Other income, net 3,538 
Income before income taxes$63,239 $54,228 
(1)Includes corporate and other costs not directly attributable to our reporting segments, such as corporate executive management and other administrative functions. These costs were previously included in the Pressure Control segment. The information for the three months ended March 31, 2023 has been recast to align with the presentation for the three months ended March 31, 2024.
14.Earnings per Share
Basic earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during the period by the weighted average number of shares of Class A common stock outstanding during the same period. Diluted earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during that period by the weighted average number of common shares outstanding assuming all potentially dilutive shares were issued.
We use the if-converted method to determine the potential dilutive effect of outstanding CC Units and corresponding shares of outstanding Class B common stock. We use the treasury stock method to determine the potential dilutive effect of unvested stock-based compensation awards assuming that the proceeds will be used to purchase shares of Class A common stock. For our unvested performance stock units, we first apply the criteria for contingently issuable shares before determining the potential dilutive effect using the treasury stock method.
16


The following table summarizes the basic and diluted earnings per share calculations:
Three Months Ended
March 31,
20242023
Numerator:
Net income attributable to Cactus Inc.—basic
$38,965 $42,894 
Net income attributable to non-controlling interest (1)
8,241 7,312 
Net income attributable to Cactus Inc.—diluted (1)
$47,206 $50,206 
Denominator:
Weighted average Class A shares outstanding—basic
65,378 63,740 
Effect of dilutive shares14,178 15,415 
Weighted average Class A shares outstanding—diluted79,556 79,155 
Earnings per Class A share—basic
$0.60 $0.67 
Earnings per Class A share—diluted (1)
$0.59 $0.63 
(1)The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the three months ended March 31, 2024 and 24.5% for the three months ended March 31, 2023.

17


Item 2.   Management’s Discussion and Analysis of Financial Condition and Results of Operations.
Except as otherwise indicated or required by the context, all references in this Quarterly Report to the “Company,” “Cactus,” “we,” “us” and “our” refer to Cactus, Inc. (“Cactus Inc.”) and its consolidated subsidiaries, unless we state otherwise or the context otherwise requires. The following discussion and analysis of our financial condition and results of operations should be read in conjunction with the accompanying unaudited condensed consolidated financial statements and related notes. The following discussion contains “forward-looking statements” that reflect our plans, estimates, beliefs and expected performance. Our actual results may differ materially from those anticipated as discussed in these forward-looking statements as a result of a variety of risks and uncertainties, which are difficult to predict, including those described above in “Cautionary Note Regarding Forward-Looking Statements,” and in the risk factors included in “Part I, Item 1A. Risk Factors” in our 2023 Annual Report. In light of these risks, uncertainties and assumptions, the forward-looking events discussed may not occur. We assume no obligation to update any of these forward-looking statements except as otherwise required by law.
Executive Summary
Cactus is an equipment solutions provider primarily for onshore oil and gas markets. Founded in 2011 by a management group that previously operated two of the largest wellhead providers at the time, Cactus has rapidly grown to be a leading provider of wellhead solutions to the U.S. onshore market. On February 28, 2023, Cactus acquired FlexSteel, which similarly grew from its founding in 2003 to its current status as a leading provider of spoolable pipe technologies primarily to the U.S. onshore market. We believe this acquisition enhances our position as a premier manufacturer and provider of highly engineered equipment to the exploration and production ("E&P") industry and should provide meaningful growth potential. We further believe FlexSteel’s products are highly complementary to Cactus’ equipment as it expands our exposure to our customers’ operations from production trees to transportation of oil, gas and other liquids as well as to additional customers operating in the midstream area.
Demand for our products and services depends primarily upon oil and gas industry activity levels, including the number of active drilling rigs, the number of wells being drilled, the number of wells being completed, and the volume of newly producing wells, among other factors.
Revenues
Our revenues are derived from three sources: products, rentals, and field service and other. Product revenues are derived from the sale of wellhead systems, production trees and spoolable pipe and fittings. Rental revenues are primarily derived from the rental of equipment used during the completion process, the repair of such equipment and the rental of equipment or tools used to install wellhead equipment or spoolable pipe. Field service and other revenues are primarily earned when we provide installation and other field services for both product sales and equipment rental.
During the three months ended March 31, 2024, we derived 76% of total revenues from the sale of our products, 8% of total revenues from rental and 16% of total revenues from field service and other. During the three months ended March 31, 2023, we derived 70% of total revenues from the sale of our products, 12% of total revenues from rental and 18% of total revenues from field service and other. We have predominantly domestic operations with more limited operations in Australia, Canada, and the Middle East as well as sales in other international markets.
We operate in two business segments consisting of the Pressure Control segment and the Spoolable Technologies segment.
Pressure Control
The Pressure Control segment designs, manufactures, sells and rents a range of wellhead and pressure control equipment under the Cactus Wellhead brand. Products are sold and rented principally for onshore unconventional oil and gas wells and are utilized during the drilling, completion and production phases of our customers’ wells. In addition, we provide field services for all of our products and rental items to assist with the installation, maintenance and handling of the equipment.
We operate through service centers in the United States, which are strategically located in the key oil and gas producing regions, and in Australia. These service centers support our field services and provide equipment assembly and repair services. We also provide rental and service operations in the Kingdom of Saudi Arabia. Pressure Control manufacturing and production facilities are located in Bossier City, Louisiana and Suzhou, China.
18


Demand for our product sales in the Pressure Control segment are driven primarily by the number of new wells drilled, as each new well requires a wellhead and, after the completion phase, a production tree. Demand for our rental items is driven primarily by the number of well completions as we rent frac trees to oil and gas operators to assist in hydraulic fracturing. Rental demand is also driven to a lesser extent by drilling activity as we rent tools used in the installation of wellheads. Field service and other revenues are closely correlated with revenues from product sales and rentals, as items sold or rented almost always have an associated service component.
Spoolable Technologies
The Spoolable Technologies segment designs, manufactures, and sells spoolable pipe and associated end fittings under the FlexSteel brand. Our customers use these products primarily as production, gathering and takeaway pipelines to transport oil, gas or other liquids. In addition, we also provide field services and rental items to assist our customers with the installation of these products. We support our field service operations through service centers and pipe yards located in oil and gas regions throughout the United States and Western Canada. Our manufacturing facility is located in Baytown, Texas.
Demand for our product sales in the Spoolable Technologies segment are driven primarily by the number of wells being placed into production after the completions phase as customers use our spoolable pipe and associated fittings to bring wells more rapidly onto production. Rental and field service and other revenues are closely correlated with revenues from product sales, as items sold usually have an associated rental and service component.
Recent Developments and Trends
FlexSteel Acquisition
As previously discussed, we completed the acquisition of FlexSteel on February 28, 2023. The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition. See Note 2 to the unaudited condensed consolidated financial statements for additional information related to the acquisition.
Oil and Natural Gas Prices
The following table summarizes average oil and natural gas prices in North America over the indicated periods as well as industry activity levels as reflected by the average number of active onshore drilling rigs during the same periods.
Three Months Ended
March 31, 2024December 31, 2023March 31, 2023
WTI Oil Price ($/bbl) (1)
$77.50 $78.53 $75.93 
Natural Gas Price ($/MMBtu) (2)
$2.15 $2.74 $2.64 
U.S. Land Drilling Rigs (3)
602600742
(1) EIA Cushing, OK WTI (“West Texas Intermediate”) spot price.
(2) EIA Henry Hub Natural Gas spot price per million British Thermal Unit (“MMBtu”).
(3) Baker Hughes.
In the first quarter of 2024, U.S. land drilling and completion activity levels were flat compared to the fourth quarter of 2023 and down approximately 10% from the 2023 full year average. Average oil prices also remained flat in the first quarter of 2024 compared to the fourth quarter of 2023 as prices remain elevated due to geopolitical risk concerns and continued strong global demand. Natural gas prices declined 22% in the first quarter of 2024 from the fourth quarter of 2023, as continued strong production and warmer weather have led to U.S. storage levels well above five-year average levels, despite announced activity reductions and curtailments from several U.S. gas producers. The ongoing conflicts in Ukraine and the Middle East have led to heightened commodity volatility and increased risk to our global supply chain. In recent weeks, risk of a broader Middle East conflict has increased, which could have broad impacts on the global economy and our business.
19


Pillar Two Framework
The Organization for Economic Cooperation and Development (“OECD”) enacted rules (“Pillar Two”) for a new, global minimum tax of at least 15% on income arising in low-tax jurisdictions. We are currently evaluating the potential impact this new legislation will have on our consolidated financial statements; however, based on current enacted Legislation, Management anticipates the impact of Pillar Two to be immaterial to the Company for 2024.
Critical Accounting Policies and Estimates
A discussion of our critical accounting policies and estimates is contained in our 2023 Annual Report on Form 10-K. There have not been any changes in our critical accounting policies since December 31, 2023.
Consolidated Results of Operations
The following discussions relating to significant line items from our condensed consolidated statements of income are based on available information and represent our analysis of significant changes or events that impact the comparability of reported amounts. Where appropriate, we have identified specific events and changes that affect comparability or trends and, where reasonably practicable, have quantified the impact of such items.
We have two operating segments consisting of the Pressure Control segment (legacy Cactus) and the Spoolable Technologies segment (FlexSteel). Our results of operations are evaluated by the Chief Executive Officer on a consolidated basis as well as at the segment level. The performance of our operating segments is primarily evaluated based on segment operating income (in addition to other measures), which is defined as income before taxes and before interest income (expense), net, other income (expense), net and corporate and other expenses not allocated to the operating segments. Corporate and other expenses were previously included in our Pressure Control segment. The Company has recast the information for the three months ended March 31, 2023 to align with the presentation for the three months ended March 31, 2024.
Three Months Ended March 31, 2024 Compared to Three Months Ended December 31, 2023

The following table presents summary consolidated operating results for the periods indicated:
Three Months Ended
March 31, 2024December 31, 2023$ Change% Change
(in thousands)
Revenues
Pressure Control$175,028 $180,454 $(5,426)(3.0)%
Spoolable Technologies99,095 94,412 4,683 5.0 
Total revenues274,123 274,866 (743)(0.3)
Operating income
Pressure Control51,675 56,053 (4,378)(7.8)
Spoolable Technologies16,393 28,168 (11,775)(41.8)
Total segment operating income68,068 84,221 (16,153)(19.2)
Corporate and other expenses(5,518)(5,668)150 (2.6)
Total operating income62,550 78,553 (16,003)(20.4)
Interest income (expense), net689 (182)871 nm
Other income, net— 686 (686)nm
Income before income taxes63,239 79,057 (15,818)(20.0)
Income tax expense13,424 16,983 (3,559)(21.0)
Net income49,815 62,074 (12,259)(19.7)
Less: net income attributable to non-controlling interest10,850 13,127 (2,277)(17.3)
Net income attributable to Cactus Inc.$38,965 $48,947 $(9,982)(20.4)%
nm = not meaningful
20


Pressure Control. Pressure Control revenue for the first quarter of 2024 was $175.0 million, a decrease of $5.4 million, or 3.0%, from $180.5 million for the fourth quarter of 2023 primarily due to decreased customer activity resulting in reduced sales of wellhead and production related equipment in addition to decreased rental activity. Pressure Control operating income of $51.7 million for the first quarter of 2024 decreased $4.4 million, or 7.8% from $56.1 million for the fourth quarter of 2023 primarily due to decreased equipment sales and rental activity, slightly offset by higher field service activity. Pressure Control selling, general and administrative expenses (“SG&A”) decreased $0.1 million from the fourth quarter primarily due to lower bad debt expense and professional fees, partially offset by higher stock-based compensation expense.
Spoolable Technologies. Spoolable Technologies revenue for the first quarter of 2024 was $99.1 million, an increase of $4.7 million, or 5.0% from $94.4 million for the fourth quarter of 2023. Total operating income for Spoolable Technologies for the first quarter of 2024 was $16.4 million, a decrease of $11.8 million, compared to operating income of $28.2 million for the fourth quarter of 2023. The decrease in operating income was primarily due to a $13.3 million loss related to the change in fair value of the earn-out payment for the FlexSteel acquisition in the first quarter of 2024 compared to a $1.9 million loss in the fourth quarter of 2023.
Corporate and other expenses. Corporate and other expenses for the first quarter of 2024 was $5.5 million, a decrease of $0.2 million, or 2.6% from $5.7 million for the fourth quarter of 2023. The decrease was primarily due to lower stock-based compensation expense.
Interest income (expense), net. Interest income, net was $0.7 million for the first quarter of 2024 compared to interest expense, net of $0.2 million for the fourth quarter of 2023. The increase in interest income, net was primarily due to higher interest income earned on a higher invested cash balance.
Other income, net. Other income, net of $0.7 million for the fourth quarter of 2023 represented non-cash adjustments for the revaluation of the liability related to the tax receivable agreement.
Income tax expense. Income tax expense for the first quarter of 2024 was $13.4 million compared to $17.0 million for the fourth quarter of 2023. The decrease in income tax expense from the fourth quarter was primarily due to a decrease in operating income quarter over quarter. Cactus Inc. is only subject to federal and state income tax on its share of income from Cactus Companies. Income allocated to the non-controlling interest is only taxable to the non-controlling interest.
21


Three Months Ended March 31, 2024 Compared to Three Months Ended March 31, 2023

The following table presents summary consolidated operating results for the periods indicated:
Three Months Ended
March 31,
20242023$ Change% Change
(in thousands)
Revenues
Pressure Control$175,028 $194,655 $(19,627)(10.1)%
Spoolable Technologies99,095 33,750 65,345 nm
Total revenues274,123 228,405 45,718 20.0 
Operating income
Pressure Control51,675 63,171 (11,496)(18.2)
Spoolable Technologies16,393 249 16,144 nm
Total segment operating income68,068 63,420 4,648 7.3 
Corporate and other expenses(5,518)(13,732)8,214 (59.8)
Total operating income62,550 49,688 12,862 25.9 
Interest income, net689 1,002 (313)(31.2)
Other income, net— 3,538 (3,538)nm
Income before income taxes63,239 54,228 9,011 16.6 
Income tax expense13,424 1,940 11,484 nm
Net income49,815 52,288 (2,473)(4.7)
Less: net income attributable to non-controlling interest10,850 9,394 1,456 15.5 
Net income attributable to Cactus Inc.$38,965 $42,894 $(3,929)(9.2)%
nm = not meaningful
Pressure Control. Pressure Control revenue was $175.0 million for the first quarter of 2024, a decrease of $19.6 million, or 10.1%, from $194.7 million for the first quarter of 2023. This was primarily due to decreased sales of wellhead and production related equipment resulting from lower drilling and completion activity by our customers. In addition, rental of drilling and completion equipment and field service associated with product and rental revenues decreased as a result of the abovementioned decline in activity. Operating income of $51.7 million in the first quarter of 2024 decreased $11.5 million, or 18.2%, from $63.2 million in the first quarter of 2023. The decrease was primarily attributable to lower gross margins during the period due to the decreased activity levels and higher SG&A expenses. The increase in SG&A expenses primarily related to higher personnel costs, bad debt expense and stock-based compensation expense.
Spoolable Technologies. Spoolable Technologies revenue for the first quarter of 2024 was $99.1 million, an increase of $65.3 million from $33.8 million for the first quarter of 2023, as results for the first quarter of 2023 only included one month of revenues (from the FlexSteel acquisition date of February 28, 2023). Total operating income was $16.4 million in the first quarter 2024, an increase of $16.1 million, compared to $0.2 million in the first quarter of 2023, which included only one month of income. Operating income in the first quarter of 2024 included a loss of $13.3 million related to the change in fair value of the earn-out payment. Operating income for the first quarter of 2023 included $4.2 million of inventory step-up expense and $3.7 million of intangible amortization expense as well as increased depreciation for the step-up of its fixed assets in connection with accounting for the purchased assets at fair value in conjunction with purchase accounting.
Corporate and other expenses. Corporate and other expenses for the first quarter of 2024 was $5.5 million, a decrease of $8.2 million, or 59.8% from $13.7 million for the first quarter of 2023. The decrease was largely attributable to lower professional fees related to transaction costs associated with the closing of and accounting for the FlexSteel acquisition.
Interest income, net. Interest income, net for the first quarter of 2024 of $0.7 million decreased $0.3 million from the first quarter of 2023 primarily due to lower interest income earned on lower cash invested during the period.
Other income, net. Other income, net for 2023 related to non-cash adjustments for the revaluation of the liability related to the tax receivable agreement as a result of changes to the state tax rate.
22


Income tax expense. Income tax expense for the first quarter of 2024 was $13.4 million compared to $1.9 million for the first quarter of 2023. The increase in income tax expense from the first quarter of 2023 was primarily due to an increase in operating income during the first quarter of 2024 and fewer reductions in income tax expense for items specific to the first quarter of 2023. Income tax expense for the first quarter of 2023 included $11.0 million of expense associated with current income offset by a $12.1 million benefit associated with the release of our valuation allowance previously provided for our investment in Cactus Companies based on the determination that the deferred tax asset was realizable due to our ability to generate sufficient taxable income of the appropriate type. Additionally, we recognized $4.3 million of expense associated with the revaluation of our deferred tax asset as a result of a change in our forecasted state tax rate and a $1.3 million benefit associated with permanent differences related to equity compensation.
Liquidity and Capital Resources
At March 31, 2024, we had $194.3 million of cash and cash equivalents. Our primary sources of liquidity and capital resources are cash on hand, cash flows generated by operating activities and borrowings under our Amended ABL Credit Facility (as defined in Note 7 in the notes to the unaudited condensed consolidated financial statements). Depending upon market conditions and other factors, we may also have the ability to issue additional equity and debt if needed. As of March 31, 2024, we had $216.7 million of available borrowing capacity under our Amended ABL Credit Facility with no outstanding borrowings and $1.1 million in letters of credit outstanding. We were in compliance with the covenants of the Amended ABL Credit Facility as of March 31, 2024.
In June 2023, our board of directors authorized the Company to repurchase shares of its Class A common stock for an aggregate purchase price of up to $150 million. Under our share repurchase program, shares may be repurchased from time to time in open market transactions or block trades, in privately negotiated transactions or any other method permitted under U.S. securities laws, rules and regulations. The repurchase program does not obligate the Company to purchase any particular amount of shares, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion.
We believe that our existing cash on hand, cash generated from operations and available borrowings under our Amended ABL Credit Facility will be sufficient for at least the next 12 months to meet working capital requirements, debt service obligations, anticipated capital expenditures, repurchases of shares of our Class A common stock, expected TRA liability payments, anticipated tax liabilities and dividends to holders of our Class A common stock as well as pro rata cash distributions to holders of CC Units other than Cactus Inc.
We currently estimate our net capital expenditures for the year ending December 31, 2024 will range from $45 million to $55 million. In the Pressure Control segment, capital expenditures are primarily related to rental fleet investments, international expansion, diversification of our low cost supply chain and development of a research and development facility in Houston, Texas. In the Spoolable Technologies segment, capital expenditures are primarily related to manufacturing plant enhancements and additional deployment equipment used for product installation.
Our ability to satisfy our long-term liquidity requirements, including cash requirements to fund income tax liabilities and the TRA liability at Cactus Inc. along with associated distributions to holders of CC Units relating to their ownership of Cactus Companies, depends on our future operating performance, which is affected by, and subject to, prevailing economic conditions, market conditions in the E&P industry, availability and cost of raw materials, and financial, business and other factors, many of which are beyond our control. We will not be able to predict or control many of these factors, such as economic conditions in the markets where we operate and competitive pressures. If necessary, we could choose to further reduce our spending on capital expenditures and operating expenses to ensure we operate within the cash flow generated from our operations.
23


Cash Flows
Three Months Ended March 31, 2024 Compared to Three Months Ended March 31, 2023
The following table summarizes our cash flows for the periods indicated:
Three Months Ended
March 31,
20242023
(in thousands)
Net cash provided by operating activities$86,263 $60,462 
Net cash used in investing activities(6,808)(633,152)
Net cash provided by (used in) financing activities(20,127)303,163 
Net cash provided by operating activities was $86.3 million and $60.5 million for the three months ended March 31, 2024 and 2023, respectively. Operating cash flows for 2024 increased primarily due to a decrease in cash outflows associated with working capital.
Net cash used in investing activities was $6.8 million and $633.2 million for the three months ended March 31, 2024 and 2023, respectively. The decrease was primarily due to cash paid to acquire FlexSteel for $621.5 million less $5.3 million in cash acquired during the first quarter of 2023. Additionally, our capital expenditures decreased approximately $8.0 million primarily due to the $7.0 million purchase of a previously leased facility during the first quarter of 2023.
Net cash used in financing activities was $20.1 million for the three months ended March 31, 2024 as compared to net cash provided by financing activities of $303.2 million for the three months ended March 31, 2023. The decrease in net cash provided by financing activities was primarily related to certain financing activities in 2023 associated with the FlexSteel acquisition. We received approximately $169.9 million of proceeds, net of issuance costs, from issuing shares of our Class A common stock during 2023. Additionally, we received $155.0 million from total borrowings under our Amended ABL Credit Facility of which all $155.0 million has been repaid. The first quarter of 2023 included payments of approximately $6.7 million of debt issuance costs. The first quarter of 2024 includes a $3.9 million increase in share repurchases primarily associated with the Company's share repurchase program.
Item 3.   Quantitative and Qualitative Disclosures About Market Risk.
For quantitative and qualitative disclosures about market risk, see Part II, Item 7A., “Quantitative and Qualitative Disclosures about Market Risk,” in our 2023 Annual Report. Our exposure to market risk has not changed materially since December 31, 2023.
Item 4.   Controls and Procedures.
Evaluation of Disclosure Controls and Procedures
In accordance with Exchange Act Rules 13a-15 and 15d-15, we have evaluated, under the supervision and with the participation of our management, including our principal executive officer and principal financial officer, the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act) as of the period covered by this report. Our disclosure controls and procedures are designed to provide reasonable assurance that the information required to be disclosed by us in reports that we file or submit under the Exchange Act is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure and is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the Securities and Exchange Commission ("SEC"). Based upon that evaluation, our principal executive officer and principal financial officer concluded that our disclosure controls and procedures were effective as of March 31, 2024 at the reasonable assurance level.
Changes in Internal Control over Financial Reporting
There were no changes in our internal control over financial reporting that occurred during the first quarter of 2024 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.
24


PART II - OTHER INFORMATION
Item 1. Legal Proceedings.
We are party to lawsuits arising in the ordinary course of our business. We cannot predict the outcome of any such lawsuits with certainty, but management believes it is unlikely that pending or threatened legal matters will have a material adverse impact on our financial condition.
Due to the nature of our business, we are, from time to time, involved in other routine litigation or subject to disputes or claims related to our business activities, including workers’ compensation claims and employment related disputes. In the opinion of our management, none of these, whether pending litigation, disputes or claims against us, if decided adversely, will have a material adverse effect on our results of operations, financial condition or cash flows.
Item 1A.   Risk Factors.
In addition to the information set forth in this Quarterly Report, you should carefully consider the risk factors and other cautionary statements described under the heading “Item 1A. Risk Factors” included in our 2023 Annual Report and the risk factors and other cautionary statements contained in our other filings with the SEC, which could materially affect our business, results of operations, financial condition or cash flows. Additional risks and uncertainties not currently known to us or that we currently deem to be immaterial also may materially adversely affect our business, results of operations, financial condition or cash flows. There have been no material changes in our risk factors from those described in our 2023 Annual Report or our other SEC filings.
Item 2.   Unregistered Sales of Equity Securities and Use of Proceeds.
Issuer Purchases of Equity Securities
The following sets forth information with respect to our repurchases of Class A common stock during the three months ended March 31, 2024 (in whole shares). Included below are 86,599 shares purchased in the open market pursuant to a share repurchase program and 105,180 shares repurchased from employees to satisfy tax withholding obligations related to restricted stock units that vested during the period.
PeriodTotal number of shares purchased
Weighted-average price paid per share (1)
Total number of shares purchased as part of publicly announced plans or programs (3)
Maximum dollar value of shares that may yet be purchased under the plans or programs (3)
January 1-31, 202486,599 
38.92 (1)
86,599 $146,302,153 
February 1-29, 2024— $— — $— 
March 1-31, 2024105,180 
46.57 (2)
— $— 
Total191,779 $43.12 86,599 $146,302,153 
(1)The average price paid per share of $38.92 relates to the 86,599 shares purchased in the open market and was calculated excluding commissions.
(2)Average price paid for Class A common stock purchased from employees to satisfy tax withholding obligations related to restricted stock and performance stock units that vested during the period.
(3)In June 2023, our board of directors authorized the Company to repurchase shares of its Class A common stock for an aggregate purchase price of up to $150 million. Purchases were made under terms intended to qualify for exemption under Rules 10b-18 and 10b5-1.
Item 5.   Other Information.
During the three months ended March 31, 2024, no director or officer (as defined in Rule 16a-1(f) of the Exchange Act) of Cactus, Inc. adopted or terminated a “Rule 10b5-1 trading arrangement” or “non-Rule 10b5-1 trading arrangement,” as each term is defined in Item 408(a) of Regulation S-K.
25


Item 6.   Exhibits.
The following exhibits are required by Item 601 of Regulation S-K and are filed as part of this report.
Exhibit No.Description
3.1
3.2
10.1*
31.1*
31.2*
32.1**
32.2**
101.INS*Inline XBRL Instance Document – the instance document does not appear in the Interactive Data File because XBRL tags are embedded within the Inline XBRL document
101.SCH*Inline XBRL Taxonomy Extension Schema Document
101.CAL*Inline XBRL Taxonomy Calculation Linkbase Document
101.LAB*Inline XBRL Taxonomy Label Linkbase Document
101.PRE*Inline XBRL Taxonomy Presentation Linkbase Document
101.DEF*Inline XBRL Taxonomy Definition Document
104Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)
*    Filed herewith.
**    Furnished herewith.

26


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.
Cactus, Inc.
May 2, 2024By:/s/ Scott Bender
Date
Scott Bender
Chief Executive Officer, Chairman of the Board and Director
(Principal Executive Officer)
May 2, 2024By:/s/ Alan Keifer
Date
Alan Keifer
Interim Chief Financial Officer
(Principal Financial Officer)
27
EX-10.1 2 a20240331-exhibit101.htm EX-10.1 Document
Exhibit 10.1
FIRST AMENDMENT TO TAX RECEIVABLE AGREEMENT
This FIRST AMENDMENT TO TAX RECEIVABLE AGREEMENT, ("Amendment") is made effective February 29, 2024 by and among Cactus, Inc., a Delaware corporation (the "Corporate Taxpayer''), the TRA Holders identified on the signature pages to this Amendment (the "Consenting TRA Holders") and the Agent.
RECITALS
WHEREAS, as of January 29, 2018 and effective as of the date of the initial closing of the IPO, the Corporate Taxpayer, the TRA Holders and the Agent entered into a Tax Receivable Agreement (the ''TRA"); and,
WHEREAS, on approximately February 27, 2023, Cactus Companies, LLC ("Cactus Companies"), a wholly-owned subsidiary of Corporate Taxpayer, formed on February 6, 2023, acquired all of the outstanding units representing ownership interests in Cactus LLC, in exchange for an equal number of units representing limited liability company interests in Cactus Companies ("CC Units") issued to each of the previous owners of CW Units (the "CC Reorganization"). Corporate Taxpayer is a holding company whose only material asset is a direct and indirect equity interest in CC Units following the completion of the CC Reorganization (which were CW Units from the IPO until the CC Reorganization). Corporate Taxpayer was the sole managing member of Cactus LLC upon completion of the IPO until the CC Reorganization and became the sole managing member of Cactus Companies upon completion of the CC Reorganization; and
WHEREAS, Consenting TRA Holders are the Majority TRA Holders as of the date of this Amendment; and
WHEREAS, the parties to this Amendment desire to amend the TRA in accordance with Section
7.7 of the TRA.
TERMS OF AMENDMENT
NOW, THEREFORE, for and in consideration of the premises and other good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, Corporate Taxpayer, the Consenting TRA Holders and the Agent hereby agree to make the following amendments to the TRA:


1.Defined Terms. All terms with an initial Capital letter that are not otherwise defined in this Amendment when used in this Amendment, including in the recitals to this Amendment, shall have the meaning assigned to such term in the TRA. The following defined terms shall have the meaning ascribed below:
"CME Term SOFR" means, during any period, an interest rate per annum equal to the CME Term SOFR Reference Rates for a 12-month tenor, as published by the CME Term SOFR Administrator at approximately 5:00 a.m. U.S. Central Standard Time on the date two (2) calendar days prior to the first day of such period, plus 71.513 basis points.



"CME Term SOFR Administrator'' means CME Group Benchmark Administration limited as administrator of the forward-looking term Secured Overnight Financing Rate (SOFR) (or a successor administrator).
2.CME Term SOFR. All references in the TRA to LIBOR shall be deemed to be a reference to CME Term SOFR. All calculations made under TRA with respect to periods after June 30, 2023 shall use CME Term SOFR in place of LIBOR.

3.Cactus Companies. Effective as of February 27, 2023, all references in the TRA to Cactus LLC shall be deemed to be a reference to Cactus Companies.

4.Ratification. Except as otherwise set forth herein, all terms and conditions contained in the TRA shall remain in full force and effect. The TRA, as amended by this Amendment, is hereby ratified and confirmed by the parties to this Amendment.
5.Entire Agreement. This Amendment and the TRA constitutes the entire agreement of the parties to the TRA with respect to the matters covered by the TRA.
6.    Counterparts. This Amendment may be executed in any number of counterparts, each of which shall be an original, but all of which shall together constitute but one Amendment. This Amendment may be executed electronically by PDF and each party has the right to rely upon an electronic PDF counterpart of this Amendment signed by the other party to the same extent as if such party had received an original counterpart.
EXECUTED as of the date first written above, in multiple counterparts, each of which shall have the full force and effect of an original.
CORPORATE TAXPAYER

CACTUS, INC.

By:     /s/ Scott Bender                
Name:    Scott Bender
Title:    CEO
Date:     March 22, 2024

AGENT

CADENT MANAGEMENT SERVICES, LLC

By:     /s/ Paul G. McDermott            
Name:    Paul G. McDermott
Title:    Managing Member




CONSENTING TRA HOLDERS

CADENT ENERGY PARTNERS II, L.P.

By: Cadent Energy Partners II GP, L.P.,
its general partner

By: CEP II GP, LLC, its general Partner

By:     /s/ Paul G. McDermott        
Name:    Paul G. McDermott
Title:    Managing Member

BENDER INVESTMENT COMPANY

By:     /s/ Scott Bender                
Name:    Scott Bender
Title:    President

CACTUS WH ENTERPRISES, LLC

By:     /s/ Scott Bender                
Name:    Scott Bender
Title:    President

EX-31.1 3 whd-2024033124xex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER
PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Scott Bender, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Cactus, Inc. (the “registrant”); 
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(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have: 
(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(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions): 
(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 2, 2024/s/ Scott Bender
Scott Bender
Chief Executive Officer, Chairman of the Board and
Director
(Principal Executive Officer)

EX-31.2 4 whd-20240331xex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER
PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Alan Keifer, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Cactus, Inc. (the “registrant”); 
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(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have: 
(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(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions): 
(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 2, 2024/s/ Alan Keifer
Alan Keifer
Interim Chief Financial Officer
(Principal Financial Officer)

EX-32.1 5 whd-2024033124xex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION OF CHIEF EXECUTIVE OFFICER
PURSUANT TO 18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
This certification is provided pursuant to § 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. § 1350, and accompanies the Quarterly Report on Form 10-Q for the period ended March 31, 2024 of Cactus, Inc. (the “Company”) as filed with the Securities and Exchange Commission on the date hereof (the “Report”).
I, Scott Bender, Chief Executive Officer, Chairman of the Board and Director of the Company, certify 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 results of operations of the Company.
Date: May 2, 2024/s/ Scott Bender
Scott Bender
Chief Executive Officer, Chairman of the Board and Director
(Principal Executive Officer)

EX-32.2 6 whd-2024033124xex322.htm EX-32.2 Document

Exhibit 32.2
CERTIFICATION OF CHIEF FINANCIAL OFFICER
PURSUANT TO 18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
This certification is provided pursuant to § 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. § 1350, and accompanies the Quarterly Report on Form 10-Q for the period ended March 31, 2024 of Cactus, Inc. (the “Company”) as filed with the Securities and Exchange Commission on the date hereof (the “Report”).
I, Alan Keifer, Interim Chief Financial Officer of the Company, certify 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 results of operations of the Company.
Date: May 2, 2024/s/ Alan Keifer
Alan Keifer
Interim Chief Financial Officer
(Principal Financial Officer)

EX-101.SCH 7 whd-20240331.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000008 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Preparation of Interim Financial Statements and Other Items link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - FlexSteel Acquisition link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Accounts Receivable and Allowance for Credit Losses link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Inventories link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Property and Equipment, net link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Other Intangible Assets link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Tax Receivable Agreement ("TRA") link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Equity link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Segment Reporting link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Earnings per Share link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Preparation of Interim Financial Statements and Other Items (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - FlexSteel Acquisition (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Inventories (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Property and Equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Other Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Segment Reporting (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Earnings per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Preparation of Interim Financial Statements and Other Items (Details) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - FlexSteel Acquisition - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - FlexSteel Acquisition - Summary of Purchase Price Consideration (Details) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - FlexSteel Acquisition - Summary of Unadited Proforma Results (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Other Intangible Assets - Summary of Total Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Other Intangible Assets - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Other Intangible Assets - Summary of Future Amortization (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Debt - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Revenue - Schedule of Revenues Disaggregated by Category (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Revenue - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Tax Receivable Agreement ("TRA") (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Equity (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Fair Value Measurements - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Segment Reporting - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Segment Reporting - Summarized Financial Information by Segment (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Earnings per Share (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 8 whd-20240331_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 9 whd-20240331_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 10 whd-20240331_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Consolidated Entities [Axis] Consolidated Entities [Axis] Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Changes in fair value Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings Variable Rate [Domain] Variable Rate [Domain] Less: net income attributable to non-controlling interest Net Income (Loss) Attributable to Noncontrolling Interest Pay vs Performance Disclosure [Line Items] Computers and software Computer And Software [Member] Represents the information pertaining to Computer and Software. Accrued expenses and other current liabilities Accrued Liabilities, Current Range [Domain] Statistical Measurement [Domain] Borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Cash and cash equivalents Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents All Award Types Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Debt Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Cash consideration Payments to Acquire Businesses, Gross Summary of Preliminary Purchase Price Allocation Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] Additional commitments Line of Credit Facility, Accordian Feature Line of Credit Facility, Accordian Feature ABL Credit Facility Revolving Credit Facility [Member] Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Deferred tax liability, net Deferred Income Tax Liabilities, Net MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items] Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items] Revenue as a percentage Revenue As A Percentage Revenue as a percentage Segment Reporting [Abstract] Accounts payable Accounts Payable, Current Accounts payable Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable Restatement Determination Date: Restatement Determination Date [Axis] Schedule of Rollforward of Allowance for Credit Losses Financing Receivable, Current, Allowance for Credit Loss [Table Text Block] Commitments and contingencies Commitments and Contingencies Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Current portion of liability related to tax receivable agreement Tax Receivable Agreement Liability Current Amount of liability under tax receivable agreement classified as current. Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Equity Equity [Text Block] Net proceeds from the issuance of Class A common stock Proceeds from Issuance of Common Stock Inventory obsolescence Inventory Write-down Leverage ratio Debt Instrument, Covenant, Leverage Ratio, Maximum Debt Instrument, Covenant, Leverage Ratio, Maximum allowed Ownership [Axis] Ownership [Axis] Gross property and equipment Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Property and equipment Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment Current liabilities Liabilities, Current [Abstract] Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Preferred stock, $0.01 par value, 10,000 shares authorized, none issued and outstanding Preferred Stock, Value, Issued Business Acquisition [Line Items] Business Acquisition [Line Items] Cash dividends declared Dividends, Cash Summary of inventories Inventory, Net [Abstract] Dividends paid to Class A common stock shareholders Payments of Ordinary Dividends, Common Stock Operating lease liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities Earnings per Class A share - diluted (in dollars per share) Earnings Per Share, Diluted PEO Total Compensation Amount PEO Total Compensation Amount Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Accounts receivable, net of allowance of $3,803 and $3,642, respectively Accounts Receivable, after Allowance for Credit Loss, Current Foreign currency forwards Foreign Currency Contracts, Liability, Fair Value Disclosure Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Fair Value, Inputs, Level 3 Fair Value, Inputs, Level 3 [Member] Line of Credit Line of Credit [Member] FlexSteel FlexSteel [Member] Noncurrent assets Assets, Noncurrent [Abstract] Buildings and improvements Building and Building Improvements [Member] Trading Symbol Trading Symbol Letters of credit outstanding Letters of Credit Outstanding, Amount Fixed charge coverage ratio Debt Instrument, Fixed Charge Coverage Ratio The fixed charge coverage ratio to be maintained under the debt instrument agreement based on the ratio of EBITDA minus Unfinanced Capital Expenditures to Fixed Charges. Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Net income attributable to Cactus Inc. Net Income (Loss) Net Income (Loss) Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Five Total current liabilities Liabilities, Current Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member] Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Machinery and equipment Machinery and Equipment [Member] Property and equipment, net Total property and equipment, net Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization Accrued expenses and other current liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other Liabilities and Equity Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Operating lease right-of-use assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right Of Use Assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right Of Use Assets Share repurchases Share repurchases Stock Repurchased During Period, Value Stockholders’ equity Equity, Attributable to Parent [Abstract] Inventories Total inventory Inventory, Gross Schedule of Basic and Diluted Earnings per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Cost of revenue Cost of Goods and Services Sold Vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Proceeds from sales of assets Proceeds from Sale of Productive Assets Executive Category: Executive Category [Axis] Class B Common Stock Common Class B [Member] Name Measure Name Name Forgone Recovery, Individual Name Goodwill Goodwill Schedule of Property and Equipment Net Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business 2028 Finite-Lived Intangible Asset, Expected Amortization, Year Four Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Letters of credit Letter of Credit [Member] Subsidiaries Subsidiaries [Member] Cash dividend declared (in dollars per share) Common Stock, Dividends, Per Share, Declared Operating lease liabilities, net of current portion Operating Lease, Liability, Noncurrent Accounts payable Increase (Decrease) in Accounts Payable, Trade Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Underwriting discounts Payments of Stock Issuance Costs Fair Value Measurement Inputs and Valuation Techniques [Table] Fair Value Measurement Inputs and Valuation Techniques [Table] Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] Summary of Purchase Price Consideration Schedule of Business Acquisitions, by Acquisition [Table Text Block] Spoolable Technologies Spoolable Technologies [Member] Costs associated with stock issuance Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs Shares sold (in shares) Sale of Stock, Number of Shares Issued in Transaction Risk-free interest rate Measurement Input, Risk Free Interest Rate [Member] Product and Service [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Inventories Increase (Decrease) in Inventories Accrued expenses and other liabilities Increase (Decrease) in Other Accounts Payable and Accrued Liabilities Cash flows from investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Cactus Inc Cactus Inc [Member] Represents the information pertaining to Cactus Inc. Liability related to tax receivable agreement, net of current portion Tax Receivable Agreement, Liability Non Current Amount of liability under tax receivable agreement classified as non current. Award Type Award Type [Axis] Costs and expenses Cost of Goods and Services Sold [Abstract] Document Quarterly Report Document Quarterly Report Non-cash investing and financing activities: Noncash Investing and Financing Items [Abstract] Share Repurchase Program Share Repurchase Program [Member] Share Repurchase Program Property and equipment in accounts payable Capital Expenditures Incurred but Not yet Paid Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Gross property and equipment Property, Plant and Equipment, Gross Right-of-use assets obtained in exchange for new lease obligations Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Remainder of 2024 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Accounts Receivable, Allowance for Credit Loss [Roll Forward] Accounts Receivable, Allowance for Credit Loss [Roll Forward] Trading Arrangement: Trading Arrangement [Axis] Measurement inputs Business Combination, Contingent Consideration, Liability, Measurement Input Use of Estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Long-term Debt, Type [Domain] Long-Term Debt, Type [Domain] Entity File Number Entity File Number Revenue discount rate Measurement Input, Discount Rate [Member] Operating lease liabilities, current portion Operating Lease, Liability, Current Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Amortization of intangible assets Amortization of Intangible Assets Entity Shell Company Entity Shell Company Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Net Cost Finite-Lived Intangible Assets, Net Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Recent Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Restatement Determination Date Restatement Determination Date Unbilled revenue Unbilled Receivables, Current Average stock repurchased price (in dollars per share) Shares Acquired, Average Cost Per Share Counterparty Name [Domain] Counterparty Name [Domain] Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Organization and Nature of Operations [Table] Organization and Nature of Operations [Table] A table or schedule providing information pertaining to organization and nature of operations. Tax Receivable Agreement ("TRA") Tax Receivable Agreement Disclosure [Text Block] The entire disclosure for the tax receivable agreement. Price of stock (in dollars per share) Sale of Stock, Price Per Share Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Denominator: Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Common stock, shares issued (in shares) Common Stock, Shares, Issued Fair value of consideration transferred Business Combination, Consideration Transferred Gain from revaluation of liability related to tax receivable agreement Tax Receivable Agreement, Gain (Loss) on Revaluation of Liability Tax Receivable Agreement, Gain (Loss) on Revaluation of Liability Deferred revenue Contract with Customer, Liability, Current Commitment fee Line of Credit Facility, Commitment Fee Percentage Security Exchange Name Security Exchange Name Debt outstanding Long-Term Debt Cash consideration Sale of Stock, Consideration Received on Transaction Selling, general and administrative expenses Selling, General and Administrative Expense Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Employee Stock Option Employee Stock Option [Member] Class A Common Stock Common Class A [Member] Maximum Maximum [Member] Comprehensive income attributable to Cactus Inc. Comprehensive Income (Loss), Net of Tax, Attributable to Parent Document Type Document Type Contract Balances Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract] Tabular List, Table Tabular List [Table Text Block] Entity Address, Address Line One Entity Address, Address Line One Net property and equipment Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Before Construction in Progress Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Before Construction in Progress Cash distributions to unit holders Distribution Made to Limited Partner, Cash Distributions Paid Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Business Acquisition [Axis] Business Acquisition [Axis] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Allowance for accounts receivable Accounts Receivable, Allowance for Credit Loss, Current Net income attributable to non-controlling interest Net Income (Loss) Attributable to Redeemable Noncontrolling Interest Cactus LLC Cactus LLC [Member] Cactus LLC Summary of Total Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Variable Rate [Axis] Variable Rate [Axis] Income Statement [Abstract] Income Statement [Abstract] Issuance of common stock (in shares) Stock Issued During Period, Shares, New Issues Title of 12(b) Security Title of 12(b) Security Shares outstanding, percentage of total voting power Common Stock, Voting Rights, Percentage Common Stock, Voting Rights, Percentage Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Accounts Receivable Accounts and Financing Receivable, after Allowance for Credit Loss, Current [Abstract] FlexSteel Acquisition Business Combination Disclosure [Text Block] Number of business segments Number Of Business Segments Number Of Business Segments Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Net Income attributable to Cactus, Inc. Business Acquisition, Pro Forma Net Income (Loss) Operating Segments Operating Segments [Member] Numerator: Net Income (Loss) Attributable to Parent [Abstract] Equity award vestings Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture Equity Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Entity Tax Identification Number Entity Tax Identification Number Statistical Measurement [Axis] Statistical Measurement [Axis] Land Land [Member] Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Other noncurrent assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets Total Shareholder Return Amount Total Shareholder Return Amount Repurchases of shares Payments for Repurchase of Common Stock Product revenue Product [Member] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Segments [Domain] Segments [Domain] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Consolidation Items [Domain] Consolidation Items [Domain] Retained earnings Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Face amount Debt Instrument, Face Amount Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets Assets, Current [Abstract] Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Counterparty Name [Axis] Counterparty Name [Axis] Identifiable Intangible Assets Acquired Identifiable Intangible Assets Acquired [Member] Identifiable Intangible Assets Acquired Rental revenue Rental Revenue [Member] Represents the rental revenue. Cash flows from operating activities Net Cash Provided by (Used in) Operating Activities [Abstract] 2025 Finite-Lived Intangible Asset, Expected Amortization, Year One Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding PEO PEO [Member] Balance at the beginning of the period (in shares) Balance at the end of the period (in shares) Shares, Outstanding Net income Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Sale of Stock [Axis] Sale of Stock [Axis] Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Class of Stock [Domain] Class of Stock [Domain] Schedule of Inventories Schedule of Inventory, Current [Table Text Block] Debt Instrument [Axis] Debt Instrument [Axis] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Measurement Input Type [Domain] Measurement Input Type [Domain] Credit Facility [Axis] Credit Facility [Axis] Total liabilities Liabilities Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Inventories Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Income (Loss) AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Credit discount rate Credit Discount Rate [Member] Credit Discount Rate Property and Equipment, net Property, Plant and Equipment Disclosure [Text Block] All Executive Categories All Executive Categories [Member] Noncurrent liabilities Liabilities, Noncurrent [Abstract] Title of Individual [Axis] Title of Individual [Axis] Net income attributable to Cactus Inc. - diluted Net Income Loss Including Portion Attributable To Redeemable Noncontrolling Interest Amount of net income (loss) for the period including the portion attributable to the redeemable non-controlling interest. Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Debt Disclosure [Abstract] Debt Disclosure [Abstract] Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Number of reporting segments Number of Reportable Segments Amended ABL Credit Facility Amended ABL Credit Facility [Member] Amended ABL Credit Facility Earnings per share and weighted average shares outstanding Earnings Per Share [Abstract] Common stock, $0.01 par value Common Stock, Value, Issued Translation Adjustments Accounts Receivable, Allowance for Credit Losses, Other Accounts Receivable, Allowance for Credit Losses, Other Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Tradename Trade Names [Member] Cactus LLC Cactus Wellhead Llc And Its Subsidiaries [Member] Represents information pertaining to Cactus Wellhead, LLC. Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Ownership interest Limited Liability Company or Limited Partnership, Members or Limited Partners, Ownership Interest Total current assets Assets, Current Payments on finance leases Finance Lease, Principal Payments Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Supplemental disclosure of cash flow information Supplemental Cash Flow Information [Abstract] Organization and Nature of Operations Organization and Nature of Operations [Line Items] "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. " Other income, net Other income, net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Shares owned per units held (in shares) Common Stock, Owned, Per Existing Unit Common Stock, Owned, Per Existing Unit Cactus Companies Cactus Companies [Member] Cactus Companies Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Authorized amount of stock repurchase Stock Repurchase Program, Authorized Amount Share repurchases (in shares) Stock Repurchased During Period, Shares PEO Name PEO Name Liability value Opening Balance Balance at December 31, 2023 Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Base Rate Base Rate [Member] 2029 Finite-Lived Intangible Asset, Expected Amortization, Year Five Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Summary of Future Amortization Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Earn-out liability Business Combination, Contingent Consideration, Liability, Current Class of Stock [Axis] Class of Stock [Axis] Statement [Table] Entities [Table] Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Cactus Companies LLC Agreement CC Units Redeemed For Class Common Stock [Member] CC Units Redeemed For Class A Common Stock (CW Units Prior To CC Reorganization) Corporate, Non-Segment Corporate, Non-Segment [Member] Depreciation and amortization Depreciation, Depletion and Amortization Other comprehensive income (loss) Other Comprehensive Income, Other, Net of Tax Furniture and fixtures Furniture and Fixtures [Member] Reels and skids Reels And Skids [Member] Reels And Skids Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Business Combination and Asset Acquisition [Abstract] Total stockholders’ equity attributable to Cactus Inc. Equity, Attributable to Parent Consolidation Items [Axis] Consolidation Items [Axis] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Revenues Business Acquisition, Pro Forma Revenue Earn Out Liability Earn Out Liability [Member] Earn Out Liability Summary of Significant Assumptions to Determine Fair Value Fair Value Measurement Inputs and Valuation Techniques [Table Text Block] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Tax savings benefit retained by Cactus Inc Tax Savings Benefit Retained As Percent Per tax receivable agreement, the amount of the tax savings benefit to be retained by the entity. Expected revenue volatility Measurement Input, Expected Revenue Volatility [Member] Measurement Input, Expected Revenue Volatility Income before income taxes Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Credit Agreement Credit Agreement [Member] Credit Agreement dated May 31, 2011 [Member] Deferred tax liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities CW Unit redemptions (in shares) Common Units Redeemed Number of CW units redeemed during period. Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Total liabilities assumed Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities Fair Value, Inputs, Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Finished goods Inventory, Finished Goods, Gross Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table] Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table] Net assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net Statement of Stockholders'/Members' Equity Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Identifiable intangible assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles Document Fiscal Period Focus Document Fiscal Period Focus Amortization period Finite-Lived Intangible Asset, Useful Life Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Title Trading Arrangement, Individual Title Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Common stock Common Stock [Member] Individual: Individual [Axis] Vehicles Finance Lease, Right-of-Use Asset, before Accumulated Amortization Stock-based compensation APIC, Share-Based Payment Arrangement, Recognition and Exercise City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Earnings per Share Earnings Per Share [Text Block] Product and Service [Axis] Product and Service [Axis] Summary of Changes in Fair Value Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] Document Fiscal Year Focus Document Fiscal Year Focus Finance lease obligations Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Lease Obligation Total stockholders’ equity Balance at the beginning of the period Balance at the end of the period Equity, Including Portion Attributable to Noncontrolling Interest Member distributions Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders Minimum Minimum [Member] Tax impact of equity transactions Adjustments to Additional Paid in Capital, Tax Receivable Agreement Amount of increase in additional paid in capital (APIC) resulting from the tax receivable agreement. Share Repurchase Program [Domain] Share Repurchase Program [Domain] Receivables [Abstract] Receivables [Abstract] Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Dividends declared Dividends, Common Stock, Cash Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Proceeds from the issuance of long-term debt Proceeds from Issuance of Long-Term Debt Additional Offering Additional Offering [Member] Additional Offering Field service and other revenue Product and Service, Other [Member] Net income Net income Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net cash paid for income taxes Income Taxes Paid, Net Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Deferred tax asset, net Deferred Income Tax Assets, Net Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Retained Earnings Retained Earnings [Member] Maximum borrowing capacity Line of Credit Facility, Accordion Feature, Maximum Borrowing Capacity Line of Credit Facility, Accordion Feature, Maximum Borrowing Capacity Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Total liabilities and equity Liabilities and Equity Prepaid expenses and other current assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other Other noncurrent assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Ownership [Domain] Ownership [Domain] Earnings per Class A share - basic (in dollars per share) Earnings Per Share, Basic Operating lease right-of-use assets, net Operating Lease, Right-of-Use Asset Schedule of Long-term Debt Instruments [Table] Schedule of Long-Term Debt Instruments [Table] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Sale of Stock [Domain] Sale of Stock [Domain] Gain on disposal of assets Gain (Loss) on Disposition of Assets Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Summarized Financial Information by Segment Schedule of Segment Reporting Information, by Segment [Table Text Block] Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Common stock authorized repurchase amount Stock Repurchase Program, Remaining Authorized Repurchase Amount Developed technology Technology-Based Intangible Assets [Member] Termination Date Trading Arrangement Termination Date Common stock, shares authorized (in shares) Common Stock, Shares Authorized Raw materials Inventory, Raw Materials, Gross Property, Plant and Equipment [Abstract] Property, Plant and Equipment [Abstract] Debt gross Long-Term Debt, Gross Reconciliation of net income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] All Trading Arrangements All Trading Arrangements [Member] Measurement Input Type [Axis] Measurement Input Type [Axis] Less: Accumulated depreciation Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Relationship to Entity [Domain] Title of Individual [Domain] Compensation Amount Outstanding Recovery Compensation Amount Tax savings payable to TRA Holders Tax Savings Payable To TRA Holders As Percent Per tax receivable agreement, the percentage of savings in federal, state and local income tax or franchise tax that the entity realizes or is deemed to realize in certain circumstances. Less: comprehensive income attributable to non-controlling interest Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest Provision for expected credit losses Expense (Recovery) Accounts Receivable, Credit Loss Expense (Reversal) Additional paid-in capital Additional Paid in Capital Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Backlog Order or Production Backlog [Member] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Three Work-in-progress Inventory, Work in Process, Gross Insider Trading Arrangements [Line Items] Balance at Beginning of Period Balance at End of Period Accounts Receivable, Allowance for Credit Loss Pressure Control Pressure Control Segment [Member] Cash and Cash Equivalents, at Carrying Value [Abstract] Cash and Cash Equivalents, at Carrying Value [Abstract] Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Tax Receivable Agreement Tax Receivable Agreement n/a Equity award vestings (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Effect of dilutive shares (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Two Adjustment to Compensation, Amount Adjustment to Compensation Amount Change in fair value of earn-out liability Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Non-controlling interest Equity, Attributable to Noncontrolling Interest Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Adoption Date Trading Arrangement Adoption Date Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Finance lease obligations, net of current portion Finance Lease, Liability, Noncurrent Summary of Unaudited Proforma Results Business Acquisition, Pro Forma Information [Table Text Block] Entity Central Index Key Entity Central Index Key Deferred financing cost amortization Amortization of Debt Issuance Costs and Discounts Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Preparation of Interim Financial Statements and Other Items Basis of Presentation and Significant Accounting Policies [Text Block] Change in fair value of earn-out liability Derivative, Gain (Loss) on Derivative, Net Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Gross Cost Finite-Lived Intangible Assets, Gross Income tax expense Income Tax Expense (Benefit) Write off Accounts Receivable, Allowance for Credit Loss, Writeoff Receivables Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables Fair Value Measurements Fair Value Disclosures [Text Block] Payments of deferred financing costs Payments of Financing Costs Name Trading Arrangement, Individual Name Schedule of Revenues Disaggregated by Category Disaggregation of Revenue [Table Text Block] Issuances of common stock Stock Issued During Period, Value, New Issues The Credit Facility The Credit Facility [Member] The Credit Facility Equity [Abstract] Equity [Abstract] Inventories Inventory Disclosure [Text Block] Total revenues Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Long-term Debt, Type [Axis] Long-Term Debt, Type [Axis] Amendment Flag Amendment Flag Other Intangible Assets Intangible Assets Disclosure [Text Block] Finite-Lived Intangible Assets, Net [Abstract] Finite-Lived Intangible Assets, Net [Abstract] Deferred income taxes Increase (Decrease) in Deferred Income Taxes Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Acquisition of a business, net of cash and cash equivalents acquired Payments to Acquire Businesses, Net of Cash Acquired Cash paid for interest Interest Paid, Excluding Capitalized Interest, Operating Activities Comprehensive income Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest Common stock purchased and retired (in shares) Stock Repurchased and Retired During Period, Shares Credit Facility [Domain] Credit Facility [Domain] Applicable margin rate Debt Instrument, Basis Spread on Variable Rate Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Term Long-Term Debt, Term Rental equipment Rental Equipment [Member] Rental Equipment Weighted average Class A shares outstanding - diluted (in shares) Weighted average Class A shares outstanding - diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] CC Unit Holders other than Cactus, Inc. CC Unit Holders Other Than Cactus Inc [Member] CW Unit Holders other than Cactus Inc [Member] Total TRA liability Other Commitment Interest income, net Interest income, net Interest Income (Expense), Nonoperating, Net Revenue Revenue from Contract with Customer [Text Block] Weighted average Class A Shares Outstanding - basic (in shares) Weighted Average Number of Shares Issued, Basic Company Selected Measure Amount Company Selected Measure Amount Additional Paid-In Capital Additional Paid-in Capital [Member] Vehicles Vehicles [Member] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Share Repurchase Program [Axis] Share Repurchase Program [Axis] Cover [Abstract] Secured Overnight Financing Rate Secured Overnight Financing Rate [Member] Secured Overnight Financing Rate Capital expenditures and other Payments For Capital expenditures The cash outflow from payments of capital expenditure. Accounts Receivable and Allowance for Credit Losses Loans, Notes, Trade and Other Receivables Disclosure [Text Block] Fair Value Measurement Inputs and Valuation Techniques [Line Items] Fair Value Measurement Inputs and Valuation Techniques [Line Items] Dividends paid Payments of Dividends Other noncurrent liabilities Other Liabilities, Noncurrent Non-NEOs Non-NEOs [Member] Construction in progress Construction in Progress [Member] Total assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Key Employee Key Employee [Member] Key Employee Equity Subsidiary, Sale of Stock [Line Items] Total costs and expenses Operating Expenses Segment Reporting Segment Reporting Disclosure [Text Block] Net increase (decrease) in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash flows from financing activities Net Cash Provided by (Used in) Financing Activities [Abstract] Secured Debt Secured Debt [Member] Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Finance lease obligations, current portion Finance Lease, Liability, Current Adjustment to Compensation: Adjustment to Compensation [Axis] Distributions to members Pro rata distributions made to other members Distribution Made to Limited Liability Company (LLC) Member, Cash Distributions Paid Add: Contingent consideration Business Combination, Consideration Transferred, Equity Interests Issued and Issuable Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Long-term Debt Debt Instrument [Line Items] Weighted average Class A shares outstanding - basic (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Operating income Total segment operating income Operating Income (Loss) Revenues Revenues [Abstract] Consolidated Entities [Domain] Consolidated Entities [Domain] Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Segments [Axis] Segments [Axis] Statement [Line Items] Statement [Line Items] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Customer relationships Customer Relationships [Member] Corporate effective income tax rate, if-converted method Effective Income Tax Rate Used For Noncontrolling Interest Income The effective income tax rate used in the calculation of income attributable to noncontrolling interest included in if-converted method of EPS calculation. Non-controlling Interest Noncontrolling Interest [Member] EX-101.PRE 11 whd-20240331_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 13 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Cover - shares
3 Months Ended
Mar. 31, 2024
Apr. 30, 2024
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Entity File Number 001-38390  
Entity Registrant Name Cactus, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 35-2586106  
Entity Address, Address Line One 920 Memorial City Way, Suite 300  
Entity Address, City or Town Houston,  
Entity Address, State or Province TX  
Entity Address, Postal Zip Code 77024  
City Area Code 713  
Local Phone Number 626-8800  
Title of 12(b) Security Class A Common Stock, par value $0.01  
Trading Symbol WHD  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Central Index Key 0001699136  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Amendment Flag false  
Class A Common Stock    
Entity Common Stock, Shares Outstanding   65,706,197
Class B Common Stock    
Entity Common Stock, Shares Outstanding   13,848,630
XML 14 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 $ 194,257 $ 133,792
Accounts receivable, net of allowance of $3,803 and $3,642, respectively 207,624 205,381
Inventories 204,049 205,625
Prepaid expenses and other current assets 11,027 11,380
Total current assets 616,957 556,178
Noncurrent assets    
Property and equipment, net 344,973 345,502
Operating lease right-of-use assets, net 24,429 23,496
Intangible assets, net 175,981 179,978
Goodwill 203,028 203,028
Deferred tax asset, net 201,037 204,852
Other noncurrent assets 9,482 9,527
Total assets 1,575,887 1,522,561
Current liabilities    
Accounts payable 66,142 71,841
Accrued expenses and other current liabilities 58,284 50,654
Earn-out liability 34,114 20,810
Current portion of liability related to tax receivable agreement 20,855 20,855
Finance lease obligations, current portion 7,181 7,280
Operating lease liabilities, current portion 4,094 4,220
Total current liabilities 190,670 175,660
Noncurrent liabilities    
Deferred tax liability, net 3,743 3,589
Liability related to tax receivable agreement, net of current portion 250,069 250,069
Finance lease obligations, net of current portion 9,529 9,352
Operating lease liabilities, net of current portion 20,283 19,121
Other noncurrent liabilities 1,004 0
Total liabilities 475,298 457,791
Commitments and contingencies
Stockholders’ equity    
Preferred stock, $0.01 par value, 10,000 shares authorized, none issued and outstanding 0 0
Additional paid-in capital 462,464 465,012
Retained earnings 431,703 400,682
Accumulated other comprehensive loss (1,456) (826)
Total stockholders’ equity attributable to Cactus Inc. 893,366 865,522
Non-controlling interest 207,223 199,248
Total stockholders’ equity 1,100,589 1,064,770
Total liabilities and equity 1,575,887 1,522,561
Class A Common Stock    
Stockholders’ equity    
Common stock, $0.01 par value 655 654
Class B Common Stock    
Stockholders’ equity    
Common stock, $0.01 par value $ 0 $ 0
XML 15 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
shares in Thousands, $ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Allowance for accounts receivable $ 3,803 $ 3,642
Preferred stock, par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock, shares authorized (in shares) 10,000 10,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Class A Common Stock    
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 300,000 300,000
Common stock, shares issued (in shares) 65,518 65,409
Common stock, shares outstanding (in shares) 65,518 65,409
Class B Common Stock    
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 215,000 215,000
Common stock, shares issued (in shares) 14,034 14,034
Common stock, shares outstanding (in shares) 14,034 14,034
XML 16 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Revenues    
Total revenues $ 274,123 $ 228,405
Costs and expenses    
Selling, general and administrative expenses 29,422 29,901
Change in fair value of earn-out liability 13,304 0
Total costs and expenses 211,573 178,717
Operating income 62,550 49,688
Interest income, net 689 1,002
Other income, net 0 3,538
Income before income taxes 63,239 54,228
Income tax expense 13,424 1,940
Net income 49,815 52,288
Less: net income attributable to non-controlling interest 10,850 9,394
Net income attributable to Cactus Inc. $ 38,965 $ 42,894
Class A Common Stock    
Earnings per share and weighted average shares outstanding    
Earnings per Class A share - basic (in dollars per share) $ 0.60 $ 0.67
Earnings per Class A share - diluted (in dollars per share) $ 0.59 $ 0.63
Weighted average Class A shares outstanding - basic (in shares) 65,378 63,740
Weighted average Class A shares outstanding - diluted (in shares) 79,556 79,155
Product revenue    
Revenues    
Total revenues $ 207,511 $ 159,510
Costs and expenses    
Cost of revenue 120,666 100,815
Rental revenue    
Revenues    
Total revenues 23,943 27,817
Costs and expenses    
Cost of revenue 12,946 16,084
Field service and other revenue    
Revenues    
Total revenues 42,669 41,078
Costs and expenses    
Cost of revenue $ 35,235 $ 31,917
XML 17 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Comprehensive Income [Abstract]    
Net income $ 49,815 $ 52,288
Foreign currency translation adjustments (803) 303
Comprehensive income 49,012 52,591
Less: comprehensive income attributable to non-controlling interest 10,677 9,477
Comprehensive income attributable to Cactus Inc. $ 38,335 $ 43,114
XML 18 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Total
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive Income (Loss)
Non-controlling Interest
Class A Common Stock
Common stock
Class B Common Stock
Common stock
Balance at the beginning of the period (in shares) at Dec. 31, 2022           60,903 14,978
Balance at the beginning of the period at Dec. 31, 2022 $ 710,445 $ 310,528 $ 261,764 $ (984) $ 138,528 $ 609 $ 0
Statement of Stockholders'/Members' Equity              
Issuance of common stock (in shares)           3,352  
Issuances of common stock 169,369 143,302     26,033 $ 34  
Member distributions (1,644)       (1,644)    
Tax impact of equity transactions 2,845 (13,981)     16,826    
Equity award vestings (in shares)           193  
Equity award vestings (4,343) (3,009)     (1,336) $ 2  
Other comprehensive income (loss) 303     220 83    
Stock-based compensation 3,703 3,004     699    
Cash dividends declared (7,130)   (7,130)        
Net income 52,288   42,894   9,394    
Balance at the end of the period (in shares) at Mar. 31, 2023           64,448 14,978
Balance at the end of the period at Mar. 31, 2023 925,836 439,844 297,528 (764) 188,583 $ 645 $ 0
Balance at the beginning of the period (in shares) at Dec. 31, 2023           65,409 14,034
Balance at the beginning of the period at Dec. 31, 2023 1,064,770 465,012 400,682 (826) 199,248 $ 654 $ 0
Statement of Stockholders'/Members' Equity              
Member distributions (1,684)       (1,684)    
Tax impact of equity transactions 234 234     0    
Equity award vestings (in shares)           196  
Equity award vestings (4,896) (3,466)     (1,432) $ 2  
Other comprehensive income (loss) (803)     (630) (173)    
Share repurchases (in shares)           (87)  
Share repurchases (3,372) (2,996)     (375) $ (1)  
Stock-based compensation 4,469 3,680     789    
Cash dividends declared (7,944)   (7,944)        
Net income 49,815   38,965   10,850    
Balance at the end of the period (in shares) at Mar. 31, 2024           65,518 14,034
Balance at the end of the period at Mar. 31, 2024 $ 1,100,589 $ 462,464 $ 431,703 $ (1,456) $ 207,223 $ 655 $ 0
XML 19 R7.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
Statement of Stockholders' Equity [Abstract]    
Cash dividend declared (in dollars per share) $ 0.12 $ 0.11
XML 20 R8.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 $ 49,815 $ 52,288
Reconciliation of net income to net cash provided by operating activities:    
Depreciation and amortization 15,046 13,110
Deferred financing cost amortization 280 291
Stock-based compensation 4,432 3,841
Provision for expected credit losses 162 (376)
Inventory obsolescence 1,062 576
Gain on disposal of assets (208) (1,033)
Deferred income taxes 4,403 (1,406)
Change in fair value of earn-out liability 13,304 (121)
Gain from revaluation of liability related to tax receivable agreement 0 (3,417)
Changes in operating assets and liabilities:    
Accounts receivable (3,011) (12,883)
Inventories 234 20,565
Prepaid expenses and other assets 128 2,151
Accounts payable (8,132) (6,282)
Accrued expenses and other liabilities 8,748 (6,842)
Net cash provided by operating activities 86,263 60,462
Cash flows from investing activities    
Acquisition of a business, net of cash and cash equivalents acquired 0 (618,857)
Capital expenditures and other (7,902) (15,928)
Proceeds from sales of assets 1,094 1,633
Net cash used in investing activities (6,808) (633,152)
Cash flows from financing activities    
Proceeds from the issuance of long-term debt 0 155,000
Net proceeds from the issuance of Class A common stock 0 169,878
Payments of deferred financing costs 0 (6,665)
Payments on finance leases (2,031) (1,709)
Dividends paid to Class A common stock shareholders (8,144) (7,353)
Distributions to members (1,684) (1,645)
Repurchases of shares (8,268) (4,343)
Net cash provided by (used in) financing activities (20,127) 303,163
Effect of exchange rate changes on cash and cash equivalents 1,137 422
Net increase (decrease) in cash and cash equivalents 60,465 (269,105)
Cash and Cash Equivalents, at Carrying Value [Abstract]    
Cash and cash equivalents, beginning of period 133,792 344,527
Cash and cash equivalents, end of period 194,257 75,422
Supplemental disclosure of cash flow information    
Net cash paid for income taxes 1,611 556
Cash paid for interest 535 327
Non-cash investing and financing activities:    
Right-of-use assets obtained in exchange for new lease obligations 4,515 4,874
Property and equipment in accounts payable $ 2,637 $ 1,249
XML 21 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Preparation of Interim Financial Statements and Other Items
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Preparation of Interim Financial Statements and Other Items Preparation of Interim Financial Statements and Other Items
Basis of Presentation
The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.
On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the acquisition of the FlexSteel business through a merger (the “Merger”) with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition. See Note 2 for additional information related to the acquisition.
Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.
The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2023.
The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.
Use of Estimates
In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.
Recent Accounting Pronouncements
Standards Not Yet Adopted
In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740).” The amendments in this ASU require entities to disclose on an annual basis specific categories in the income tax rate reconciliation and provide additional disclosures for reconciling items that meet a specified
quantitative threshold. Entities will also be required to disclose annually income taxes paid disaggregated by federal, state and foreign taxes and the amount of income taxes paid by individual jurisdictions that meet a five percent or greater threshold of total income taxes paid net of refunds received. The ASU also adds certain disclosures in order to be consistent with U.S. Securities and Exchange Commission rules and removes certain disclosures that no longer are considered cost beneficial or relevant. The amendments in this ASU are to be applied on a prospective basis and will be effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our disclosures.

In November 2023, the FASB issued ASU No. 2023-07, “Improvements to Reportable Segment Disclosures (Topic 280)” in order to require disclosure of incremental segment information on an annual and interim basis for all public entities. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly provided to the chief operating decision maker and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items and interim disclosures of a reportable segment’s profit or loss and assets. The ASU is to be applied retrospectively to all prior periods presented in the financial statements and is effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our segment disclosures.
XML 22 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
FlexSteel Acquisition
3 Months Ended
Mar. 31, 2024
Business Combination and Asset Acquisition [Abstract]  
FlexSteel Acquisition FlexSteel Acquisition
On February 28, 2023 we completed the acquisition of FlexSteel. Including final adjustments for closing working capital, cash on hand and indebtedness adjustments as set forth in the merger agreement, we paid total cash consideration of $621.5 million. There is also a future earn-out payment of up to $75.0 million to be paid no later than the third quarter of 2024, if certain revenue targets are met by FlexSteel.
Purchase Price Consideration
The final purchase price consideration for the acquisition was $627.5 million and is summarized as follows:
Purchase Price Consideration
Cash consideration$621,505 
Add: Contingent consideration (1)
5,960 
Fair value of consideration transferred$627,465 
(1) Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75.0 million of additional cash consideration if certain revenue targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.
Changes in the fair value of the earn-out liability subsequent to the acquisition date are recognized in the consolidated statements of income. As of March 31, 2024, the estimated earn-out payment is $34.1 million. The increase is based on the improvements in FlexSteel's expected revenues for the period January 1, 2023 through June 30, 2024, compared to projections made at the time of the acquisition. See further discussion of the calculation of fair value of the earn-out liability in Note 12.
Purchase Price Allocation
The following table provides the final allocation of the purchase price as of the acquisition date:
Cash and cash equivalents$5,316 
Receivables58,002 
Inventories91,746 
Prepaid expenses and other current assets1,283 
Property and equipment206,928 
Operating lease right-of-use assets1,021 
Identifiable intangible assets200,300 
Other noncurrent assets5,666 
Total assets acquired570,262 
Accounts payable(14,975)
Accrued expenses and other current liabilities(26,827)
Finance lease obligations(974)
Operating lease liabilities(906)
Deferred tax liabilities(94,319)
Total liabilities assumed(138,001)
Net assets acquired432,261 
Goodwill$195,204 

The acquisition was accounted for using the acquisition method of accounting, with Cactus being treated as the accounting acquirer. Under the acquisition method of accounting, the assets and liabilities were recorded at their respective fair values as of the acquisition date. Fair values were determined by management, based in part on independent valuations performed by third-party valuation specialists. The valuation methods used to determine the fair value of intangible assets included the excess earnings approach for customer relationships and backlog using customer inputs and contributory charges and the relief from royalty method for tradename and developed technology.

The fair values determined for accounts receivable, accounts payable and most other current assets and liabilities, other than inventory, were equivalent to the carrying value due to their short-term nature. Acquired inventories were comprised of raw materials, work-in-progress and finished goods. The fair value of finished goods was calculated as the estimated selling price, less costs of the selling effort and a reasonable profit allowance relating to the selling effort. The fair value of identifiable fixed assets was calculated using a combination of valuation approaches, but primarily consisted of the cost approach which adjusts estimates of replacement cost for the age, condition and utility of the associated assets.

Goodwill is calculated as the excess of the purchase price over the estimated fair value of net assets acquired.
Pro forma financial information
The pro forma financial information below represents the combined results of operations as if the acquisition had occurred as of January 1, 2022. The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.
Three Months Ended
March 31,
2023
Revenues$281,784 
Net Income attributable to Cactus, Inc.40,803 
XML 23 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable and Allowance for Credit Losses
3 Months Ended
Mar. 31, 2024
Receivables [Abstract]  
Accounts Receivable and Allowance for Credit Losses Accounts Receivable and Allowance for Credit Losses
We extend credit to customers in the normal course of business. Our customers are predominantly oil and gas exploration and production companies located in the U.S. Our receivables are short-term in nature and typically due in 30 to 60 days. We do not accrue interest on delinquent receivables. Accounts receivable includes amounts billed and currently due from customers and unbilled amounts for products delivered and services performed for which billings have not yet been submitted to the customers. Total unbilled revenue included in accounts receivable as of March 31, 2024 and December 31, 2023 was $31.7 million and $26.8 million, respectively.
We maintain an allowance for credit losses to provide for the amount of billed receivables we believe to be at risk of loss. In our determination of the allowance for credit losses, we pool receivables with similar risk characteristics based on customer size, credit ratings, payment history, bankruptcy status and other factors known to us and apply an expected credit loss percentage. The expected credit loss percentage is determined using historical loss data adjusted for current conditions and forecasts of future economic conditions. Accounts deemed uncollectible are applied against the allowance for credit losses. The following is a rollforward of our allowance for credit losses.
Balance at
Beginning of
Period
Expense
(Recovery)
Write offTranslation AdjustmentsBalance at
End of
Period
Three Months Ended March 31, 2024$3,642 $162 $(1)$— $3,803 
Three Months Ended March 31, 20231,060 (376)(19)667 
XML 24 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventories
3 Months Ended
Mar. 31, 2024
Inventory Disclosure [Abstract]  
Inventories Inventories
Inventories are stated at the lower of cost or net realizable value. Cost is determined using standard cost (which approximates average cost). Costs include an application of related material, direct labor, duties, tariffs, freight and overhead costs. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal and transportation. Reserves are made for excess and obsolete items based on a range of factors, including age, usage and technological or market changes that may impact demand for those products. Inventories consist of the following:
March 31,
2024
December 31,
2023
Raw materials$18,941 $22,373 
Work-in-progress13,330 11,471 
Finished goods171,778 171,781 
$204,049 $205,625 
XML 25 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and Equipment, net
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment [Abstract]  
Property and Equipment, net Property and Equipment, net
Property and equipment are stated at cost. We manufacture or construct most of our Pressure Control rental equipment assets. During the manufacture of these assets, they are reflected as construction in progress until complete. Property and equipment consists of the following:
March 31,
2024
December 31,
2023
Land
$16,442 $16,442 
Buildings and improvements
132,091 131,974 
Machinery and equipment
130,082 128,962 
Reels and skids16,124 16,181 
Vehicles37,657 36,552 
Rental equipment219,692 218,340 
Furniture and fixtures
1,908 1,913 
Computers and software
4,112 3,951 
Gross property and equipment
558,108 554,315 
Less: Accumulated depreciation
(239,984)(231,594)
Net property and equipment
318,124 322,721 
Construction in progress
26,849 22,781 
Total property and equipment, net
$344,973 $345,502 
XML 26 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Other Intangible Assets
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Other Intangible Assets Other Intangible Assets
The following table presents the detail of acquired intangible assets:
March 31, 2024December 31, 2023
Gross CostAccumulated AmortizationNet CostGross CostAccumulated AmortizationNet Cost
Customer relationships$100,300 $(7,244)$93,056 $100,300 $(5,572)$94,728 
Developed technology77,000 (8,342)68,658 77,000 (6,417)70,583 
Tradename16,000 (1,733)14,267 16,000 (1,333)14,667 
Backlog7,000 (7,000)— 7,000 (7,000)— 
Total$200,300 $(24,319)$175,981 $200,300 $(20,322)$179,978 
All intangible assets are amortized over their estimated useful lives. The weighted average amortization period for identifiable intangible assets acquired as of March 31, 2024 is 12 years. Amortization expense recognized during the three months ended March 31, 2024 was $4.0 million and was recorded in selling, general and administrative expenses in the consolidated statements of income. Estimated future amortization expense is as follows:
Remainder of 2024$11,990 
202515,987 
202615,987 
202715,987 
202815,987 
202915,987 
Thereafter84,056 
Total$175,981 
XML 27 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Debt Debt
We had no debt outstanding as of March 31, 2024 and December 31, 2023. We had $1.1 million in letters of credit outstanding and were in compliance with all covenants under the Amended ABL Credit Facility (as defined below) as of March 31, 2024.
In August 2018, Cactus LLC entered into a five-year senior secured asset-based revolving credit facility with a syndicate of lenders and JPMorgan Chase Bank, N.A., as administrative agent for such lenders and as an issuing bank and swingline lender (the “ABL Credit Facility”). The ABL Credit Facility was first amended in September 2020 and provided for up to $75.0 million in revolving commitments. On July 25, 2022, the ABL Credit Facility was amended again for up to $80.0 million in revolving commitments, up to $15.0 million of which was available for the issuance of letters of credit.
On February 28, 2023, in connection with the Merger, Cactus Companies assumed the rights and obligations of Cactus LLC as Borrower under the ABL Credit Facility, and the ABL Credit Facility was amended and restated in its entirety (the “Amended ABL Credit Facility”). The Amended ABL Credit Facility provides for a term loan of $125.0 million and up to $225.0 million in revolving commitments, of which $20.0 million is available for the issuance of letters of credit. Subject to certain terms and conditions set forth in the Amended ABL Credit Facility, Cactus Companies may request additional revolving commitments in an amount not to exceed $50.0 million, for a total of up to $275.0 million in revolving commitments. The term loan under the Amended ABL Credit Facility was set to mature on February 27, 2026 and any revolving loans under the Amended ABL Credit Facility mature on July 26, 2027. The maximum amount that Cactus Companies may borrow under the Amended ABL Credit Facility is subject to a borrowing base, which is based on a percentage of eligible accounts receivable and eligible inventory, subject to reserves and other adjustments.
We borrowed the full $125.0 million term loan amount and $30.0 million as a revolving loan at closing of the Amended ABL Credit Facility to fund a portion of the Merger. The term loan was required to be repaid in regular set amounts starting July 1, 2023 as set forth in the amortization schedule in the Amended ABL Credit Facility and could be prepaid without the payment of any prepayment premium (other than customary breakage costs for Term Benchmark (as defined below) borrowings). The term loan and revolving loan were repaid in full in July 2023.
Borrowings under the Amended ABL Credit Facility bear interest at Cactus Companies’ option at either (i) the Alternate Base Rate (as defined therein) (“ABR”), or (ii) the Adjusted Term SOFR Rate (as defined therein) (“Term Benchmark”), plus, in each case, an applicable margin. Letters of credit issued under the Amended ABL Credit Facility accrue fees at a rate equal to the applicable margin for Term Benchmark borrowings. The applicable margin is 2.50% per annum for term loan ABR borrowings and 3.50% per annum for term loan Term Benchmark borrowings. The applicable margin for revolving loan borrowings ranges from 0.0% to 0.5% per annum for revolving loan ABR borrowings and 1.25% to 1.75% per annum for revolving loan Term Benchmark borrowings and, in each case, is based on the average quarterly availability of the revolving loan commitment under the Amended ABL Credit Facility for the immediately preceding fiscal quarter. The unused portion of revolving commitment under the Amended ABL Credit Facility is subject to a commitment fee of 0.25% per annum.
The Amended ABL Credit Facility contains various covenants and restrictive provisions that limit Cactus Companies’ and each of its subsidiaries’ ability to, among other things, incur additional indebtedness and create liens, make investments or loans, merge or consolidate with other companies, sell assets, make certain restricted payments and distributions, and engage in transactions with affiliates. The obligations under the Amended ABL Credit Facility are guaranteed by certain subsidiaries of Cactus Companies and secured by a security interest in accounts receivable, inventory, equipment and certain other real and personal property assets of Cactus Companies and the guarantors. Until the term loan was paid in full, the Amended ABL Credit Facility required Cactus Companies to maintain a leverage ratio no greater than 2.50 to 1.00 based on the ratio of Total Indebtedness (as defined therein) to EBITDA (as defined therein). The Amended ABL Credit Facility requires Cactus Companies to maintain a minimum fixed charge coverage ratio of 1.00 to 1.00 based on the ratio of EBITDA (as defined therein) minus Unfinanced Capital Expenditures (as defined therein) to Fixed Charges (as defined therein) during certain periods, including when availability under the Amended ABL Credit Facility is under certain levels. If Cactus Companies fails to perform its obligations under the Amended ABL Credit Facility, (i) the revolving commitments under the Amended ABL Credit Facility could be terminated, (ii) any outstanding borrowings under the Amended ABL Credit Facility may be declared immediately due and payable, and (iii) the lenders may commence foreclosure or other actions against the collateral.
The Amended ABL Credit Facility was amended in December 2023 to incorporate certain changes related to revised and new definitions associated with the satisfaction of payment conditions for restricted payments, investments, permitted acquisitions, periodic reporting and asset dispositions. The amendment did not change the ABR, applicable margin rates, commitment fees, the
maturity date, borrowing availability or covenants under the Amended ABL Credit Facility other than timing of certain reporting requirements.
XML 28 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
The majority of our revenues are derived from short-term contracts for fixed consideration or in the case of rentals, for a fixed charge per day, plus repairs while the equipment is in use by the customer. Product sales generally do not include right of return or other significant post-delivery obligations. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Revenues are recognized when we satisfy a performance obligation by transferring control of the promised goods or providing services to our customers at a point in time, in an amount specified in the contract with our customer and that reflects the consideration to which we expect to be entitled in exchange for those goods or services. The majority of our contracts with customers contain a single performance obligation to provide agreed upon products or services. For contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We do not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract with the customer. We do not incur any material costs of obtaining contracts.
We do not adjust the amount of consideration per the contract for the effects of a significant financing component when we expect, at contract inception, that the period between the transfer of a promised good or service to a customer and when the customer pays for that good or service will be one year or less, which is in substantially all cases. Payment terms and conditions vary, although terms generally include a requirement of payment within 30 to 60 days of invoicing. Revenues are recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. We treat shipping and handling associated with outbound freight as a fulfillment cost instead of as a separate performance obligation. We recognize the cost for the associated shipping and handling when incurred as an expense in cost of sales.
We disaggregate revenue into three categories: product revenues, rental revenues and field service and other revenues. We have predominately domestic operations with a small amount of sales in Australia, Canada, the Middle East and other international markets. The following table presents our revenues disaggregated by category:
Three Months Ended
March 31,
20242023
Product revenue
$207,511 76 %$159,510 70 %
Rental revenue
23,943 %27,817 12 %
Field service and other revenue
42,669 16 %41,078 18 %
Total revenues$274,123 100 %$228,405 100 %
At March 31, 2024, we had a deferred revenue balance of $7.9 million compared to the December 31, 2023 balance of $8.1 million. Deferred revenue represents our obligation to transfer products to or perform services for a customer for which we have received cash or billed in advance. The revenue that has been deferred will be recognized upon product delivery or as services are performed. As of March 31, 2024, we did not have any contracts with an original length of greater than a year from which revenue is expected to be recognized in the future related to performance obligations that are unsatisfied.
XML 29 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Tax Receivable Agreement ("TRA")
3 Months Ended
Mar. 31, 2024
Tax Receivable Agreement  
Tax Receivable Agreement ("TRA") Tax Receivable Agreement (TRA)
In connection with our initial public offering (“IPO”) in February 2018, we entered into the TRA which generally provides for payment by Cactus Inc. to certain direct and indirect owners of Cactus LLC (after the CC Reorganization, Cactus Companies) of 85% of the net cash savings, if any, in U.S. federal, state and local income tax and franchise tax that Cactus Inc. actually realizes or is deemed to realize in certain circumstances. Cactus Inc. will retain the benefit of the remaining 15% of these net cash savings.
The TRA liability is calculated by determining the tax basis subject to the TRA (“tax basis”) and applying a blended tax rate to the basis differences and calculating the resulting iterative impact. The blended tax rate consists of the U.S. federal income tax rate and an assumed combined state and local income tax rate driven by the apportionment factors applicable to each state. Subsequent changes to the measurement of the TRA liability are recognized in the statements of income as a component of other expense, net. As of March 31, 2024, the total liability from the TRA was $270.9 million with $20.9 million reflected in current liabilities based on the expected timing of our next payment. The payments under the TRA will not be conditional on a holder of rights under the TRA having a continued ownership interest in either Cactus Companies or Cactus Inc.
The term of the TRA commenced upon completion of our IPO and will continue until all tax benefits that are subject to the TRA have been utilized or expired, unless we exercise our right to terminate the TRA. If we elect to terminate the TRA early (or it is terminated early due to certain mergers, asset sales, other forms of business combinations or other changes of control), our obligations under the TRA would accelerate and we would be required to make an immediate payment equal to the present value of the anticipated future payments to be made by us under the TRA and such payment is expected to be substantial. The calculation of anticipated future payments will be based upon certain assumptions and deemed events set forth in the TRA, including the assumptions that (i) we have sufficient taxable income to fully utilize the tax benefits covered by the TRA and (ii) any CC Units (other than those held by Cactus Inc.) outstanding on the termination date are deemed to be redeemed on the termination date. Any early termination payment may be made significantly in advance of the actual realization, if any, of the future tax benefits to which the termination payment relates.
We may elect to defer payments due under the TRA if we do not have available cash to satisfy our payment obligations under the TRA. Any such deferred payments under the TRA generally will accrue interest from the due date for such payment until the payment date.
In March of 2024, the TRA was amended to replace all references to one year LIBOR with references to the 12-month term SOFR published by CME Group Benchmark Administration Limited plus 71.513 basis points. Additionally, all references to Cactus LLC were replaced with references to Cactus Companies as described in the CC Reorganization. The foregoing description of the TRA Amendment is a summary of the material terms of the TRA Amendment, does not purport to be complete and is qualified in its entirety by reference to the complete text of the TRA Amendment, a copy of which is filed as an Exhibit to this Quarterly Report and is incorporated herein by reference.
XML 30 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Equity
3 Months Ended
Mar. 31, 2024
Equity [Abstract]  
Equity Equity
As of March 31, 2024, Cactus Inc. owned 82.4% of Cactus Companies as compared to 82.3% of Cactus Companies as of December 31, 2023. As of March 31, 2024, Cactus Inc. had outstanding 65.5 million shares of Class A common stock (representing 82.4% of the total voting power) and 14.0 million shares of Class B common stock (representing 17.6% of the total voting power).
Equity Offering
In January 2023, Cactus Inc. completed an underwritten offering of 3,224,300 shares of Class A common stock at a price to the underwriters of $51.36 per share for net proceeds of $165.6 million (net of $6.9 million of underwriting discounts and commissions). In addition to the underwriting discounts and commissions, approximately $2.2 million of costs directly associated with the stock issuance were recorded as a reduction to additional paid-in capital.
FlexSteel Acquisition
In conjunction with the FlexSteel acquisition, a restricted stock award of 128,150 shares of Class A common stock was issued under the Company’s long-term incentive plan to a key employee in exchange for cash consideration of $6.5 million. The shares were restricted from sale or trading and were subject to vesting requirements for one year from grant date. The agreement included a guaranteed provision whereby if the fair market value of the restricted shares was below the purchase price upon vesting, Cactus would compensate the key employee for the difference in price plus a gross-up for taxes. The restricted stock award early vested in October 2023 when the employee separated from the Company. The guaranteed payment provision was not triggered when the shares vested; therefore no cash payment was required or made in accordance with the terms of this award.
CC Reorganization
As part of the CC Reorganization in connection with the acquisition of FlexSteel, Cactus Companies acquired all of the outstanding units representing limited liability company interests of Cactus LLC (“CW Units”) in exchange for an equal number of CC Units issued to each of the previous owners of CW Units other than Cactus Inc. (the “CW Unit Holders”). Upon the completion of the CC Reorganization, CW Unit Holders ceased to be holders of CW Units and, instead, became holders of a number of CC Units equal to the number of CW Units such CW Unit Holders held immediately prior to the completion of the CC Reorganization. After the CC Reorganization, we refer to the owners of CC Units, other than Cactus Inc. (along with their
permitted transferees), as “CC Unit Holders.” Following the completion of the CC Reorganization, CC Unit Holders own one share of our Class B Common Stock for each CC Unit such CC Unit Holder owns.
In connection with the CC Reorganization, Cactus Inc. and the owners of CC Units entered into the Amended and Restated Limited Liability Company Operating Agreement of Cactus Companies (the “Cactus Companies LLC Agreement”), which contains substantially the same terms and conditions as the Second Amended and Restated Limited Liability Company Operating Agreement of Cactus LLC (the “Cactus Wellhead LLC Agreement”), which was the limited liability company operating agreement of Cactus LLC prior to the CC Reorganization. Cactus Inc. was responsible for all operational, management and administrative decisions relating to Cactus LLC’s business for the period from completion of our IPO until the CC Reorganization and relating to Cactus Companies’ business for periods after the CC Reorganization.
Redemptions of CC Units
Pursuant to the Cactus Companies LLC Agreement, holders of CC Units are entitled to redeem their CC Units, which results in additional Class A common stock outstanding. Since our IPO in February 2018, an aggregate of 46.5 million CC Units (including CW Units prior to the CC Reorganization) and a corresponding number of shares of Class B common stock have been redeemed in exchange for shares of Class A common stock.
During the three months ended March 31, 2024 and 2023, there were no redemptions of CC Units (or CW Units prior to the CC Reorganization).
Dividends
Aggregate cash dividends of $0.12 and $0.11 per share of Class A common stock were declared during the three months ended March 31, 2024 and 2023 totaling $8.0 million and $7.1 million, respectively. Cash dividends paid during the three months ended March 31, 2024 and 2023 totaled $8.1 million and $7.4 million, respectively. Dividends accrue on unvested equity-based awards on the date of record and are paid upon vesting. Dividends are not paid to our Class B common stockholders; however, a corresponding distribution up to the same amount per share as our Class A common stockholders is paid to the owners of CC Units other than Cactus Inc. for any dividends declared on our Class A common stock. See further discussion of the distributions below under “Member Distributions.”
Share Repurchase Program
On June 6, 2023, our board of directors authorized the Company to repurchase shares of its Class A common stock for an aggregate purchase price of up to $150 million. Under our share repurchase program, shares may be repurchased from time to time in open market transactions or block trades, in privately negotiated transactions or any other method permitted under U.S. securities laws, rules and regulations. The repurchase program does not obligate the Company to purchase any particular amount of shares, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. During the three months ended March 31, 2024, the Company purchased and retired 86,599 shares of Class A common stock for $3.4 million, or $38.92 average price per share excluding commissions, under the share repurchase program. As of March 31, 2024, $146.3 million remained authorized for future repurchases of Class A common stock under the program.
Member Distributions
Distributions made by Cactus Companies are generally required to be made pro rata among all its members. For the three months ended March 31, 2024, Cactus Companies distributed $7.8 million to Cactus Inc. to fund its dividend payments and made pro rata distributions to the other members totaling $1.7 million over the same period. During the three months ended March 31, 2023, Cactus Companies distributed $7.1 million to Cactus Inc. to fund its dividend payments and made pro rata distributions to the other members totaling $1.6 million.
Limitation of Members’ Liability
Under the terms of the Cactus Companies LLC Agreement, the members of Cactus Companies are not obligated for debt, liabilities, contracts or other obligations of Cactus Companies. Profits and losses are allocated to members as defined in the Cactus Companies LLC Agreement.
XML 31 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingencies
3 Months Ended
Mar. 31, 2024
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
We are involved in various disputes arising in the ordinary course of business. Management does not believe the outcome of these disputes will have a material adverse effect on our consolidated financial position or consolidated results of operations.
XML 32 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
Authoritative guidance on fair value measurements provides a framework for measuring fair value and establishes a fair value hierarchy that prioritizes the inputs used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 inputs), observable inputs other than quoted prices in active markets (Level 2 inputs) and the lowest priority to unobservable inputs (Level 3 inputs).
The carrying value of cash and cash equivalents, receivables, accounts payable and accrued expenses approximates fair value based on the short-term nature of these accounts.
At March 31, 2024, due to the short-term nature of this account, the earn-out liability related to the FlexSteel acquisition (see Note 2) was determined based on the estimated future payments, utilizing projections for the second quarter of 2024. At December 31, 2023, the earn-out liability was measured at a fair value of $20.8 million using Level 3 unobservable inputs. The fair value at December 31, 2023 was determined based on the evaluation of the probability and amount of earn-out that may be achieved based on expected future performance of FlexSteel using a Monte Carlo simulation model. The Monte Carlo simulation model uses assumptions including revenue volatilities, risk free rates, credit discount rates and revenue discount rates. The following table sets forth the range of inputs for the significant assumptions utilized to determine the fair value as of December 31, 2023:
December 31, 2023
Risk-free interest rate5.40%to5.63%
Expected revenue volatility21.70%
Revenue discount rate10.02%to10.23%
Credit discount rate9.85%
The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:
Earn-out
Opening Balance$5,960 
Changes in fair value14,850 
Balance at December 31, 2023$20,810 
The fair value of our foreign currency forwards was less than $0.1 million as of March 31, 2024 and was determined using market observable inputs including forward and spot prices (Level 2 inputs).
XML 33 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Reporting
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Segment Reporting Segment Reporting
We operate in two business segments that offer different products and services and correspond to the manner in which our chief operating decision maker reviews and evaluates operating performance to make decisions about resources to be allocated to each segment.
Our reporting segments are:
Pressure Control – engaged in the design, manufacture, sale, installation and service of wellhead and pressure control equipment utilized during the drilling, completion and production phases of oil and gas wells.
Spoolable Technologies – engaged in the design, manufacture, sale, installation, service and associated rental of onshore spoolable pipe technologies utilized for production, gathering and takeaway transportation of oil, gas or other liquids.
Financial information by business segment for three months ended March 31, 2024 and 2023 is summarized below.
Three Months Ended
March 31,
20242023
Revenue:
Pressure Control$175,028 $194,655 
Spoolable Technologies99,095 33,750 
Total revenues274,123 228,405 
Operating income:
Pressure Control51,675 63,171 
Spoolable Technologies16,393 249 
Total segment operating income68,068 63,420 
Corporate and other expenses (1)
(5,518)(13,732)
Total operating income62,550 49,688 
Interest income, net689 1,002 
Other income, net— 3,538 
Income before income taxes$63,239 $54,228 
(1)Includes corporate and other costs not directly attributable to our reporting segments, such as corporate executive management and other administrative functions. These costs were previously included in the Pressure Control segment. The information for the three months ended March 31, 2023 has been recast to align with the presentation for the three months ended March 31, 2024.
XML 34 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per Share
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Earnings per Share Earnings per Share
Basic earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during the period by the weighted average number of shares of Class A common stock outstanding during the same period. Diluted earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during that period by the weighted average number of common shares outstanding assuming all potentially dilutive shares were issued.
We use the if-converted method to determine the potential dilutive effect of outstanding CC Units and corresponding shares of outstanding Class B common stock. We use the treasury stock method to determine the potential dilutive effect of unvested stock-based compensation awards assuming that the proceeds will be used to purchase shares of Class A common stock. For our unvested performance stock units, we first apply the criteria for contingently issuable shares before determining the potential dilutive effect using the treasury stock method.
The following table summarizes the basic and diluted earnings per share calculations:
Three Months Ended
March 31,
20242023
Numerator:
Net income attributable to Cactus Inc.—basic
$38,965 $42,894 
Net income attributable to non-controlling interest (1)
8,241 7,312 
Net income attributable to Cactus Inc.—diluted (1)
$47,206 $50,206 
Denominator:
Weighted average Class A shares outstanding—basic
65,378 63,740 
Effect of dilutive shares14,178 15,415 
Weighted average Class A shares outstanding—diluted79,556 79,155 
Earnings per Class A share—basic
$0.60 $0.67 
Earnings per Class A share—diluted (1)
$0.59 $0.63 
(1)The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the three months ended March 31, 2024 and 24.5% for the three months ended March 31, 2023.
XML 35 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Pay vs Performance Disclosure    
Net Income (Loss) $ 38,965 $ 42,894
XML 36 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 37 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Preparation of Interim Financial Statements and Other Items (Policies)
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Basis of Presentation
Basis of Presentation
The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.
On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the acquisition of the FlexSteel business through a merger (the “Merger”) with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition. See Note 2 for additional information related to the acquisition.
Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.
The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2023.
The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.
Use of Estimates
Use of Estimates
In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.
Recent Accounting Pronouncements
Recent Accounting Pronouncements
Standards Not Yet Adopted
In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740).” The amendments in this ASU require entities to disclose on an annual basis specific categories in the income tax rate reconciliation and provide additional disclosures for reconciling items that meet a specified
quantitative threshold. Entities will also be required to disclose annually income taxes paid disaggregated by federal, state and foreign taxes and the amount of income taxes paid by individual jurisdictions that meet a five percent or greater threshold of total income taxes paid net of refunds received. The ASU also adds certain disclosures in order to be consistent with U.S. Securities and Exchange Commission rules and removes certain disclosures that no longer are considered cost beneficial or relevant. The amendments in this ASU are to be applied on a prospective basis and will be effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our disclosures.

In November 2023, the FASB issued ASU No. 2023-07, “Improvements to Reportable Segment Disclosures (Topic 280)” in order to require disclosure of incremental segment information on an annual and interim basis for all public entities. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly provided to the chief operating decision maker and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items and interim disclosures of a reportable segment’s profit or loss and assets. The ASU is to be applied retrospectively to all prior periods presented in the financial statements and is effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our segment disclosures.
XML 38 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
FlexSteel Acquisition (Tables)
3 Months Ended
Mar. 31, 2024
Business Combination and Asset Acquisition [Abstract]  
Summary of Purchase Price Consideration
The final purchase price consideration for the acquisition was $627.5 million and is summarized as follows:
Purchase Price Consideration
Cash consideration$621,505 
Add: Contingent consideration (1)
5,960 
Fair value of consideration transferred$627,465 
(1) Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75.0 million of additional cash consideration if certain revenue targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.
Summary of Preliminary Purchase Price Allocation
The following table provides the final allocation of the purchase price as of the acquisition date:
Cash and cash equivalents$5,316 
Receivables58,002 
Inventories91,746 
Prepaid expenses and other current assets1,283 
Property and equipment206,928 
Operating lease right-of-use assets1,021 
Identifiable intangible assets200,300 
Other noncurrent assets5,666 
Total assets acquired570,262 
Accounts payable(14,975)
Accrued expenses and other current liabilities(26,827)
Finance lease obligations(974)
Operating lease liabilities(906)
Deferred tax liabilities(94,319)
Total liabilities assumed(138,001)
Net assets acquired432,261 
Goodwill$195,204 
Summary of Unaudited Proforma Results The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.
Three Months Ended
March 31,
2023
Revenues$281,784 
Net Income attributable to Cactus, Inc.40,803 
XML 39 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable and Allowance for Credit Losses (Tables)
3 Months Ended
Mar. 31, 2024
Receivables [Abstract]  
Schedule of Rollforward of Allowance for Credit Losses The following is a rollforward of our allowance for credit losses.
Balance at
Beginning of
Period
Expense
(Recovery)
Write offTranslation AdjustmentsBalance at
End of
Period
Three Months Ended March 31, 2024$3,642 $162 $(1)$— $3,803 
Three Months Ended March 31, 20231,060 (376)(19)667 
XML 40 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventories (Tables)
3 Months Ended
Mar. 31, 2024
Inventory Disclosure [Abstract]  
Schedule of Inventories Inventories consist of the following:
March 31,
2024
December 31,
2023
Raw materials$18,941 $22,373 
Work-in-progress13,330 11,471 
Finished goods171,778 171,781 
$204,049 $205,625 
XML 41 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and Equipment, net (Tables)
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment [Abstract]  
Schedule of Property and Equipment Net Property and equipment consists of the following:
March 31,
2024
December 31,
2023
Land
$16,442 $16,442 
Buildings and improvements
132,091 131,974 
Machinery and equipment
130,082 128,962 
Reels and skids16,124 16,181 
Vehicles37,657 36,552 
Rental equipment219,692 218,340 
Furniture and fixtures
1,908 1,913 
Computers and software
4,112 3,951 
Gross property and equipment
558,108 554,315 
Less: Accumulated depreciation
(239,984)(231,594)
Net property and equipment
318,124 322,721 
Construction in progress
26,849 22,781 
Total property and equipment, net
$344,973 $345,502 
XML 42 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Other Intangible Assets (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Summary of Total Intangible Assets
The following table presents the detail of acquired intangible assets:
March 31, 2024December 31, 2023
Gross CostAccumulated AmortizationNet CostGross CostAccumulated AmortizationNet Cost
Customer relationships$100,300 $(7,244)$93,056 $100,300 $(5,572)$94,728 
Developed technology77,000 (8,342)68,658 77,000 (6,417)70,583 
Tradename16,000 (1,733)14,267 16,000 (1,333)14,667 
Backlog7,000 (7,000)— 7,000 (7,000)— 
Total$200,300 $(24,319)$175,981 $200,300 $(20,322)$179,978 
Summary of Future Amortization Estimated future amortization expense is as follows:
Remainder of 2024$11,990 
202515,987 
202615,987 
202715,987 
202815,987 
202915,987 
Thereafter84,056 
Total$175,981 
XML 43 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue (Tables)
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Schedule of Revenues Disaggregated by Category The following table presents our revenues disaggregated by category:
Three Months Ended
March 31,
20242023
Product revenue
$207,511 76 %$159,510 70 %
Rental revenue
23,943 %27,817 12 %
Field service and other revenue
42,669 16 %41,078 18 %
Total revenues$274,123 100 %$228,405 100 %
XML 44 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Summary of Significant Assumptions to Determine Fair Value The following table sets forth the range of inputs for the significant assumptions utilized to determine the fair value as of December 31, 2023:
December 31, 2023
Risk-free interest rate5.40%to5.63%
Expected revenue volatility21.70%
Revenue discount rate10.02%to10.23%
Credit discount rate9.85%
Summary of Changes in Fair Value
The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:
Earn-out
Opening Balance$5,960 
Changes in fair value14,850 
Balance at December 31, 2023$20,810 
XML 45 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Reporting (Tables)
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Summarized Financial Information by Segment
Financial information by business segment for three months ended March 31, 2024 and 2023 is summarized below.
Three Months Ended
March 31,
20242023
Revenue:
Pressure Control$175,028 $194,655 
Spoolable Technologies99,095 33,750 
Total revenues274,123 228,405 
Operating income:
Pressure Control51,675 63,171 
Spoolable Technologies16,393 249 
Total segment operating income68,068 63,420 
Corporate and other expenses (1)
(5,518)(13,732)
Total operating income62,550 49,688 
Interest income, net689 1,002 
Other income, net— 3,538 
Income before income taxes$63,239 $54,228 
(1)Includes corporate and other costs not directly attributable to our reporting segments, such as corporate executive management and other administrative functions. These costs were previously included in the Pressure Control segment. The information for the three months ended March 31, 2023 has been recast to align with the presentation for the three months ended March 31, 2024.
XML 46 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per Share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Schedule of Basic and Diluted Earnings per Share
The following table summarizes the basic and diluted earnings per share calculations:
Three Months Ended
March 31,
20242023
Numerator:
Net income attributable to Cactus Inc.—basic
$38,965 $42,894 
Net income attributable to non-controlling interest (1)
8,241 7,312 
Net income attributable to Cactus Inc.—diluted (1)
$47,206 $50,206 
Denominator:
Weighted average Class A shares outstanding—basic
65,378 63,740 
Effect of dilutive shares14,178 15,415 
Weighted average Class A shares outstanding—diluted79,556 79,155 
Earnings per Class A share—basic
$0.60 $0.67 
Earnings per Class A share—diluted (1)
$0.59 $0.63 
(1)The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the three months ended March 31, 2024 and 24.5% for the three months ended March 31, 2023.
XML 47 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Preparation of Interim Financial Statements and Other Items (Details)
3 Months Ended
Mar. 31, 2024
segment
$ / shares
Dec. 31, 2023
$ / shares
Organization and Nature of Operations    
Number of business segments | segment 2  
Class A Common Stock    
Organization and Nature of Operations    
Common stock, par value (in dollars per share) | $ / shares $ 0.01 $ 0.01
XML 48 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
FlexSteel Acquisition - Narrative (Details) - USD ($)
$ in Thousands
Feb. 28, 2023
Mar. 31, 2024
Dec. 31, 2023
Business Acquisition [Line Items]      
Earn-out liability   $ 34,114 $ 20,810
FlexSteel      
Business Acquisition [Line Items]      
Cash consideration $ 621,505    
Earn-out liability $ 75,000    
XML 49 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
FlexSteel Acquisition - Summary of Purchase Price Consideration (Details) - USD ($)
$ in Thousands
Feb. 28, 2023
Mar. 31, 2024
Dec. 31, 2023
Business Acquisition [Line Items]      
Earn-out liability   $ 34,114 $ 20,810
FlexSteel      
Business Acquisition [Line Items]      
Cash consideration $ 621,505    
Add: Contingent consideration 5,960    
Fair value of consideration transferred 627,465    
Earn-out liability $ 75,000    
XML 50 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Feb. 28, 2023
Business Acquisition [Line Items]      
Goodwill $ 203,028 $ 203,028  
FlexSteel      
Business Acquisition [Line Items]      
Cash and cash equivalents     $ 5,316
Receivables     58,002
Inventories     91,746
Prepaid expenses and other current assets     1,283
Property and equipment     206,928
Operating lease right-of-use assets     1,021
Identifiable intangible assets     200,300
Other noncurrent assets     5,666
Total assets acquired     570,262
Accounts payable     (14,975)
Accrued expenses and other current liabilities     (26,827)
Finance lease obligations     (974)
Operating lease liabilities     (906)
Deferred tax liabilities     (94,319)
Total liabilities assumed     (138,001)
Net assets acquired     432,261
Goodwill     $ 195,204
XML 51 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
FlexSteel Acquisition - Summary of Unadited Proforma Results (Details) - FlexSteel
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Business Acquisition [Line Items]  
Revenues $ 281,784
Net Income attributable to Cactus, Inc. $ 40,803
XML 52 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounts Receivable and Allowance for Credit Losses (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Accounts Receivable      
Unbilled revenue $ 31,700   $ 26,800
Accounts Receivable, Allowance for Credit Loss [Roll Forward]      
Balance at Beginning of Period 3,642 $ 1,060  
Expense (Recovery) 162 (376)  
Write off (1) (19)  
Translation Adjustments 0 2  
Balance at End of Period $ 3,803 $ 667  
XML 53 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Inventories (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Summary of inventories    
Raw materials $ 18,941 $ 22,373
Work-in-progress 13,330 11,471
Finished goods 171,778 171,781
Total inventory $ 204,049 $ 205,625
XML 54 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and Equipment, net (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Property, Plant and Equipment [Line Items]    
Gross property and equipment $ 558,108 $ 554,315
Less: Accumulated depreciation (239,984) (231,594)
Net property and equipment 318,124 322,721
Total property and equipment, net 344,973 345,502
Land    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 16,442 16,442
Buildings and improvements    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 132,091 131,974
Machinery and equipment    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 130,082 128,962
Reels and skids    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 16,124 16,181
Vehicles    
Property, Plant and Equipment [Line Items]    
Vehicles 37,657 36,552
Rental equipment    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 219,692 218,340
Furniture and fixtures    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 1,908 1,913
Computers and software    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 4,112 3,951
Construction in progress    
Property, Plant and Equipment [Line Items]    
Gross property and equipment $ 26,849 $ 22,781
XML 55 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Other Intangible Assets - Summary of Total Intangible Assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Finite-Lived Intangible Assets, Net [Abstract]    
Gross Cost $ 200,300 $ 200,300
Accumulated Amortization (24,319) (20,322)
Net Cost 175,981 179,978
Customer relationships    
Finite-Lived Intangible Assets, Net [Abstract]    
Gross Cost 100,300 100,300
Accumulated Amortization (7,244) (5,572)
Net Cost 93,056 94,728
Developed technology    
Finite-Lived Intangible Assets, Net [Abstract]    
Gross Cost 77,000 77,000
Accumulated Amortization (8,342) (6,417)
Net Cost 68,658 70,583
Tradename    
Finite-Lived Intangible Assets, Net [Abstract]    
Gross Cost 16,000 16,000
Accumulated Amortization (1,733) (1,333)
Net Cost 14,267 14,667
Backlog    
Finite-Lived Intangible Assets, Net [Abstract]    
Gross Cost 7,000 7,000
Accumulated Amortization (7,000) (7,000)
Net Cost $ 0 $ 0
XML 56 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Other Intangible Assets - Narrative (Details) - Identifiable Intangible Assets Acquired
$ in Millions
3 Months Ended
Mar. 31, 2024
USD ($)
Finite-Lived Intangible Assets [Line Items]  
Amortization period 12 years
Amortization of intangible assets $ 4.0
XML 57 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Other Intangible Assets - Summary of Future Amortization (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]    
Remainder of 2024 $ 11,990  
2025 15,987  
2026 15,987  
2027 15,987  
2028 15,987  
2029 15,987  
Thereafter 84,056  
Net Cost $ 175,981 $ 179,978
XML 58 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt - Narrative (Details)
1 Months Ended 3 Months Ended
Mar. 31, 2024
USD ($)
Mar. 31, 2024
USD ($)
Dec. 31, 2023
USD ($)
Feb. 28, 2023
USD ($)
Jul. 25, 2022
USD ($)
Aug. 21, 2018
USD ($)
Long-term Debt            
Debt outstanding $ 0 $ 0 $ 0      
Letters of credit outstanding $ 1,100,000 $ 1,100,000        
Applicable margin rate 0.71513%          
Secured Debt | Amended ABL Credit Facility            
Long-term Debt            
Face amount       $ 125,000,000    
ABL Credit Facility | Line of Credit | Amended ABL Credit Facility            
Long-term Debt            
Borrowing capacity       225,000,000    
ABL Credit Facility | Line of Credit | The Credit Facility            
Long-term Debt            
Debt gross       30,000,000    
Secured Debt | Line of Credit | The Credit Facility            
Long-term Debt            
Debt gross       125,000,000    
Letters of credit | Line of Credit | Amended ABL Credit Facility            
Long-term Debt            
Borrowing capacity       20,000,000    
Cactus LLC | Line of Credit            
Long-term Debt            
Borrowing capacity         $ 15,000,000  
Cactus LLC | ABL Credit Facility | Line of Credit            
Long-term Debt            
Term           5 years
Borrowing capacity         $ 80,000,000 $ 75,000,000
Additional commitments       50,000,000    
Maximum borrowing capacity       $ 275,000,000    
Subsidiaries | ABL Credit Facility            
Long-term Debt            
Fixed charge coverage ratio   1.00        
Subsidiaries | ABL Credit Facility | Base Rate            
Long-term Debt            
Applicable margin rate   2.50%        
Subsidiaries | ABL Credit Facility | Secured Overnight Financing Rate            
Long-term Debt            
Applicable margin rate   3.50%        
Subsidiaries | ABL Credit Facility | Minimum            
Long-term Debt            
Commitment fee   0.25%        
Subsidiaries | ABL Credit Facility | Minimum | Base Rate            
Long-term Debt            
Applicable margin rate   0.00%        
Subsidiaries | ABL Credit Facility | Minimum | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate            
Long-term Debt            
Applicable margin rate   1.25%        
Subsidiaries | ABL Credit Facility | Maximum | Base Rate            
Long-term Debt            
Applicable margin rate   0.50%        
Subsidiaries | ABL Credit Facility | Maximum | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate            
Long-term Debt            
Applicable margin rate   1.75%        
Subsidiaries | ABL Credit Facility | Line of Credit | Credit Agreement            
Long-term Debt            
Leverage ratio 2.50 2.50        
XML 59 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue - Schedule of Revenues Disaggregated by Category (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation of Revenue [Line Items]    
Total revenues $ 274,123 $ 228,405
Revenue as a percentage 100.00% 100.00%
Product revenue    
Disaggregation of Revenue [Line Items]    
Total revenues $ 207,511 $ 159,510
Revenue as a percentage 76.00% 70.00%
Rental revenue    
Disaggregation of Revenue [Line Items]    
Total revenues $ 23,943 $ 27,817
Revenue as a percentage 8.00% 12.00%
Field service and other revenue    
Disaggregation of Revenue [Line Items]    
Total revenues $ 42,669 $ 41,078
Revenue as a percentage 16.00% 18.00%
XML 60 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue - Narrative (Details) - USD ($)
$ in Millions
Mar. 31, 2024
Dec. 31, 2023
Contract Balances    
Deferred revenue $ 7.9 $ 8.1
XML 61 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Tax Receivable Agreement ("TRA") (Details) - USD ($)
$ in Thousands
1 Months Ended
Mar. 31, 2024
Feb. 28, 2018
Dec. 31, 2023
Tax Receivable Agreement      
Tax savings payable to TRA Holders   85.00%  
Tax savings benefit retained by Cactus Inc   15.00%  
Total TRA liability $ 270,900    
Current portion of liability related to tax receivable agreement $ 20,855   $ 20,855
Applicable margin rate 0.71513%    
XML 62 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Equity (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 12 Months Ended 74 Months Ended
Jan. 31, 2023
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Mar. 31, 2024
Jun. 06, 2023
Equity            
Issuances of common stock     $ 169,369      
CW Unit redemptions (in shares)   0 0      
Cash dividend declared (in dollars per share)   $ 0.12 $ 0.11      
Share repurchases   $ 3,372        
Pro rata distributions made to other members   1,684 $ 1,645      
Share Repurchase Program            
Equity            
Authorized amount of stock repurchase           $ 150,000
Additional Paid-In Capital            
Equity            
Costs associated with stock issuance $ 2,200          
Issuances of common stock     $ 143,302      
Share repurchases   $ 2,996        
Common stock | Share Repurchase Program            
Equity            
Common stock purchased and retired (in shares)   86,599        
Share repurchases   $ 3,400        
Average stock repurchased price (in dollars per share)   $ 38.92        
Common stock authorized repurchase amount   $ 146,300     $ 146,300  
FlexSteel | Key Employee            
Equity            
Issuance of common stock (in shares)     128,150      
Issuances of common stock     $ 6,500      
Vesting period     1 year      
Cactus Companies            
Equity            
Ownership interest   82.40%        
Cactus LLC            
Equity            
Ownership interest       82.30%    
Cactus Inc            
Equity            
Cash distributions to unit holders   $ 7,800 $ 7,100      
CC Unit Holders other than Cactus, Inc.            
Equity            
Pro rata distributions made to other members   $ 1,700 $ 1,600      
Class A Common Stock            
Equity            
Common stock, shares outstanding (in shares)   65,518,000   65,409,000 65,518,000  
Shares outstanding, percentage of total voting power   82.40%     82.40%  
Cash dividend declared (in dollars per share)   $ 0.12 $ 0.11      
Dividends declared   $ 8,000 $ 7,100      
Dividends paid   8,100 $ 7,400      
Class A Common Stock | Common stock            
Equity            
Issuance of common stock (in shares)     3,352,000      
Issuances of common stock     $ 34      
Share repurchases   $ 1        
Class A Common Stock | Additional Offering            
Equity            
Shares sold (in shares) 3,224,300          
Price of stock (in dollars per share) $ 51.36          
Cash consideration $ 165,600          
Underwriting discounts $ 6,900          
Class A Common Stock | Cactus Companies LLC Agreement            
Equity            
CW Unit redemptions (in shares)         46,500,000  
Class B Common Stock            
Equity            
Common stock, shares outstanding (in shares)   14,034,000   14,034,000 14,034,000  
Shares outstanding, percentage of total voting power   17.60%     17.60%  
Class B Common Stock | Cactus Companies            
Equity            
Shares owned per units held (in shares)   1     1  
XML 63 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements - Narrative (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Feb. 28, 2023
Fair Value, Inputs, Level 3 | Earn Out Liability      
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]      
Liability value $ 20,800 $ 20,810 $ 5,960
Fair Value, Inputs, Level 2      
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]      
Foreign currency forwards $ 100    
XML 64 R52.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details) - Earn Out Liability
Dec. 31, 2023
Risk-free interest rate | Minimum  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.0540
Risk-free interest rate | Maximum  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.0563
Expected revenue volatility  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.2170
Revenue discount rate | Minimum  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.1002
Revenue discount rate | Maximum  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.1023
Credit discount rate | Minimum  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.0985
XML 65 R53.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements - Summary of Changes in Fair Value (Details) - Fair Value, Inputs, Level 3 - Earn Out Liability
$ in Thousands
10 Months Ended
Dec. 31, 2023
USD ($)
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]  
Changes in fair value $ 14,850
Balance at December 31, 2023 $ 20,810
XML 66 R54.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Reporting - Narrative (Details)
3 Months Ended
Mar. 31, 2024
segment
Segment Reporting [Abstract]  
Number of reporting segments 2
XML 67 R55.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Reporting - Summarized Financial Information by Segment (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Segment Reporting Information [Line Items]    
Total revenues $ 274,123 $ 228,405
Total segment operating income 62,550 49,688
Interest income, net 689 1,002
Other income, net 0 3,538
Income before income taxes 63,239 54,228
Operating Segments    
Segment Reporting Information [Line Items]    
Total segment operating income 68,068 63,420
Corporate, Non-Segment    
Segment Reporting Information [Line Items]    
Total segment operating income (5,518) (13,732)
Pressure Control    
Segment Reporting Information [Line Items]    
Total revenues 175,028 194,655
Pressure Control | Operating Segments    
Segment Reporting Information [Line Items]    
Total segment operating income 51,675 63,171
Spoolable Technologies    
Segment Reporting Information [Line Items]    
Total revenues 99,095 33,750
Spoolable Technologies | Operating Segments    
Segment Reporting Information [Line Items]    
Total segment operating income $ 16,393 $ 249
XML 68 R56.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator:    
Net income attributable to Cactus Inc. $ 38,965 $ 42,894
Net income attributable to non-controlling interest 8,241 7,312
Net income attributable to Cactus Inc. - diluted $ 47,206 $ 50,206
Denominator:    
Effect of dilutive shares (in shares) 14,178 15,415
Corporate effective income tax rate, if-converted method 26.00% 24.50%
Class A Common Stock    
Denominator:    
Weighted average Class A Shares Outstanding - basic (in shares) 65,378 63,740
Weighted average Class A shares outstanding - diluted (in shares) 79,556 79,155
Earnings per Class A share - basic (in dollars per share) $ 0.60 $ 0.67
Earnings per Class A share - diluted (in dollars per share) $ 0.59 $ 0.63
EXCEL 69 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( &I]HE@'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 " !J?:)80,DI(>\ K @ $0 &1O8U!R;W!S+V-O&ULS9)1 M2\,P$,>_BN2]O;3=!$/7%\4G!<&!XEM(;EM8DX;DI-VW-XU;A^@'\#%W__SN M=W"M\D(- 5_"X#&0P7@SV=Y%H?R&'8B\ (CJ@%;&,B5<:NZ&8"6E9]B#E^HH M]P@UY[=@D:26)&$&%GXALJ[52JB DH9PQFNUX/UGZ#-,*\ >+3J*4)45L&Z> MZ$]3W\(5,,,(@XW?!=0+,5?_Q.8.L'-RBF9)C>-8CDW.I1TJ>']^>LWK%L9% MDDYA^A6-H)/'#;M,?FON'[:/K*MYO2KXNN#UMKH3JT;P]&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" !J?:)8C):*"^\% "I( & 'AL+W=OSH"CL,,?I=2(>Q*WQ*+LV4^.13'48Q&*F2))& M$5?;*Q'*S66+MO87'H+E2IL+G?%HS9=B+O0?ZYF"LTZAX@>1B)- QD2)Q65K M0M]-W:X)R)[X,Q";Y."8&"M/4GXS)W?^9*<)/#S>J]]FYL',$T_$5(9? E^O+EN#%O'%@J>A?I";]V)GZ,+H>3), MLK]DDS_;[;:(ER9:1KM@*$$4Q/DO?]E5Q$& .Z@(8+L ]BJ 5KW!W06XF=&\ M9)FM:Z[Y>*3DABCS-*B9@ZQNLFAP$\0FC7.MX&X <7H\E<]"D39)5ER)9-31 MH&GN=+Q=_%4>SRKB77(O8[U*R$WL"__[^ Z4I2@0VQ?HBJ&"]UR=$Y>>$>:P MKJ4\4SQ\LC;ACBW\N^*X1?VXF9Y;H73IWV9YL)-,IT MW7?)FGOBL@5],Q'J6;3&/_U >\ZOB*5N8:E;S]+GE"LM5+@E#V(ME;;9PZ6T M2FV5,D6C&MJ[*.Q=U+,W$RJ0OFF8!+J&-7FX4M$4*]LB&M_09Z_PV:O9,A6' M434;%*OSB&LM>)A8$XF&-338+PSVT4+=Q#K06W(;A()\3*,GH6S&< W'H6UW MX X=FSDTM*&Y06%N4,?<@U@&B88$:O*11]8VBNM,X3N8)F=YN>YB[]QF%)5H M:'18&!W6,0I%DPH:)S?M](S,-?1((A69RC36:@N_OM4]+GY]8[.+QC2T2YWR M@^K4,?S(7\B=#_TS6 1>YAIIQ$M8.S,NV;066%D+ M['_50E9J:-^/R\-^L5G5J=H:%.G)1!1'&E>.RVZ\DS)YR#V[ G' M-1__LAH]!271$I,H#C>OCK(XK]?@5'X'%-G9;$1''0R1KK M!&:!U<9P@3YUK;9.P4>T!"2*4\T'Z4&^9BL98P!Q1*3'>NW!H&+,.04>T9*/ M* XWCX$&-)(+0MG/3[^0N?!2!9FTFL25IB&'$7L"Z8\B^%#-M?2^G9$U5^29 MAZD@/SKG#K76P"D8BI8017'Z ?3U@WA)YMOH2896X[C E_?75ENG("9:(A/% ML6:?27+SXJUXO!25<'A$Z./7N960\+"&_EB)2*P6(DU3II69B?*]<:M/7+'*YRG@AY7PPVK! MCYFI =$##BREL@Y#1W0^< 5M?>)Y H1 QL\EK8Y/ 4&LA"!6"X+F$0]#R#ZO%/C>14$O3,7\#!;TRWX7_4@+HXT"%KJ+??%"?A=VB[B4XSBT M-QQ2USH)Q8.;^BQ1B!T!F-VGY#9(#/-]%8 NV,+?$;EVF[*V:R4>/+*IT9)X M& XLQ:K?H=-;N&@??7"QRB7V4^ /*_&''5G5>>5QMY!;[1*7^VS/XRD0R"T1 MR,6!90(&_=QDR)?6C05.:&BN9Q\4)Q3:5L-I[(V39F3X% +DE +FU M .C[Z=,\VU(CGU*=:!Z;>8JU'MX(9';UD*MU,S6SA?L\[EWTG1X=]D>=9YO' M@XTP'%7RQ%X=3^P;D) M[1QL!AM\R_;($^*9A?9\7[BX6NS#3[+=YT[Y>+Z)?\\-_24D% L(=<[[ #,J MWQ?/3[1<9UO+3U)K&66'*\%]HT M1(I*!G])).>0>E^*/,\AX_,G(;_6:\X5^+8IJ_IBME9J^W8^K_,UW[#Z3&QY MI?]R+^2&*7TK'^;U5G*V:AIMRCF&,)YO6%'-%N?-9S=R<2YVJBPJ?B-!O=ML MF/S^CI?BZ6*&9L\??"X>ULI\,%^<;]D#O^7JS^V-U'?SKI=5L>%578@*2'Y_ M,;M$;YIB!HTB7O)KZX^WUU= M7]U^^O#^ZO*+OGEW^>'RX_(:W/Y^??WE%IR"/V^OP$]O?@9O0%&!+VNQJUFU MJL_G2FLP/M<_#(\_[@\DS0- )P!!33_-EN/D5S[OFI-]\KIUW]G%G M'S?]16/V=U+R2@%6UUQY[;3MB;^]661OZRW+^<5,KZ*:RT<^6_SX XKA+SYS M1^JL9Y5T5DFH]\62U6N@7QK(S07_9U<\LE)[][INNXJ;KDPF>%R@C.(H.9\_ M'OKQA!&29+@+ZRFEG5(:5'J9YV*GA>DTD7.M\J[D)Z#2*4W< U;JQ,.JG)N; M-^0DA:0QI2]CBD]TDWK+F]10?O<9:Y],#Q1CF,1F*O:,^<(BDB*_L:@S%@6- MO:\>]8 +67#OH$>>AU)(LX$V7U@4X\BO+>ZTQ4%M-Y)O6;$"_)LF1,WK9E2% M6G.IT]#4(HD=20A!/)PMOBB20K_NI-.=!'5_$8J5+Y"8. ^/49PY,]H-BZ(8 M):E?9-J)3(-IYJ.HIA6FQ\PT1^JLYS;KW&834TE7&5)];Z:0231;S7W5+&&? M[\P9E.W[1O M:U3ZONO>6J04#U>L+XS0+!Z1?L!N-)%/%*L>"IT?)X4B=^TE47:0T/9*?7%9 M-C;_D>4L"K)M\9L0JZ>B++WBL">C$8C3H;C)N+XX2T841N,5O^=Z=:Z 8M_: MD1P?2.+1@" 9YA%O'$VCL>EJV8C"4A1K!,@J"\[6) M^5B]]3U;6J(P+KO::LN^F\+*:]C#RAA19^*X80E*Z=AKL:Q$03@9B7+'@Y7( MU!M+78JG.!T6>;XP&$=TQ(#%'PKS[YK)ZE1OF3N9WDH4^8"&D"/2#<,P12-5 M$[;8PV'L/4_^K9#-?EJ7TYU<74673)E\*)J4:.MPP!XDYP;GWKV2AW,PC:*! MIP,6HZ+N[)X8,:;QF+>=^L5[Z)/3^*R&Q0?; MT# >AT7(P01_F7@7C11FP[GDB\)X3+S%)P[CLU^"3ZQ-[((193!.X%"K)RZ) MXGA,K04HIB^MQ:>D!DG\ZKW_D7KKV[8\QF$>]VJ<;J6/UCG8I2Y)Z+ F]T5% M:3;RBBR8<7@O^N$UB:@[&GC),G&WH#B",!X6[--Q?6<6OSB,WT"*>H4+%[RZ M8G,\>*+(6/V)+9UQF,[!3/4*#RY[L:[DG0GFAJ$,X9$: UM$XS"BG2IZ*A6X M%$80.OG5C1I)5\1RFH0YW2;7"7G$)2I-])08[J!\<5&29"/C22QZ21B]2['9 M%,HLQ[9PH)'EFYXR< MP1,((:C73)H*?J?60A;_\M6)670<%'5M2ORFLM^I6ND+/5V\X^;6 <-2(1C2 M=VBK!#)Q!KU:%29WZ;5GCD5/BPKD;%OHM>@5Z>ZA:8QI/$P0WK@(HI&L3"S= M29CNG[EB^B.]:=)[#SV2_C7GTIH2E,!ATO7%:?BE8RHMUTF8ZWIGM]OL6J+O M-W1BHR?HVOQ;\%&S1-1^X2Z.3Q&-XJ%N3UB*1T[9B&4V>>PT6X22,<%T!GYH$+459 M&I 7E>)ZE7KK0.+C=(*Q,V=\H,XP'3F;(Y;4)$SJJ='WBO;06N/ZL#+=J_9A M/:9),I(_J,4V?26VN\-POV3JDME_'.8-#!R'4^J8MQ.DQ(4Z/"O%C]=:W;B%.)_XAW+YG/\&][EW.QL[ACC=H MY$B-'OQ'.(SC=FZ^FYZ;1]VR'ZNWOFD+=1H=!9HD=%ME\,:F^4V#;? MK;D32HE-<[GF3+\P$Z#_?B^$>KXQ7]?IOIZU^ ]02P,$% @ :GVB6&B+ M:NV/ P [PX !@ !X;"]W;W)KY:6>ZA0!2VU-GK'JS.[/;.FMW]^<4HS -A$N"[MU??R] $12AKML? M:@+?]_B\D.?7#+9D'-"+RAB&9$P-D:#[-I^ MANM Z0OF:)"0-5U0]2V9"YB9999E&-%8ACQ&@JZ&QAC?3["G S+%]Y!N966, M="DOG+_JR:?ET+ T$6745SH%@8\-G5#&=";@^*=(:I3/U('5\5OVO[/BH9@7 M(NF$LQ_A4@5#HV^@)5V1E*FO?/N1%@7U=#Z?,YG]1]M":QG(3Z7B41$,!%$8 MYY_D9[$0E0#L'@FPBP#[O0%.$>!DA>9D65E3HLAH(/@6":V&;'J0K4T6#=6$ ML7Z-"R7@;@AQ:C1Y>IS.'A>S*8+1XNGSI^GX&28/X\_CQ\D,+3[.9L\+=#DG M@L8JH"KT";M"']"WQ11=7EPA&< =B<(8/0<\E21>RFMT49L/3 6@^G&F7T ] MY%#V$:@O1-P@!U\CV[+=AO!)>_B4^F6X4P\W87G*-;++-;*S?,Z1?&,&FYW$ M/D70-K#Q?)[&2L(F]FFX(2^,-E68I_2RE+J7-B.G;P'-IEI'@\AS[5)4HW5* M6J>5=@Y]0(6@2P2;QW^]1@D1:$-82M$EO)8E9XP(B1(J\I=WU42?/^*V F;= M6'B/OD-4HW=+>O^Q=JAI\KX3O M_1)\*&7:#=X[0-J';E/4@+T2V/LE8/B^EPIZ-XS77=1>)W6;HD9]6U+?ME)/ M&)$2C=&$1Q$XP4*C-Z&U9M'^>"\3XM.A 08HJ=A08_3G']BS_FKZROE-R6H% M]\N"^^T%YX6>T<_]]_1SAZB&?E>BWYV ?G(SWQWL'<=JZ.9.68T=6SMSM$ZG M?U\W%YFK3%ZOA_M[Y(TRU[H[0EZQ=7PZ^0EM7:3OQ&^2'&3=N=^[SVQR_R[>[5'7\G7/C=NL^L]7QH27;N'?8Z]VZ M.O_.O'&[>Y_3[(?.C%W+))=D!YX0J..]DP@!,I%5H ]U>)/O.4 M9]S1_U!+ P04 " !J?:)8EI'R8L=2W_P%:4"O,51PB]'*R'6 MY^,Q]U; MV\?9[0V05[.GK_S>N*]T"U--E29F<(3 MJSVSH7S.U\2GER,Y5CE-MW0T^?,/:!M_J6@-%*Q!TJQ(FKKHDUNZ-K:UIC)Z3%,EB=@21.:RH;)F)- SB,A%RG)9E!M(HKHYF$C M>"9"K:9267D&5+>44T%WM-"G*Y(L:3:E+$B8@BV)-A2P!: D34YE/0)12.9A M%(J?*N!.!Q+$V#!;P+M6AAJT6X%V/]#[_0]U,K>;-0@MIST.NF;0<1WHJ(%Z M%5!/"_1I3;/F3Y8RP3Z+J0J@U_FRC2S+:.'K6IF>[;IJ>-"HRY*A!7B?""K' M@RCQG8"$"F5),;HH7:^%46$$#0/U8#PHG5"?1+&BZ;L H::3E?"Z)MC"?2E$ M-3ST3@HS8&!.I=BC)4P@R)NZ.Y;!&HG$"'=2V36SY(S0![:NC5!;E?9@);S] MH%&"Q(IQ;:+VN%:9>6;/V(9U:8/ZVO9(A6:XE,[-D>!"JXVM:V;)_/4EL"YL M4%M()E\IY^=9)]RW-!$B#><;0>:1S"L#"4M.?2FP4I;7!&E6C# E%TLQ8-S. MV%>8>=@S>ZC410OJJ]9C/XFIE/T;#F1O.5/BMCNJ ;N>W6F#KIF)W%[@=N Y M9<'&%_N5I!+AH(OFH:(U^=;: IF_O#F M++D:*(#16L2K74*TNN4]S<(R@"- MI;_A6!"VNU[7#EJ>!?O&4ZT_D#W )@'2BIBC6V6@:$W*M7)![R@723E;7>N& MFV)-C0S;[LP("CO#.!3"38RUT$#ZQ?4+30ZZCA+BH.)AJ&A-NK5X0-ZOSPA: MW7$TT8&B-7=%:W&!]>+B_1D!=]?OE 968;;L]:"Q]LINL%PEU(HP!DS$._ M6'&P?#M&AWC87?;_0S#@6C#@7Q<,>%#!,%2T)M%:,.#?%0RXNPUA(MMNKR=4 M9M!P>G9><"T7\!!R 0\J%X:*UJ1E85LO,:,*,H).?3430X2N5)@PF@LA5EE'Q=@4I MWW0-VW@_>$@6L=('9M!9T@5,03TM)P)W9HD2)1DPF7!&!,R[1L^^[/O:/C=X M3F C=]9$*YEQ_J(WHZAK6)H0I! JC4#QL88^I*D&0AJ_MIA&^4KMN+M^1[_. MM:.6&970Y^FW)%)QU_ -$L&)NBG@O[]># <3X<#@JOI_>UHT'O$S?01'W?#\>.4W%_C MU=WD87B#=J/G(1F-<3\DY^1I.B"?SCZ3,Y(P\ACSE:0LDAU3(2^-;H9;#E<% M!^<(!Y?<<:9B288L@FC?WT0]I2CG7=25TOQ+$MKG?3_!+87"*\,A'<*/1AC5TIRQ74R"]]6 M[JN;SSKP+GR[V3'7N_RK5DW'\?W2:H]8LR36/$D,.P+6.\."$P)8^$;P8S"9 MTJ+31#^Q#O7WJ\WM MG;(73N6^X!ZZJ1NV.SQ[E5 8-6JZ30O['J*[9)B^R3%6Y#RDH0U1 E52B2SE:*S%(CBA'%V'F(7$#Q% ME 6:*< $5'6*VA6NMM5JMP\45:TNO!VC/4%^*:YM>P?TS9W&GX%8Y/-08L173!7MLCPM1VXOGS0'YUFF./8#!<)DR2%.4):C3:FLBAF8[%1?)F/EQE7.*SR98Q_)T!H [R? M-_H%Y1^4X#=02P,$% @ :WVB6)^=WS77" 9$0 !@ !X;"]W;W)K M %G'3__0KL&B/)JNF>?HG!/N3JHOON8W5U46Z;/"O8QPK5V_4ZJ?ZZ9GGY5DW[Q>SJ M8I,\L05K/F\^5OQL=D!)LS4KZJPL4,4>+R?O\-N8=@Z=Q1\9>ZF/CE';E8>R M_-*>W*27$Z-M$?>]#)(6;K>'S\#3WJ.L\[\Y#4 MS"_S_V5IL[J?RI>8[3MDM7C+,J^[O^AE;VM,T');-^5Z[\Q; ML,Z*W6?R=7\ACAPP/>% ]@Y$<"#."0>Z=Z!B!/>$@[EW, 4'TS[A8.T=++%) MU@D'>^]@"P[4/.'@[!V<7CBZ70=(D5Q=5^8*JUIJCM0<=(3IO MGL*L:+F[:"K^:\;]FBO_[C8(;Q=A@/C1XN[]3?#NGI\L[OG'A_#V?H'N(GYV MY_\GOGL?A)\6OZ'POY]O[O^/INCS(D"O?GF-ZE52L1IE!;I?E=LZ*=+Z=_3+ MX/QBUO#&MB%GRWW#KG<-(R<:=E\V2:YP\_5N[](T:V^*)$5+7Z%W; MO#4?4A9-N?SR[:1N3Q20\3F0U^="SCAS#_0E!_J2+@8]$>,ZR9-BR5#2('YU MT0-[RHHV5:A\[+[8L"HK4_2*M:<"6;Q#%OR-B$**BIC9H.YV\K3?) MDEU.>"IK5CVSR=6O_\*V\6\582'! DBP$!(L@@2;[\#,#JR=?I^O;,,SZ,7L M^9A_LA4V/<<]6 TH10^4HA"4.H=&NT#V4?L<;)BF->R&+YM1;%C$'9H%LAFQ ML6.;0[-0-IMZKF 4R4:8NE+(N6S&TR D0;8QU DP#PDP.Q?K1 (6#1\N^?*H M::]X-VJLRCQE5?W;[ -;/[0'*/QSFS5_J:ZY"7GK0H(%D& A)%@$"3:'!(N! MP 8\M X\M+0#P4U=;[N1@--P>31M'<\F*@9J4<QN@D)I5C=5]K!MGT24SSZ.U-DI MMDVA)[XVUMB;'Q(LA 2+SKH8<\B0,1#8@"/N@2.NEB/WR5>4K3E\M\!AW4H& M-552U,GR)&%<^>YPI86D;#3%U'.Q, 9HFS>6"9!@D=P!;+O$%I@ &3(& ALP MP3LPP=,R8;>*1^RHP:XI-@H&_56 * HD6J+F!*Q:%E M;S9XR!92"]6N86Z/]%JLS>U.15P.5,1LKR+F)U3$ZSWF8$DLJBF^/O#8P0 4 M+51T@!!#$#441JZX?@1M5@R%-N1"+WYBO?K9B2/3MG23=HS@=$C:%822 K)8 M1AV9 PHKPS#%&QU4A01%BQ0]L#U/9 %DR!@*;L'23^H5?^)XSE)6 MI#5*V3+GBX=420(JCX(.IH;( FW T2/!64%#T* 1*-H<%"V&0AORI9=7L58U MN[IES7[&4%+$E+)E$>*Z(D5 I5%%4).XGBAM@P:-%$$]*L:<@\:,H="&J>\5 M3:R7-(7:!A\O](6R#TEUJ'!0)5M Q4Y0M 4+01%BT#1YEA6/&W3-%UQY2J; M:>IEN%YU1ZP7'O]Y(5R=%4C5S0=%"T#10E"T"!1M MCF6%U+9,J1*K,,.F<:2/#[G5ZY58+UC^6$5%PF?8IN-(2U#9T+0M XOU M#)6=8=@N$6]SA38J*8N1JGF>1\21=+ZWLX<)$=,A&YVZS7O!$'L_L3:.0;5# M4+0 %"T$18M T>:@:#$4VG#[52\U$KW4>&[!BZCT-UO+ 4J2(*B M1>==D#EHT!@*;4B67KLD>NWRARI?1"']B35?_QRC0-^ZT72 1(L4'3!$*H!* MEU!H0RH<[=O42Y<_5/K28X[>EPF[,1-V9R;LUDS8O9F*;9>>L)**H4(.Z=5K MHD2OB9Y= 2,*<=)TQ>[X*C-JVK8XPD#JA"$H6J3J C8I$4<9Q393,;<_0[\D MO7Y)]/KE#U7 B"SV35VI_*&//'I( -WQJ>J!+:KHD MU"1Z47/13ABH8IMMM5PE-?O^- (J6H*B!:!H(2A:!(HV)[(:.74=<:CY&=LT M2:]L$KVR*5%+22>%@DBI0\2Q16%&/'&F"?0M&DT T"V:RIXZECBXR/+F%(MY M_1F;-$FOEA*]6CJF<$YD5VW"BMJNX:87%#)$A0M4O3 <<7".6C(& IM MR()>UR1Z77-$X9PHY$/'DS;LZ@..G@O."AJ"!HU T>:@:#$4VI OO?A*]-LU M]85S(N\+-#T7BWMT]3%&4T0.2OG3BR52!%0.503%AFM)>@6HS@F%-OR?P%[G MI'J=\Y]4SDT57?3QQBY"0=$"4+00%"T"19M3686U+0N+E7.%F::R1GM!E.H% MT;&5PM@P+''R]A6&IDU,L=@=J.PHEC8+A@J[*38ML:BF,".&0XCX M4*JPX[D0,R$;B46UV=';$-KW;_ +^)05-&PO=V]R:W-H965T&ULK53;;MLP M#/T5P1NV%MABQT[;H7,,Y%:TZ"59G6X8ACTH-A,+E2U74I+V[T?)CI<6;K&' MO40BS7/$PY ,MT+>JPQ D\><%ZKO9%J7IZZKD@QRJCJBA *_+(7,J493KEQ5 M2J"I!>7<]3WOV,TI*YPHM+Z9C$*QUIP5,)-$K?.*0%)9TS?6MV)Y#K>?(\"6"*_M+MG6LYY!DK;3(:S!FD+.B.NEC78<] /*T M _P:X+\$]%X!!#4@L$*KS*RL,=4T"J78$FFBD%;H:;OA W]-PFOJ>R0H/N)^)[?:\EG]._PX(UT@J;.@>4[>H4OUE0# M=K\F8DEB+9+[3/ 4I,)Z/JR9?B*_!@NE);;U[[;J5>Q!.[L9]5-5T@3Z#LZR M KD!)_KPKGOL?6V3_I_(GA6BUQ2B]Q9[-*(J(RG;L!2*% HV057F[M[8Y"!7=ILHDHAU MH:M&:[S-PAK8.7WA'^(BJ_;.7YIJ"V(;K5BA"(WTOU4V^$J-%#653Z8K"IZ^W9:*2SC2BY_BBWHH)?5E*5O(9; MM1[IK1)\:0>5Q8A$43(J>5X-IN?VV:V:GLM=7>25N%5([\J2J\=/HI#W%P,\ M>'KP/5]O:O-@-#W?\K68B_K/[:V"NU&C99F7HM*YK) 2JXO!)3Z;L<0,L!)_ MY>)>'UTC8\I"RI_FYLOR8A 91*(066U4F@>:<9>'S] MI/VS-1Z,67 M9K+X.U_6FXM!.D!+L>*[HOXN[W\7!X-BHR^3A;9_T?U>=AP/ M4+;3M2P/@P%!F5?[__SAX(BC =@W@!P&D.X YAE #P.H-72/S)IUQ6L^/5?R M'BDC#=K,A?6-'0W6Y)4)X[Q6\&L.X^KI[-O-U?7-_/H*P=7\VQ]?KBY_P,W\ M!_S[>GWS8XZ^?4:SR_GOZ/,?W_Z>HR'Z/P(K&%/)DRB<25/B5JX^(X@^( M1(0Y\,Q>/IP&X-#&L]3JBWV>Y7J#5I F&JV4+!%DGN)U7JWW4S>O<^'TVEXK M=6LU67VFMSP3%P-(6RW4G1A,?_T73J+?7":_D;(3![#& 2RD?7H#BU!>9;(4 M+C/W8Q,[UJPU=U,V27%\/KH[QM^7B@E)TT;J!%C< (N#D?DN,EEE>9%SNY+( M%:H:J*B6]BXST=LJ>9?#Y$2+1V?XSER&Q6\9OS=2=N*FI'%3$HS?E0"EV<%) MD..(EU+5^?_L Y?E>W7L*%@XCEC2":E#BF(&))&'< .F0EVPTT;N&D0[KR6V<^AH9\EX"R!D[478MI[/6.4 M=##VA6C*/" G#/%4BLU+\P"Q,&9M9M$<=]5)$J[2!U2.*+4@Y6T6,G+\NII=>0/ M[J ?])Q.TXAV8?:EAIA%/I>V5(N#1#:=;7BU%J8@6?%[(1QJ^"J&D+Q MBF"M7\""7S\ZL5/'DD0CU@7?%QMBXDDRW+(D#M.DG0ZV0E#" &](J<$,/Q3< MI!YP$P0 ;C.1W_%%(1!?*R&@JJZ==K$>X.[:YA 94H;''J-:AL5ABMT'1)N( M'!&GG>262IYL\Y$H?E,6?2MMI\YH>12'B?0RR^2N LO;P#EM[C/CD$88=T/F M$,-0$_ERO:50'.;0I]734Y=B!P_27HXXA*(XB3W86K[$8<*\56++\Z5EH0IX MQTXB66^$"BV=?58$1W41]X4(CGU9W7(G#I-G$_,M?_0&W,&"*>YQNTLL(2EQ M0R0M6Y(P6P)$M1-.GQZEIPLXZ?-B.F9=SSJDADG*?+A;_B1A_KQY:7GNA-XG MRC0A29>H'&()E+(^["V?$O*JIC"'G-,O@1VDZ=>NAV^E[=0)+5N3,%M?9O_L MH+!\XCF.%CL-(EI_L*T7/++A-=/17@@0!V84)IVX&:NZ^P4')_4)NLMW#I%A M@M,T]C >:6F%X0CQ-,&DY MF@1IS]3WF1#+PTR$0A0 !TO1@[[3HGG2I0"75.*K1$E+HB1,HDW6[[0M1U^> M.@Z^3-)>!>T4HQ3'OIQO>96,7Y7S;8OZ#/ @7;\ZY]](VZD36@(GSQ'X\62# ME$"YUCOP@ZW3"UFMA[50)5J*A;.6)7V:[N6V@^[C.(H\6PNDY7(2YG(S];9! M_+,"L@9=FEZ^A$5-F_;>:46?RGM6N-KG23KVI#MMZ9Z&Z?Z6/Y9V"06\2_=V MB7L_LD_C75=8F-:>Q99NG1 MIG68FZ]R7:M\L3/DK(T1I2@7/JBNAA@JO"Y4IQCSS8Z6<6F8<;^+[4YE&S,= MS)RVCG7C=#!H2I(N [C$&&4^E[8\2\,\ZZQ7WQUH[/V+Z8#V>16F-R;CKAE] M.0I9D/CL:!F8AAGX>K42F2W/Q$.VWW"!DEN@[-#KPQ3WUFU.@QP[P9CVS.E+ M,>+A9-IR,@WWNH=O$\HL)NC=4NROWINZXG4V]/M=TR=T/V,XQ(8DF>#(EP0M MK]+T^>+"H+47URW:#XC7\%"I1S.U_K([8O^Y7$!VPS3[K].6((._^LO3&VD[ M]4O+V33,V3-?%#^@A5CG566\ E,9VL9<.KL)ZB!B2L>3;GWND*.,Q<334;"6 ML%F8L ,F"--7A, SQ_[VA)&XFUT.N7'LS2_6,C?#P6DYWVVWA=V8A)9HF>NL MD!HZHJ:W,^4P)-O^&(+GPP<+%@>OG8]OI>W4(6UUP,+504L"IC@P'U2>VU%G M?8;'26\WT"$5QY[]=-96 >R9_?0.4BC-H==RHNR3>TQ[7W'[0M2;'T>?EUEP MCMW(:FA=>M0)5DLGGSKWF%FPO'CU_'HC;:?.:(L,%BXR[/F;H5P-H:YXVFB7 MBYJ#F.V6&\HV :W$_;Z.!I$B7]L,=,_!?BW!XOY'>H=4.F:>^+;U!@O7&] R MP@)7/]JHFN5O:]838PQ_P>;J0?GQT0&2]*H+AQ0FK-L+C([.UY1"K>VQ(XTL MB/WYE.9I<[3ITA[HZ3S_A,]F^P-*K9K]>:FO7 $K:0C+"E1&'\T!([4_@K2_ MJ>76GN)9R+J6I;W<" Y=A!& WU=2UD\WY@7-0;#I_P%02P,$% @ :WVB M6+_'YG4O"P N!X !@ !X;"]W;W)KU];6/H S31+V## &,**T7[^G M&Y@+:4K1P^[+/B069X"^GC[=P+S8.?\Y;(FBNJDK&UY.MC$VSTY.0K&E6H>9 M:\CBS=KY6D?\])N3T'C2I6RJJY/%?/[C2:V-G9R_D&=O_?D+U\;*6'KK56CK M6OO;"ZK<[N7D=-(]>&5I_7*R M/'UV\9C7RX*_&]J%T=^*/5DY]YE_O"Y?3N9L$%541):@\<\U75)5L2"8\27+ MG/0J>>/X[T[Z*_$=OJQTH$M7?31EW+Z([M_N5LC\_L+S"54'^ MKW9Y[7RBBC9$5^?-L* V-OVK;W(<'K)AD3/[64Z.]E@BYM7IM(WE3JU?&:EL87:FKJ",A"S$H M;4OU1]R25Z_Q*+PXB3" Q9P46=E%4K:X0]F9>N-LW ;ULRVIW-]_ L-[ZQ>= M]1>+>P6^T7ZFSDZG:C%?/+Y'WED?C3.1]\,=\O[P&VW-OR4<4W7I;'"5*5-T MV'M$*R 4?;B.ANF?RU6('G#[U[$()0/.CAO )?@L-+J@EY.&=?EKFIQ_^\WI MC_/G][CWN'?O\7W2_]O)_I\I4Q$JJV,LGI%\B26V8PK9BIK[[]INGB\7\>7HHS^3)Z?/OQ3X#1:%= M!5,:[0T%]1W+[#:YNM'VMMLPA2%%U9;&;K(2E59@WU3]]MOEH;;^;2=AID9V M*'BDU=95(K!(NM1NZP(I9ZM;$ ('%T'1(8#(>;E5]*4U\1:6X!V%*.Z;$%D$ M?&\M.]0'B)]6IC8JDQ$XP(JS>L MLJ9ZA:SWN1A)Y9BC]P!!^0?LCQYTIW15\0Z6MFH#8!?2 KU>:^/#G=(@H&P+ M=@+_]3OCUKMVLSV^Y3#I,[7D5" 68/WIGG\#NBAY.D U+;_;L*^@Q0\3A%F; M=?91=K[BH/49]51I3EATHI#7=\C.J<#>J-S.8M'J=FSN%/ QQ18B$!)HM P; MBWR3TC%ZLVJC7B%3$,VXH[VP=K5Q^N0Y7*D .K5DK-10CHY5?)XJE+ZZUE5+ MZB_SV?Q4(9$J;+6G 2U']@W(^?FFH"8"S\HQ+^P,H&YL:0IQV'D8#GC[Y%#:U 5 F1L=0^ M=K<'!;7?3RX1_+&C0U"Y"S:M;X3\UWMATP)W6J\Q\MZ%D&P)8"H#3(^77U-W MN2_5L[N7LVK-':FJ;A\EOMEW= !5XXWS'65ERUE;RJ2])I\RB17Z[I8T3>V M>0JOU][5(Q5#;8X $)B38A>&KP*%@IJZ( MU.\.+Q<*ASJERU)>0)RQZ927#EQ[O65/PBNDV>U8R1&0]6ZBQ9"$,W=Q&:%%<[A,;4Z2<=4X5TD3>D_%UKK*;02$'.36:DQ7,47FP3$: MXM[(<)K"SB'W)593(A[^W28* %8A!.02U(; !B"/6WZ/UM0-FR2-%K]DG)5$ M+T&T:%0]4'Y9+M_V%,LA-WD6'HP<11XCAA@$_=6ML$>@!_A6.NGU:>XDH;EQ M.J$5KRGL]G:7$_WD@QA'0Y2<5Y-_#P M"((<\52%V' _*5KOV5^K(R X!;8J1N*+6#["A06\H>T%+HJVL2ZB8C4%BT-FS>>Q"7DH3!R'29L MKZ^U202)7&@N<9,'_AZZA6YD 3:OB&/'MGB2ZU2R0U9)H$:E>O*GG"! M@, '@P(+P_3KN, 9;JV&!7K(+LUZS3\BPZW$8 8<6!GC2D$ 1YANR!=L83!( M(99K!.=36TI'8 J,[>C@5 BUL%P00G?8A::^Z?T)CKI,),)N]F\F'H3I&7BK MX 0N!QR^]<[B[R*C_HIG2>W+P-U5_0,'JF7I))X(8$]G:0:66;U7,Y(Y"+EP M^&<8-I97%WT/,? /8H]N^]!(X^_V+:\^]-M^=S-1_VC^UVDW:+Y.9[[W^H9' M^?>N,85Z\GC^?7?W(82$<+)=TUC)?4X MZW"J%1_B-DY.#SDE^>@9]8V248%+V_+18)C-&N^N#?/Z,*\,!9_HL=_%AV2Y M2)+LUWRYK3OU"-R75K/)B2%Q/J+ 9UP<.CM'=H:;1Q5<:F>Y8X[=2XX)UW:6 M$T^81FA(;U"RFU1=0"F5W&:G"4[B#*PE #]OXR?"<37G4XY^7TE=)5I'"#B@ MGUIO DA^A/'LY9I]0F\0L"(F,(3K97!36H*+,G0<*N%; +S&5-K:DF>%@B"N M3&V)4RXQ009"SWKC'(Q/=BOJ+IS8$.&S#[,KGC[1;U.4V6V<\[?:;GCRJVO@ M6D;/MNKO0&IW3<>5B=/6J:V>4>3+.8 M9+UNFLID8F3P,7P$, G,0F8,$^ZGTJ;X':/P@;/.&K[HZKZ1Y_$TQ8V$5363 M"8>G83Z-D=."?B5^8X*!)UA$?.>2#II25CA*=/VSVRX3 3<*VJF0:2-Y(N.Q M2^>04:2E ?R./!SR%RBIIR*$;J"7)P.]U%RVF2 1UQ00:4E7:?I7/XURF@EH M\73^?<<_8TQUA+/?Z %C+QJ8L+/0O=%WS$1RRLL35$JD3!/POFE7%71W9#9@ M'N.!YFHX6) OP'J58VRB6).M-Z?HYQ5%&3#BH M44]Q*% $C>\..*5RU9!GZ\.O!'=\2\C7 /^')7T$J+-C'Y5.1E\3Y?JF^T;[C4&#JFB-K?/9DQ\FRJ?OI.E'=(U\FURY M&%TM?_*E&GE>@/=KAT-K_L$*^H_5Y_\!4$L#!!0 ( &M]HEA5N'&PO=V]R:W-H965T5N1KGW]=5DXM)Z4I^L<$U92KM[KPJSO1E-1]W" M9[W)/2U,;J]KN5%?E/^M_F3Q:])KR72I*J=-):Q:WXSNIE?OYR3/ O_4:NL& MWP5YLC+F&_WXD-V,8C)(%2KUI$'BXU'=JZ(@13#C>ZMSU!])&X??.^T/[#M\ M64FG[DWQ+YWY_&9T,1*96LNF\)_-]A^J]6=!^E)3./XOMD%V,1^)M''>E.UF M6%#J*GS*IS8.@PT7\2L;DG9#PG:'@]C*GZ27M]?6;(4E:6BC+^PJ[X9QNJ*D M?/$63S7V^=N'0CU]\4H5XB[]WFBG*5;7$P_5)#!)6S7O@YKD%34S\8NI?.[$ MWZI,9<_W3V!2;U?2V?4^>5/A+]*.Q6P:B21.YF_HF_5^SEC?XA5][QN'%>?$ MO2E7NI*A)*I,W#F'TA\X+_Y]MW+>HES^CVSW^:+N._ON'$O'=B_I;V'T_6FVJ.&WE4M_A8B0>UL@WZ5207G(V9V"J1 MFK(NE%>9\+E":^UWF+7H58W%ARHMFDQ7&[%&T LAL]]1TVAJ[P001:2%+<=SMIX55>VIE1"$]+/+PARWTN;:9^([ TC(T M4)U'0J]%JJP'F +Q'E750%+"%_+3DE]>K';# ']J;)H#E<0GJU.%ZA[Z! ?: MN->=6,UBSUVG1!RF<8NP(A[G^WB$++@6OO5_D7M)22R Z^[J;4/N7\;[1"#: MT2)>B+LLNR)YCP*@<#Z7>S<]%8OH)0%8H)X/9="OU9NK:R%5:3Y M/)HO%[SWL^(:ITHA'Y7S&E@.L?5>'?R QL,09!#KUG\TYUB66<;[CY?9_YW@ MKZ\9_9IEE+D,K6DQ+;"CX?Z2C,](B[2%$4Z731'L(5WA&X[.368*L]GQG,NH M_6IK5G*E"^UW9UN><%BOE64V4*543^;W,& =%XB!319M6#?>H9S[]IV[-A6I_FOSBAGFK$$;)M6;B^+1%N;3+QLZP8AJK@BOK$7T3VK:='OL=[8D'N/9Z M(U\%#*(2Y:Y$&6G8SIDX <#,IDM 1:JPB,.=6%Q$<9Q@?B$9WEB-I)]?#IX M/$?:+D];GX:/X%]38LN[Z8SRB#'PJ_(OO)[/$G@]%7\W)MNB@5$(T\M%E,1S M+LC#<2A#< B%T9D!5P]++8 HCX$@#2&0#PUJ<@]&V0 0%.\#0/@P08.*3KBS M#NSW-S">EX/Y^ DLU;J'Q QCL54M)-J,#F0$0.-B*!+@X$HT:&3W1@>-!P.X MU3H8,QA:& BXQ@6Z%6 /S0\L\@1_1-]0.53"^YGCNE$2%# G.J,=N\%<(C.U M++3#Y9/S=DP83BU%%8]I40L"<$04,2A!OY(S )FJ7P/ M4Q2T '\NUW6(]$JFWS RVW+H!<, #'"#P6OUJ@&*[ 3 RF[:[J%CH5 K0*DU MI;!F)PNXWF:8X=\"M2L)M*8-&29# 3#!5I7F%8_J$))A!@=)(16R:VG;HUNT M7^SZG-27QOGC0'904E$KQ616MPBYBT)-[(&UF]&IM'9'T0FYR(CRF+8*70[: M?D8&"]S)P*['X?IAN7KVV,NJ:;19S?-T#1:Q%325+6H#%M$%XDQ79\@:2+\+ M-F-J:%R-,[%!A[O#4/$,>R;!;=Y-N7UW[@F 4QCS\(2G303(PD$IPM8W32>@ MUG0?82.D(#( /M@.M;7V/,BVC(NAH@@1S!$%QTS6PS&PUD]L)Z?IP/J.^:6# M&R_V[]NGJW'*Z(I8C=7$[(M=X*S.AT@' H7:Z'MBFVO\#Y'@X#A6.!F M608B[_S^FB0 SO'2$)3.]<4X2",75[ M*V#8U2]A-Y=(0,K-F+7(_)P%)J% FDJ"93,U_P/;$,?6K!8>!@_#-;$V--U- M5>RZ"U^E=$OJ,TWLZ['G>\=] 2S@%F*:(H,#)-QY\(J'7GY3&!14-AU!7:F- MK@B(^^0&#KRWO3*'!K6W<],3BM8Z"I$%KQV^H H,^G/'M$]$<@%R=S%GFO"! M;P0P)< V]QFZ,\SOB!Z/Q3R.+N*9./9.9S)X&B5(\$$ #>\E^M7^[>: M=^%EWEX\O!+%;01Q<,"9-;;&X_/%*/##[H&ULK59K;]LV%/TK%VY1M(#GAYPZ69L82/K M"JQ8TA[+F1H61:]EB9>5\HR*&?CT.K6=5):7&C(O)9#YNE+:# MQ7F:^^ 7YZZ+1EO^X"ET3:/\[HJ-VUX,IH/]Q$>]KJ-,C!?GK5KS)XY?V@\> MH_'!2J4;MD$[2YY7%X/+Z8NK$Y%/ K]KWH:C?Q(F2^>N9?"NNAA,!! ;+J-8 M4/AL^!4;(X8 XUMOM).53]%C5T(N+R[)TG8V!/G+)>J.6ADG9 MBBX-TJ5LR83$TRO/E8[TJPN!P_DXPK&HC\O>R55V4MSC9$;OG8UUH#>VXNJV M_AB #ZB+/>JKXD&#[Y4?T6PZI&)2G#Q@;W:(PBS9>WZ/O1OR@?ZX7(;H42U_ MWD4TVYG=;4+)H^E\\O(!E"<'E"&5)GGH^L+FGT@;2G63%8ZRQ"L^\#D5K3L @"%,*+?.G\DKSP3 M\%0./:!L-#MRVB0,:Q7@J#7.J]SGF&N]J[K<]J5K6F4U !E7JLC5WO67T:?L MQ!\E7]R$VOGX4V3?B*A5L?.9;=RUNE0&OJN.96TV$5+S"55J!\1@7#E0BMAK M2I]$8(5#)."H&)'^UK&-QPY'= CMS2ST2M-5 J?):TMM#) +B++SGE, !,3* MN^8X2A#H[%ZZ5Y;4] $)"<8&H+(Q2:\NX:AE+QL\ID5Z6^NR3DZU70>JU883 MK1T.B26SQ1:^;'248(*_!/, 842?741&#R@\;]AV!TXI_.H.SL@BTH_&AN=] M9R>,KR'3+-GO9V>TA>SCV71TB@T1$/N[E!HYH:(2 M[WANU6U?GR;7+1@A6AM=Y45AER.9RG-/ZJ9DMHR8& V:HKJ$-#*LP[6(B\D1 MO;.$^D;HI:90OJDNL9I,WX]D**9;AR/AECL=:PH:/)7/?LI:R7;%&$1=AG1( M55)R^Z1 _&\>[HU+FR"K0VK5KI%RK*'G_&X(17OMNS:6.PH199_KR0&FIQ4\ M.%38M75;*T3[5=6V*$6$%"V(<'-US$'*JH0+G.ZHBYI_)$0Z'*($(=D*UCT\ M:;PL7N&8(U7]!7)]N?8M@5:W,(K@9FA8XE*%F IKU:4V9LA@"RF/9(]:L&*6 M%N@L3M5T;4B%*=T/EEIZ9HT"0C__('.9[,J)A% +44>0TANE:\$D%3$@R:N ME$E+**V6#R95TF6(AJ0S'2I]KSWSKX/UW=SVFV7!^ M4N [GG173XF5:/9O,?FAG1M/A!'O@T]GI_!EL_/R,"IK/3^FN M$V]\=%-!9:[3?2Q0BG^^M!QF#U>^RWS3N1'/]T6 6",99'@%U[SW>P M/(BN3?>>I8MH@_1;X]K*7@2POG(N[@?BX' 17OP#4$L#!!0 ( &M]HEAJ M!15SJ , *8' 9 >&PO=V]R:W-H965T4,VD* M9+,OMFX\/(NF??(09XZ;7QZZ0+8;C),B\[[(6?V0$-[336]2+0U+69 M'QR*.AKU.BOS_#KKA3+)9A77'MUF9<>@E<%'!W[L>^%>[U#;_3HIDK>%)]5V M@1>RS6H0+7[&\/OPZ&B6'5%JU:/QRAIPV*R3V^+F;L[GXX$_%.[]R1A8R=;: M9YY\K-=)SH10HPR,(.BWPWO4FH&(QM\'S.3HD@U/QV_H'Z)VTK(5'N^M_J+J MT*V390(U-F+4X!"E1FLBIPQ?RN?@:%>17=A\-#LT MP3J%?I4% N3E3!Z,[R;C\BO&%7RR)G0>?C$UUO^WSXC(D4WYQN:NO CX2;@9 M5$4*95[.+^!51W55Q+OZAKI7>%!>:NM'A_#G[=8'1^GPUSG%$V!U'I!+Y,8/ M0N(ZH1KPZ':8;'[XKKC.?[Y =WZD.[^$_JW+N&A\GMH)(IR.!<7!!Q&P!A$@ M= A4G>C -B"M#V =&.H(5.9:_2.V&F$G](@SN.==Y2GQ SK*1P(8O3(MHYE: MN'JR_W'?*=F!& 9G7Q05#_OUDB(6*_%PJ",_ M-G9*Z!1JY:B608NM=30; RE)(0BGFH8&C8LE2% U6/+548^*SOP,?CLCAF6P M!O34$_$J66"L9 MHI/H>HIH/VAD7:S!#]8+'5E2%AJ:NA!%S^!INK;I>GI!8:&N"_@BV4N4M?66 MD(A;P-['=D2+%#H@I#9R:RBQK2-J4V19#@4]I5OBV$>O*#MCM6TIV)IOFKKQ M,\5'=HS!,:&4Z,4KJ)[2*=!5]VS&5$)G*0)TI_4H.:RG*24M=6I.G2:&K;&: M4HK4"E_4#2NRWE&<\>1+[X^5Z^!Z*9?I^7M"@+--J4<$7:N?OE'E' M[EK'$2BJM*IR*(ITOBC@@S**^EX-K;4U;2Z*=+%83O]EA,GG:3Y_'T=7Z75Y M!>=*-#OIG3VZ-KX0K&8T86JCQ]7C(W0[]=[_CD\O&.ELE?&4% V9YK,%M24W MO0K3)-@A=N*M#=37XY"3%!T?H/W&VO V80?'IWGS+U!+ P04 " !K?:)8 M@D.L1Y # #X!P &0 'AL+W=OL">=FIM.NE( M-9O8#@9E%9RZ-A9),H\[J?IHO0QK5V:]U*-K58]7!NS8==(\G&.KMZN(1X\+ MUVK3.+\0KY>#W. 7='\-5X:T>(]2J0Y[JW0/!NM5=,9/SS-O'PR^*=S:9S+X M3&ZTOO7*G]4J2CPA;+%T'D'2[PXOL&T]$-'XL<.,]B&]XW/Y$?U#R)URN9$6 M+W3[756N646+""JLY=BZ:[W] W?YY!ZOU*T-7]A.MAE%+$?K=+=S)KU3_?27 M][LZ/'-8)&\XB)V#"+RG0('EI71RO31Z"\9;$YH70JK!F\BIWA_*%V=H5Y&? M6U\9.E_C'D#V%;S_,:J!*NX8].B6L:, WBPN=V#G$YAX RR%3[IWC87W?875 M2_^8B.W9B4=VY^(HX"=I9I!R!B(1V1&\=)]M&O#R_\B6P54K>_B0 O]G!?+FD0K),.*Y .2FW=#+XC-6<_UE3$D;:UH?6>BCJ6#CJR %V# M'@U!HK7>XH(:QE#7&T*4[7-T:Y'R.1O4;<,TKY-HO6=S9,:\]!$ITJ_V5 M]ZSL4W0_ 50/@]$;'QK&WJF6MKNA18>SMW+T_LHZNXL'M6YIC!&A4Z#>+)O0 MG)=88G>#)B@?/< [X'.69>)).!]56Y&?#0%41T3NT(>PP%/!DH+3G[/B)"/@ MLJ$C,Z^Y\#1AR4( %PM6S 5<([83G+U5E?61N,C";\'A&S:J;-%">L+F^0FD MTIEUP^C0[(+K MVFU]X3/&N8"4%3F'WXVF(@^'BYKG"\8)+<\SEO(4'29VK+-]!32L37(16"G0CN.^QP"X@Y6V0%>#.J MUU?MZW(8<[H&[R#-,CJA-$@YRQ,!A^YV_&P:=V@VXK^63N; MIOF3^?0F4H]M5&^AQ9I&ULE59+;]LX$/XK [4H&D"PGK;DU#;@)-VVA[9! MFMT]+/9 2R.+""6Z)!4G^^MW2%F*DR8!>K&'\_AFAIR'%GNI;G2-:."N$:U> M>K4QN],@T$6-#=,3N<.6))54#3-T5-M [Q2RTADU(HC#:N%XEVJU MD)T1O,5+!;IK&J;NSU#(_=*+O(%QQ;>UL8Q@M=BQ+?Y \^?N4M$I&%%*WF"K MN6Q!8;7TUM'I66KUG<)?'/?ZB :;R4;*&WOX4BZ]T :$ @MC$1C]W>(Y"F&! M*(R?!TQO=&D-C^D!_0^7.^6R81K/I?B;EZ9>>KD')5:L$^9*[C_C(9^IQ2ND MT.X7]KWN-/&@Z+21S<&8(FAXV_^SN\,]'!GDX0L&\<$@=G'WCER4%\RPU4+) M/2BK36B6<*DZ:PJ.M_91?AA%4DYV9O7=U*C@2VM8N^4;@;#6&HU>!(; K4I0 M'(#.>J#X!: $OLK6U!H^MB66C^T#"FJ,+!XB.XM?!?S*U 22R(=" &O+7Q.&"ZX+(76G$/Y9;[115"__/G<-O9?D>2^VAT[U MCA6X]*A)-*I;]%;OWD2S\,,K.:1C#NEKZ+_S6J\"/1_F"^AP72-44E#_\G8+ MAEF1LVI)2#;4!89Q ;*B)OO9<84E\ <4YE!.@1ZTJ,<7A0LLL-F0PP,G@4]* M:@WG4AM8%T77=((9@EHW4AG^'W-=_(WFE-/X+>5SUTCD2Z%P(EWSG8:W$(6A MGX0A4>\S/T[3$Z+FB1].9X^%4W^:Q4Z8^EF<4_"W-,]VY-!@4;=2R.T]9)D? MDOK[W$]24I[E_FR:C]R9GT;9"62A/\T3N%:LQ)8U"-&LET=^EB0G$*5^/,N. MN,F!.R/N&2MNR!4<(-W?";Q[D\=1_.$%[K4T3%#D\4,V<>HGT=RF$V53?YY' M3\1$Q7$OGOOS+(H7U]TT7(6_I?JD:N +4AC?N.3J-52= T.35 M$U=(>S-\J#2F;>$]*2ZN(8KA M'IDBMX]J N]HGVFD2BCDMG61EYURA4W1F5HA0M-/,K23["GRGOR]321<<;2KJ MQZW;QYIR[UK3+ZV1.Z[\=;_I'M3[[P5ZERUO-0BLR#2<9#3X5;^#^X.1.[?W M-M)0\SNRIL\65%:!Y)649CA8!^.'T.I_4$L#!!0 ( &M]HEA/X[(DG0D M '\; 9 >&PO=V]R:W-H965T DMP\7]X':I2367%(EN59\?_T],^2NUK)L*WVQ MM2MR.!]G9LY0IVOG;\)2J2B^5\:&L]XRQM6;X3 42U7),' K9?'-W/E*1CSZ MQ3"LO)(E;ZK,<#(:O1Y64MO>^2F_^^S/3UT=C;;JLQ>AKBKI[Z;*N/59;]QK M7ESKQ3+2B^'YZ4HNU!<5OZT^>SP-6RFEKI0-VEGAU?RL=S%^,WU%ZWG!O[5: MA\YG09;,G+NAAP_E66]$"BFCBD@2)/[=JDME# F"&G]GF;WV2-K8_=Q(OV+; M8TY(GF%,X'_BG5:.SGNB:(.T55Y M,S2HM$W_Y??LA\Z&D]$C&R9YPX3U3@>QEN]DE.>GWJV%I]601A_85-X-Y;2E MH'R)'M]J[(OG[]0LG@XC)-'SL,B[IFG7Y)%=A^*3LW$9Q'M;JO+^_B$T:-68 M-&I,)T\*_"3]0!R.^V(RFKQZ0MYA:]8ARSMZPBSQ3H?"N%![)?YS,0O1 P+_ MW65LDG6X6Q:EQ9NPDH4ZZP'W0?E;U3O_Y:?QZ]';)S1]U6KZZBGICP;@^5WB M3R66LA36 89X1,J%*&VI[4+((-Q7LX:,0"=>0&,D$\PLQ8Q*QK6*P%G'AP?#49=<'3[$Y(C#->FGN#^B3*.& M7*!Y=$\[&>UQ6K]9/>[JAB"MEQHNY@-NI39R9A0+)U7(S0Q4#N86P%G_*S7S M-=J3F)RD!.DGB%N;^PCC@F1]4GZA?(O 2V2!M%H%PE==P2Y:Y*DKI$"[F=$+ M23+XS YPH>K4>10.A*&3+@_=UF=!>_G4$K:1KC'%64,)>$U[1R-T,FL)^E@%LK89SD24_%XS5*/D\;@.KJJJ\8_<2GC;G_/.(/V M/!+8"1LHR+PY%>"@^AEO6)6Z!.%6K)0OX$F4A+?]"7\O10E=.2N5",J_15;=R:1/-[!V2 M=7#831(J"5MA$? @\2)ZAB'/N0JZSFN*KU@A(7*-W=2_;5P18@CZFCHM]LY0 M ]5*ZC(A4EZ@X^5!OQ>I! !?C;3:@&P)$ MX4),U>\K>6*J;+'$BIM=O*;%6GBY[;Q4M>\%BTG6QH,, ]UD"O.W:2MO3_#/ MB!-I)DM4GQ[F$Q7^\?%;X59IU\A)1?D;*<-(9Z >A1F89[!N'[H+'1LH M)"0\W(02-!D'XF^T>#H^WSMP3LT'H\F!SQ[O'@^+GMC]I DK81T*WB')E;Y2EG$2T/ MMR"/,HU(LO$32?=$R(M(:E !37@8;BN%(K'ISE&4V EJY \7]N:M.Q4 MV5V-_!\VN(X H):$C]C?K9N?)WF@1T28@KB57CO4B\V,U[!-K_F2)?'!P$R* M&[;1./S1,L/=DN(%K8BG0O&@X3/?73-KNE&?^@"UKER0*>P4K,N>%246+.@J^HK]$S# [.Z)*V,>M/1Q:-_NCG M"M68Q\E&9,,J&V]00%,K25J4-!/J6JV'5S9R#IS#$TAN:9&?MD>F!T-A^[4GK M8=17)O$?NB#=V?(@Y?WTP]=W%SN_?CYILT7A.8OHMH)H]EQ_AZ1B*3VSFGMF M0FVVZ&G+GE"73H$.WRQ>TY!&?EYIV15"7Q2 MN>Q2B$(!4D_W#)U>5]9I M#$+U2R6!'G!LMJBY 2,19).BF1VN4LV-+>IOGHIR/>1;HI#X>N&,H723YOD, MZ-Z*(&SM!2B/&0@1H.$\FBY5^2:VP#^S&J\,7Z#PO(:.EB]6K%HGZ.7; M0J M5VA>V=X.!40ZS)/RE!;-0-&Y9$C$YD&?Z'?[4I\@A(C3 ED@EX/.K2-A6Q^QW!NC[9,K_\$UP9]"*H UI2-VTU<;67-C2M+SK'G[8^5&$6SK]]$.D M!?ICZQ.P) .\?6$?AI+UWL-0_1K?@GEIF+F SY MXU))6$L+\/W&ULC5A;3^PV$/XKUO;RM-T[ M+(<"$H>V:A^.A.CMH>J#-YDD[DGBU'98MK^^WXR3;):RJ!*"Q/&,OYGYYF)N M]M9]]@514"]56?O;21%"\NGSN&T3^^7UQPWOEPV_&=K[T;-B2W;6?N:7G]+; MR8(!44E)8 T:?Y[I@^T_B.VP9:<]/=CR=Y.&XG9R M-5$I9;HMPY/=_TB=/1>L+[&EE]]J'_=NMA.5M#[8JA,&@LK4\:]^Z?PP$KA: MG!%8=0(KP1T/$I3?Z:#O;IS=*\>[H8T?Q%21!CA33"W1,]4]W2 MS3Q &2_-DT[P8Q1#)7]:9 M<% V4[9U2"+YYI5V!.HZY$,:_>,+Z\(W@5REDLY57B'E569>L =KWD! 2R9A MV=0JX( $^<#*'=5!EWXJ(KH7*K3+237P6TRDV@[_$S=#]9__<75:KG]UBN\ MU5['$M(XDQ##Q-DVT0%&!JM()X5*C0] $=A<*94U=AYU*UVG )58P/@'8MKW MP8 GJ)XR4@W_L=5G-.!8CR>?&4IGZFD?EV: !3/0; M*9T[ IZV$2()G5\A0)MY?6*%YF*:L_K!&!C>LW&@5$_*EK?&()LF!%K[/U._4YYGVGCPG+TE6_9@UD M9@D]$4\)BTSYJ &=0G2W$L@=QRJ@>/LW!.;TK^@4#1W M)(7,*>M3,_)TRLDR* 1^:OBL M::1\5P>,34'FL">*ONDS-AYXXOZ1]SG^^C2/Y.RQ\U2C#[ZS ^>]UK W9='N.);VOY1K41&MP))I@<-,I92+@\/6"[;Q<<'.1")CZV1KV^?GJ M6)-H8IX$_4*V\GR;"60X&B@ QP3NL*?6W20NI+>IW0+>U [ M#$5V!8S(J'>%:1JF ?L 12B5O$(:V<1(_^C*7MB!>0Q"IDAN#^BB;9DA#&(S MDQD&^H"Y6RS@#1Z]U''>OYUH F,POB.P/Y)WA.)MF$(:R2P76Y:NA;PU"B@" M(,J 17IRS"CC=8XREX^+$9J!Q7DH?HJ+5 XGD;_N2^ PDTR[(6(TI+!##)7I MP$I>B?V\WR3'%OJ9&Q:E2(<:1\A<4!$:W%=V1%7PVL5$_68ZG&D@#WW M+<^"I=%3]:!KG>K8CC^9-$4!_E[#VB, 6(78BV9@QGWF,X6NB63@E-VS X/> ME8+,PS1_.H*-?95R-^Z<<[B&$G;6>+R6F9A_K8=)J'?OEUC>3B^62[6]5%_A M=7GQ :\+M5W@]>G$IVJUGG[8K-45OJRVTZOE5BU7>/[A?2^KS6IZ>?E!+?F MS7*ZV%ZI)>OXQ9X$#%"VF^D2()>+A6!9K:ZFF\5%]WX?%(9\9%4_Y4OW*L!H MS1=UR?;,=6%V?>H;#RZS"3"#61@R2C-JICP2IV M0!1'$YT^,]9(G*%]&PO M=V]R:W-H965T^OOV>&I.R\ K=?$DN:&3[S]LQ(IQOKOOM& MJ2#N6M/YLTD30O]V/O=EHUKI9[97'9[4UK4RX-*MYKYW2E:LU)KY\NCHMWDK M=3+MY2N29X'_:+7Q>[\%>5)8^YTNKJNSR1$! M4D:5@2Q(_%NK*V4,&0*,'\GF9#R2%/=_9^L?V'?X4DBOKJSY4U>A.9N<3$2E M:CF8<&,W_U;)G]=DK[3&\U^QB;+'QQ-1#C[8-BD#0:N[^%_>I3CL*9PGSJ[$8ZD88U^L*NL#7"ZHZ3G&GKA_*N\$S>J5'HM M"Z/$QG,Q.3R=!YQ"LO,R6;R,%I?/6#P6GVP7&B_>=Y6J[NO/ M@6Z$N,P0+Y;1\]8*]X]'E8[;W^O]T^2E7HZ7CIRU1P[SU MO2S5V00=X95;J\GY+S\M?CMZ]P+.5R/.5R]9_UNI^;L6Q2\_G2R71^\$+,?? MBW?B4%QWHK1=ESIHHT,C[."$[G30THA^*(PNA:UKY72W$@?)RO67S\G&(63% M!U6X 1V/!"Y.IF*C!,Y43E5X&*P(C>)C-XTN&[%2G7+2F*WHG5WK2GD!ZA&] MW#+28BNNT,F#![9R)J!>*A= /J+2#CB%[,ALNK ;&/, F)4^?KP2![+&Z7SL MU17B 4:3G?Y+DH_3+'AEVQYWE3\D[9/7_Z!_I-*!*$OI&^'E&C[[J= U#MU. MR=-OL]N9J%5%'DR%#S(H!F1LB7#IKK2M$@%9H)NUDUW9:!_OA$:&>Z[13XX# MN-;HOQ 'A$%[4 YR5I'GZ0$=G(-0:E<.+0[N2N5G]^QMM#%083%RI$"@:QVR M7TX1A5,6%Z.S_K&[,_$UIB&87&TJ$@R;XW6[(C!4J6&(6M.8IL,A(M5YJJ4)'?K)@190SH M3Q U76F DS0+A$:.RQ!=>F0=A0^[P>< [>=V/Y4N)UEBQG@,-QC!PP*]5[U4 M JQ7.>#H*&9T!)RUCLJ02[T&-HOJI1#HDCL6'BN))F&S,W$[%%[]&$BX;&2W M@NLI)JV2?G"QN1/^^SF3CD)2VA4JGQN19=@N*;'7":P$!/*HMUTR9R'KA+K# M9N#5E&ID)BY8!5P->)FLIS'[-L#SW=&UL^VNZ6']Y^6;H]D_,=V,&6GFY^7^ M+4QJ&N,1:#DX1T"R130I#^9*V.@% 6/AH%M*."$&:W7J+F0>B3E/%UX,2+W; M8:).Z2S(AJN@TI02N$!+A&BL(5G8=#3P'^HVW"8D'-6('@Y8O M2[@R,@ \B_<+:JX? T6)L+;R.PF ;T .FJ3S.(,0"BM%G'<(W%Q+ Q]3PB6R M5NJ> U / 4V]*UOHX:165HH89'B(D2#Y ?V83T,X=[W!NL@Y#0N:YK'61MJ, MU?32Z5Q=A4J]%TLQ)85YL(]Q(Q1I9JDU*U*>D!IT>:(=@*7Q69JARG2];X$K M]$ ?4GRY(OU0UX!%+J&4F1DSL5K I*&9ZG4W?G*YEW;-JT>BW!RG ZUIX&QI M)?C6D>!!K T<3B M:KM1IGJP@& [& )%D($G_LDE2S&LN#80MMW8YN)(E\]H M@$X!)=;[_K.(](RT):>1= M T8\#O/UEKLPG_AL-\9P<:GSX93?9[A]MUYR^:*!W:!VQ#S.)D+-N:/E\UX3 M11H-N_&1,H9=.4X_!'4W_/*,DVU:+VAMZPW>&9B)G1J7%CS!@!5;9%U\O+[\ M?!,'X7T),KE8_MK2&U:<"[>?/]S$11PO@;$\/[T7OSL[].(2>@W>M;^+BXK6 M,1]5'GL&=3)8ZA[^_1&\2[!3E5/ M@7XTXR1ML;YTNMBM'H]6\-"EL!K.UY- MB&)5&@6/]*:H1&"B6NP'1PM8:M(T5R.UPSA1-1HM0J86@3(8'AM-L=UYG+,T M:@=:.YX^F+:$GK'&5L,AM38X@ JF$^_O&EWH-)#Q[ ^\1,$/U.Z-8IP)&'$? M 6>6!FP-WKQ=_!H2+X+M^0M$84.P+?]L%+C+D0">U]:&?$$'C)^DSO\' M4$L#!!0 ( &M]HECC2 L(T@H T? 9 >&PO=V]R:W-H965T!?4DLBCSW\YUSJ(NE-C_L0@C''JI2V MPKGZW=&1S1>BXC;3M5!X,].FX@Z/9GYD:R-XX0]5Y=%H,#@]JKA4O:L+OW9C MKBYTXTJIQ(UAMJDJ;E;O1:F7E[UAKUWX)N<+1PM'5Q[J&X.GHT2E MD)505FK%C)A=]JZ'[]X?TWZ_X1]2+&WG-R--IEK_H(=/Q65O0 *)4N2.*'#\ MNQ<3499$"&+\$6GV$DLZV/W=4O_H=8$6E[VS'BO$C#>E^Z:7 MOXJHSPG1RW5I_5^V#'N'V)PWUNDJ'H8$E53A/W^(=N@<.!OL.#"*!T9>[L#( M2_F!.WYU8?22&=H-:O3#J^I/0SBIR"FWSN"MQ#EW]P[!=5B&+S_!%D2(*,6D'>C_82_,)-QL;#/AL-1L=[Z(V3 M8F-/[V2O8NR?UU/K#'S_KVTZ!A+C[20H'][9FN?BLH> M\+P0\3@(>[Z.^Q_(O.<>N+=,S!JOEBV2V/IM T\:R3RK/F%XJ4;"S47;\-]H: M7TUT57,EA67#'8Y31O'.S=B^8/(1345IN4VSEX@PX(7#%!@'5>%5'-V M>I*=((S+DC+2+L#;DYB4W%IV3?)4],+I_ <[-,*;73DZF?1P"P%Q'2_9O?9O M:KT4YA4#!S8\S@8[R;_?1W[X)CO=1SYCT>Y?9S-A:/V38K]QU0#)O#4V]2;# MEL+!LERQ!BEBED8Z)Q18Q//@->Z/8+#Q8/"<*;ACG-5&YB2;%S'1%,8?.S@9 M9N-35L,_GA8#7C,%4*^-SH4HPJ8A['^:#'1([VGY-'N;%O&<:).8A;2Y;I2S MWL DE;2$R!8F@0EX44@/KX_EVGNVSW@-P1XD8%64*W8PRD9="7)M<:B0!MB- MU["(SB4GC)Y=2,/5SS^=C89OSBTKM9J_AM^GE,S8W\FT09^B=$;"/$2CA<"8)H)5@*\%- M(#4W7#E6P*V!+9\;X3>39F7C_\;$2;QUV/1)U@XBEU(OY]W0"Y4-)C:C4U:$?A4SHO=5/ZV$4;9"&K M/[AA9M*,%@M)J2TH&F'Y0+(N&PK%N='6OF[JL)<_"!M4WA$R,!&BGB3!"]#Z MFCM-R$LX0\HKSR\)8 5 G"<7=:(F<.G:D*^\A3NVA$64AM^,G,\%U8+$(-HL MR'%.2^B8-'RM=(BEEAK1B,XN*#@J7G@;\)SR,>1GFSX4NC8X2-J@;\8F$_9- MH+-$O?DS!"9*"Y1RK2>?;I ^/95XE)V=G*2S*5G[6\I:'B7F9=GRZ=:J1DE' M>G6J1"DK278N)9_*DLI!'@P-<:"8(-1:5]#/GR?LD!)W-#B??&=W1,\_#L]? M/4E.9# L"'A2C:^R1&82SK2@@-02'*4VR@JY[J4&'RKTH0JT7)@F9V$7J';+ MTB&=VY2(_:I+P$$2+&-WE :T,1:Q:,JM;NBS1V18+I!07M:I8(NXV!4-UNU# M>\04QX^IR'FUL9%OLT P3:PQG??JKZD!)Z)1+'CARAW?Z)@UB82%S7UP=!F&*QRGAB)/ EE4 M4PKS 'ZA&5*A(?'M-6VX%;3VO]7)(]!3;;YC"%X@_?8KLXR"[08]G9CS'2[ MR3:PA/]W8TR&YP)U/@1*-Q=N&D.=KTNVW1NG_0TD;FE0KE-A-:GNL?GD'-.O16D M.^ZTHVM1#T-+2.9-F+\_ML) R"&9"4'E#Z]+QS/3X8(CG*9"J&B5T(AM5.S] MW7S&/C2F!66W@"-8%6Y,0GYO3LU>V#!&^C8K]-0J^&2;_P\AP$LM 5'D/7I^ MA6"[3K;V'5R17M D,,B&(R\)_1IVALF=$PM)B:0K_25"\9\H'(9M.G=PUAG> MO11OLF&[T/?0(/P=7KDBX-B0GF:Z_X8_WH/]\#'[XUWLUP9%CVMHXJ Q/W;L MPM\4O)[Z1LAWN);%EJJ(41XFU1"B,*$7OSM^;'#PD>#")CBY6YN[WH@I?HY< M7XI[8?I/HK\@I)33QF,6II$8,;XT\8HF]8[/Z=8G<;K>Q@E]:1)J1\G>T?Z$ MAG?5<6 *(@+='6P!)C1N-<83I;8F59P&UJCX:$RE&QKONP.Z4TB3^YW7E&0+_NLPK8,F_99[Q5?4 MG:]WM).CK,(%$_T'W-'5?SM8^ZZ4YQ&)8("29*5K &'[<>"]#VVV$G/MPG7- MXU.^:_#NJP2L573:WN"IN^PVPT";-W2%!%%+O@1YTY3"QBH[;TH>/!='Z,=J MLD*+,-/J:2GG[\48'2(24VC M(HUK=&E'_,B8^+WM,H?V&Q$J_5\I%_T-C=9>#!9R?JH].^V?O'W[W)T3!=O! MN MT?N$L>XM* !!!L]5>921D0!6,M7CC2F]]9[4K '?=&!\,4?7'"7R-H*]) MI,XZHTC.6>.:#;J[U5K+DEAO2_Y'3_[>8KK:&:\$7I+!EJW6EZ5,7C#(I[QBVR MMG9B]6=_0WK>.ILH1^MB_%,#CY[4<_I^T/%TC MJI^ZTCUIB)_4RJ]'L;L4:YV[K><[..I\H*V'F_D,L?8 "X(:OE6DU?>N]#I\XU]O#AV)$TIQF[%+,<'20O3GI M,1,^OH8'IVO_P7.JG=.5_TG3KC"T >]G6KOV@1BD+^!7_P902P,$% @ M:WVB6%3T4+., @ U 4 !D !X;"]W;W)K&UL MI511;],P$/XKIR#QA)HT[<8TVDIK!X*'2=,FV /BP8TOC37'%WQ.._X]YZ0- M!6V5@)?69W_?=W=VOIOMR#]RA1C@J;:.YTD50G.9IEQ46"L>48-.3DKRM0H2 M^DW*C4>E.U)MTSS+SM-:&9K5_,J W6.+SUP&U=*_]CB99V\V2<'#;N MS*8*<2-=S!JUP7L,GYM;+U$ZJ&A3HV-##CR6\^1J?+F<1GP'^&)PQT=KB)VL MB1YC\$G/DRP6A!:+$!64_&UQA=9&(2GC^UXS&5)&XO'ZH/ZAZUUZ62O&%=D' MHT,U3RX2T%BJUH8[VGW$?3]G4:\@R]TO['KL69Y T7*@>D^6"FKC^G_UM+^' M(\)%]@(AWQ/RKNX^45?EM0IJ,?.T Q_1HA877:L=6XHS+C[*??!R:H07%BNJ M:Q/DE@.#.\TZM_YJ90V MU)A0J!O#9.# X%M9XE+F'="@"91W"C MG'@]9@--PG448(W6X!9[LNR,M5 IP2DQ0$!OE 6EMQAS8%F* MS4%L+CDEL6.R1@M*0RG%2"\";HA--PKH#XB\D9B88U*9=EY%$(^>>ZKTR&DU M^DTW3SAVZD)ONF%W&%E7O5-_P?MY)U_VQC@&BZ50L]%;^61]/T/Z(%#3^79- M0:9 MZQD[**/ #DOB<(AB F&0;[X"5!+ P04 " !K?:)8IN,HRS\% #K M# &0 'AL+W=O++46Z)&7'_?6[(R5%;EP7VQ=+(N^> MN^?>2%]LC?WD2D0/#Y72[G)0>K\^'XU<7F(E7&+6J&EG:6PE/'W:USN&I797@[&@W;A7JY*SPNC M^<5:K/ ]^C_7=Y:^1AU*(2O43AH-%I>7@ZOQ^?64Y8/ !XE;UWL'9K(PYA-_ M_%)<#E)V"!7FGA$$/39X@THQ$+GQN<$<="99L?_>HK\+W(G+0CB\,>HO6?CR M-3/#1QZ"F< MI=]0R!J%+/@=#04OWP@OYA?6;,&R-*'Q2Z :M,DYJ3DI[[VE74EZ?OY.2 L? MA*H1;E&XVB)%W+N+D2=P%AGE#=!U!,J^ 32!6Z-]Z>"M+K#8UQ^14YUG6>O9 M=784\%;8!";C(61I-CV"-^F83@+>[/M,WTB7*\-D'?Q]M7#>4G'\/E@#K"H=W@8/[C#^/3]*L&- M :M:%D+G"-0K2];8!(VJK[&V9B,+BIJ I145;D#7PI/R))=D5](SI<(4J]K,E@[+,";UHL>P!!6+M*:D M6$A%7I'6\U]Q@PK&C6\',M:8MS.:21FJ,,H/0A\MS4(<5B M%^RP#BW:FEC@ YT!CC.XI@IXD#0,Z:.73)Z+!1<.,W!45/ZE1UN!%IZS1G[0 MAL/.2@)7'FXY_5V'#Z$@(&)[!$*Z%F$8Q%!8_9).FBY1.R*EA(\UPQ+O%#Z\ M]TB1$CEQ=S(K4G M@U\XUA22C_&,B944"&!N-!>>L(3,WC/'0/L-A;U:T&+#?/)-+NQ94_B4"[_? M/P1YDJ7)&1T*2C&IVK$S;5D' M=SL^H;TKL8,%YY_:?M.'Y=+*^P%&&VX:81 M>_F+]$0X91!NA%4&G*QJ%?VI M3($J,CPFP0/%<8?7U3IF3.I24 M#>FAH#,D< W+@7P+L+_5A-THZNPPKT)*7#-W?!GB:(5>!<)->W=U)%=:+FDL M$5K?ZUA]L!I:3@69Y [#S,DFGZC(W,DM/) M,WC;9NM)K':0C9-7)'M_* @P3I,T"T#TEA'2S8$HPNOD;/;L8+C"\8>G^ =YVTWR@QX.?PMJW7WVG6L<"U4*$*3V V?'V:PLU! M0^/I\&R6=L('6^J$'L.S.@=.K,?J;XP&#+_ 41I)37S7I)JFKRB^YR-5^OXX^MG8S<8U% M40:A6DW2.)Y-:B'U:'D:OEW9Y:EIO9(:KRRXMJZ%?;A 979GHV2T_W M-Y7G M#Y/E:2,V>(/^]^;*TFXRH)2R1NVDT6!Q?38Z3XXOIGP_7/A#XLX=K($M61ES MQYO/Y=DH9D*HL/",(.AOBQ]1*08B&M]ZS-&@D@4/UWOT3\%VLF4E''XTZJLL M?74VFH^@Q+5HE;\VN]^PMR=GO,(H%WYAU]U-%R,H6N=-W0L3@UKJ[E_<]WXX M$)C'+PBDO4 :>'>* LM?A!?+4VMV8/DVH?$BF!JDB9S4')0;;^E4DIQ?WN"& M7.SA&AMCO=2;TXDG6#Z<%#W$10>1O@"1P1>C?>7@5UUB^;W\A.@,G-(]IXOT M5< OPHXA2R)(XW3Z"EXVV)@%O/Q';80_SU?.6\J(OYXSMT/+GD?C*CEVC2CP M;$1EX-!N<;1\]R:9Q2>O<)T.7*>OH?]8/'X2 KXB4!5;X1&D!K\SL&H=23D' MKKOLP%?"@UFOT4(I^8\A&FO*MJ!3H4M@4V6!W:8PEHQO#"V](6&DI-2:A$G! MKI)%!::U4%02U[UN)E)B(4,YU^*.[EK<3?I*YL+9,-*JU4%.M-1/?K M1N& WT>)MTU%'L&_8UL*+*') ;#*? 'AD5D!Y$)OF!\3ZD@=N(! MJ(JUXY!V[NX,CX+5!&!8!I0DOY;D@$]24RY)8B-U]YZQS.KA23D$[;ZR2&G= M]3;DW@;4F2BA]JTI,*%%!M+UKUJ@ON*G;@RW0?ZP-W920>(:MZA;2KPG"?<6 MDJ,\BM,YKQ;3:);G+T5LL8CB10Y9%AWE,=P:]K/M@!VD1],H(4UI.H^F<0Z7 M0UE)30GTG.H\B69'.Y7Q_&H&F268V7T 2Q7$*ET'/X5E(\_0$LBC/6#Q@KG#-F=EK\.*>.+UE MYFFVH$4^C6;ATJ.*#$Y^U"5*&@U\G![-/C783)CQV8ZM]-P8-7X3N?2:ATX?A+U@ M-;;D2G)(^M=W)6,#:2"Y>^D+EBWMM]^WVEV)R4:J>YTC&G@L"Z&GO=R8ZJ+? MUVF.)=.^K%#0S$JJDAEZ5>N^KA2RS!F513\*@F&_9%ST9A/W[4;-)K(V!1=X MHT#7992@,+5 MM'<97LP'=KU;\#O'C=X;@U6RE/+>OGS,IKW $L("4V,1&#T><(%%88&(QM]; MS%[GTAKNCUOT7YQVTK)D&A>RN..9R:>]<0\R7+&Z,%_DYE?MW'8,Q@?,XBV!I'CW3AR+*^88;.)DAM0=C6A MV8&3ZJR)'!=V4VZ-HEE.=F9VS93@8JVA0@6W.5,XZ1O"M;/]=(LQ;S"B(Q@Q M?)+"Y!JN18;9H7V?^'2DHI;4/#H)^(DI'^+0@RB(!B?PXDYD[/"2UT3>M"+A MC\NE-HIRXL^7]#9P\N(:4%6E=,(,9+)\@XP\\ M(V,P.8*@?L$%&2 P8Q1?UH8M"P0C84%1K35\%*D/6:U:"_+(I0.R;QM7+@3, M'E!1]8.HRR5Q(C:.EC[*BSJ+-DPX)GOPFI6M#Q^N>%%;\/]-+C-OU]O2V,K> MDT;1&LN-(&6%45 M34ZDBI-*SH L")<4BC7II%F[E2Z_MOZ72$NPBTI74D?C4NMVS8LA]N$WFEK) M@LYDM[!QY@YF_@\YM)9+US'L7F?'RZFM&8JSOB!4A7AP&K@6;G]B^%R7E/I& MJ@OX_*9R>O]N'(71AX;'#Q"/O?-A0H-!Y(W/!Z= A!0V\8TBA58?%Q0XVB#X M*?P9QEXT"&'DQ6'T;43:,%@08C'RHF!(@R1P@RL4DO:F$7CWO-S;]/EOE1^H M'"9>/!K#,/9&@P"NNR1_7O#AP MI79AX@S#Y#F^ME-&YER1#^PB3! Z.C0., M9UL1^,.@>8Q>-SH,6^ GYXUI[+[81!1M9M@NS+*_:E=*7#15LLNP+A(OYV)- M":=.]3W:Z:+.3G9SU^R/9<_> <$TV$Y(Y_^988\=6LO=5C2S/;*2)*PM2[N! M=K7[1%JBH1_\Z-:Z2G7%4S;%@ZYXZ"*4YMU-R-5B-/"3M]O$_DLWDO[>?9$B MOW:W8CK_9"U,90&@T%-5,IEXA5+U%&.9%5 1.> U,'VRYJ(B2IMB@V4M@.06 M5)4X\/TQK@AE7AI;WT*D,6]421DL!))-51'Q/(.2MXDW]':.>[HIE''@-*[) M!I:@'NJ%T!;N67): 9.4,R1@G7A7P^D\,O$VX#N%5N[MD5&RXOS1&+=YXOFF M("@A4X:!Z&4+GU* ]S?[]AOK':M944DS'GY@^:J2+R)AW)8 MDZ94][S]#)V>D>'+>"GM%[4N=C3R4-9(Q:L.K"NH*',K>>KN80\P/ 8(.D#P M&A = 80=(+1"7656UC51)(T%;Y$PT9K-;.S=6+160YGYBTLE]"G5.)4NR#/: M2K0 85\$RP!=4YF57#8"T'OTL+Q&YV<7Z Q1AKX5O)&$Y3+&2N*QK[@L/=H7/@I.$=T0,4#A\AP(_B [4,_][>'BB MG+"_Q]#RC?[E'@]=EZ,+#].9WIW*FF20>+HY)8@M>.G;-\.Q__&0UO]$]D)Y MU"N/3K&G7_6HN649KP"=?^%27AQ2ZRC&EL(,EFT:3B['HQAO]V7\&14%D\NH MCW+UX;W77H'8V"$@4<8;IMS[Z;W]G+FR[?7*/]/SQXV+WS1N>.G7L:%,HA+6 MFM(??-"_7;B!X S%:]M3*ZYTA]IMH6&PO=V]R:W-H965TX_/=>1+W KYK$H C5XJQE7BE5K72]]760D55G>B!F[>Y$)6 M6)NI+'Q52\#$)57,#X-@[E>8(A CANF=Z+]!GT],\O+!%/N%[5=;/310UFCM*CZ9&-04=X]\4M_ M#B<)AG,^(>P30N?=;>0L/V.-TUB*%DD;;6AVX$IUV4:.!#UC>H6AR@\(@G([PHJ'TX80>*&DP.U=U M!XW.0^V]6:H:9Y!XYF(HD ?PTO?O)O/@TXCR=%">CM'37<, 38+]['9RJHU6 M1-3Z_T/N=,>!.68*1L1F@]ALE/-=\-LKY,:A;\G-![GY5:?V!-+<(GS!;9SY MEMMB<%M]RP])\+$#: /,^%T(?)W:#X?.3_@%0 M2P,$% @ :WVB6(D%J ]="P >1\ !D !X;"]W;W)K&ULW5G;7ET%(HUU3H\7A;\S= FC#XKMF3AW%?^\J%\./W?2WXGML&6A YV[ZC=3QO6;@Q<'JJ2E;JMX MZ3;O*=OSE.45K@KRO]KDM=,#5;0ANCIOA@:UL>FOOLE^>,B&6=XP$[W30:+E MSSKJT]?>;93GU9#&'\14V0WEC.6@7$6/MP;[XNF%IT9[+1YR2_7!1O*F5N^, MU;8PNE)744="%&)0VI;JU[@FKS[@45 _7;C*%(;"H]='$;JPQ*,BGWN6SIW= M<>Z)^NAL7 ?UUI94;N\_@@V](;/.D+/9O0(_:G^H3HXG:C:=/;E'WDGOF!.1 M]_0.>;_ZE;;F7^*9B3IW-L#8,CF*'0''!7BE]]Q>C_UCO@C1 WG_W.>AI,#) M?@4X&U^&1A?TYJ#AL_PU'9S^^,/QL^FK>\Q[TIOWY#[IIV]PE-2Q9:W(?T<+FS#!/ L#M5/ M/_[P8C:;ODH/Y9D\.7[U2")C<%!H%\&41GN@4_W$,KM-KFZTO>TV3*!(4;6E ML:M\B$HKL&^B?OGE?/>T_FTGX5"-]%"P2*NUJT1@D%.:1!0M@4;@7_]SKCVKEVM]V_9#?JAFG,HX O0 M\V3+O@%=E"P=H)J6WZW8=]#BAPG"?)IU]G$VOF*G]1'U5&D.6'1R(*_OD)U# M@;U1N8W%HL7M6-T)X&.*-43 )3C1,FPLXDU*Q^C-HHUZ@4A!-...MMS:Y<;Q M\U3H\5 JG"6GL:T+)GWX"_".$)!N8.<7ZUZ1PO?HDE1LQ=244ZV(=1! MT5EB;^_"8B+Y6)&$'";K BX(IHLY/WI7TH^.X]*4*U*7%&!W01U%[J?!+*K?-@1QR^+GG<6@$.?+Y,*E+IAIX"U1 M/ZFSH\:$R4PP;R67W*B$JHT.(Z] =(+U]VE69+B,R /-)(J(%5+=0X><-CZL M3;.7_GY#Q[=&N[J7SO%H* 5RE! 92^U]=[N34-OUY!S.'QLZ.)6K8-/Z1LA_ MN>4V+7"GY1*]Z5T(R9H IM)>]'AYGZK+?:$^O'LY'ZVY(E75[>/$-]N&#J!J MO'&^HZRL.9^6(FFOR:=(8H6^NR1-4CE@GL+KI7?UZ(@A-T< ",Q)L7/#=PY. M%C-A;I35-83N,W8@5@0V 'G<\GN4IJ[9)"FT^";]N01Z#J)%H>J!\I?Y_**G6':YR>/0H.3( M\V@Q1"&<7]T*>P1Z@&VEDUJ?^DX2FAN'$Z?B-86MNKG'IOW&"TZL;7'DWL,Y M7&'MV@IB.0,TXV9%,M2)3QG:\R3@,K7FT(GG7W4\??Q7D<^NO"6T#<2CF_J9 MBM0;YN'K) 7^CQTQ]H N?\>L*\^[AH=;$,2(NRKXANM)T7K/]EH= <$)L%4Q M.H>^HS2!DXK ]19:A<"<)BY1W' .AW?I]H!LS09W2$"&&%>&^Q@DQ>!V9XO8 MPX'O-#/5;=N> #J1R&8$B&Z:1#J=&LL6SF+G']XS S[M9\"G]PYO7U)A M>HM1@^>2L&_\^\\DH,;DC)6Z#"P]! :\B!. JX: D/-02*G67^&T%FGJ4".H M/T:&"!!1W227Q[6./%4,Y;1/CA0-[M(+M[*FKR 9*VU&&8]C@%Y7OJ2)2W/9 M!%NOR;;Y6 X)6 P(^ WZ ;1)R93]=VNXH$*WS ^HFMK8K907[6$MOT=A*ZGA MS+*2>LN6L:Y8 ]:O0'(#0X!&H:NB3>5)3$(<"B-W9U)Q]+4V MB:01"\TT8_+0T:=/H1M9@,T+8M\Q/S!,1V?Q#5BIY#HM$U$-]G!E3_I 0.#A MI,#",/G>+S"&R[MA@1ZR2[-<\I?(D"_1' ('5EK)4A# 'J8;\@5K& Q"B.4: MSOF]+:4J,0W'=C2\%4)O+!>DU W<.*DOO'^ HRX2J6@TVQ=D#\+T?FUB5H E;.!R1?>&?QN4AG[$O6_TTB%T9;:E\&[CK4WS%HSDLG,490>YI/ MLX',,+WI(YF#D#.'/T,3-K\ZZVNK@<\A=N^V+XTT1-V^^=67?MLG=RC'/Y[^ M>=(UX!_2+/Q9W_"(\]DUIE#/GTP?=7="0M1H$VW9TXU04"H;_2Z^/) [5D%DS;?SNCL>COO6:E8Y50[,C11X]LF4,EMQ^3!'$Q!MH2DC%OXR?"NS7' M4T;B[Z0N4KF#"]BAO[?>!!2_4=YE*Y=L$VJF@!4^@2*3B$T0@]$P\CL%XXEU0=Q''B@C'?CF\XJX-%&A4P;R1(9&UR:ST:>EJ+T"7'8Y2]04D]%<-U +\\'>JDY;3-!PJ_) M(5(FK])4I'X>Q303T.S%]%''/V-,=82SW7P QEY.X"*2A6Z-!&,FDNDW=Y8I MD-+AP/JF750XNR.S ?-H631GP\Z"?#'8'SG&)I(UZ2H#ZI:VXQK<;>V:HMR( M>>:<52[PF?;Z ;58&UJ.[EG*KDWA/LIG^V0R2)T-_$=:+D#9\])PZ%Z7?#[. M6!IA"^@9Y!XJ4Y&T>A0*;WKPI-N_NG%Y%!;(RP34.U^H=^SIL6]D*/$##O*N M_IYU6YFNQT![.43$A)T<]12'!(73^$Z%0RI7,'GFV/WUY([?6/+UR/]A2N\! MZMY.ZVCTV?]K\KS]//J]"6Z1GY<7;@872T?^;*1/"_ ^Z7#,)^_\ ']K^VG_P902P,$% M @ :WVB6&"@^+)U!0 V@P !D !X;"]W;W)K&ULC5??<^(V$/Y7-#33"3,.V 8;2!-F2*YI\W"]3))K'SI]$/8"ZLF23Y)# MZ%_?70E\A O,O01;6JWVQ_=]WERMM?EB5P".O592V>O.RKGZLM^WQ0HJ;GNZ M!H4["VTJ[O#5+/NV-L!+?ZB2_32.\W[%A>I,K_S:@YE>Z<9)H>#!,-M4%3>; M&Y!Z?=U).KN%1[%<.5KH3Z]JOH0G<)_K!X-O_=9+*2I05FC%#"RN.[/D\B8G M>V_PIX"UW7MFE,E=V(*""04CCQP_'F!6Y"2'&$87[<^.^V5='#_ M>>?]SN>.N^PS2P?&\9$#Z?9 ZN,.%_DH/W#'IU=&KYDA:_1&#SY5 M?QJ#$XJ:\N0,[@H\YZ9W$EZ?'(!DL^)K(ZSPM3I_YG,)MGO5=W@'6?:+K;^; MX"\]XF_ /FKE5I;]JDHHWY[O8VQM@.DNP)OTI,./W/38((E8&J?#$_X&;<(# M[R\[XN^FL;AB+;O5U5PH'K"A2C:S%CFP7X6_9W/K#.+FG_?J$*X9O'\-<>G2 MUKR ZPZ2Q8)Y@<[TYY^2//[E1!+#-HGA*>_3IT AIA?LH3'%"F')'HPH +-" MOI1@?%[OA7W:\?,*V *K(EF]\UM[O\6^7X9BP!R:\KUJK;EE9WDZZF6(4REW M915V2WCQ'Y0,;19:HA+8RY.1LUMN5P>7GK$\3:(LSMBL+"_)W@FU!.4.[,Z3 M+LNB21ZS.RX,>^&R :K46RMLK+(+, :C(L^C:)AG_NPC^(XI9WV.8)U ]J/9 MXIL[S ,]'I:@1+/=.G"C+E %6(A7^$)KU[I4DN]W'AE+!DNUD;/^5Q(X387:Z^)N%Z# M\=\/51">]+]!DJT'B,:8#!.J;IR-\+>031D"*(4M=(,!8B6@=X(V64N;[(=I M8T *S)=>#X X0WP61_ES\H;W:>])Y5%/>3F25JK""_8X0"PPCK?W[CIUP,'C MH+L,?*%R>@0!;F.?/(;/D R#)$=8%X"+I.LL&T=QG+)[A7ARV@A4FF<1Y-TS#[5 M'L:8M@1*Q! @+O3BHK'PS5&<)NR^Q'-B(7QUA')<+04];HUPR(@&<Y^Q9.RID6/)%(GIGHSA*\Q2UW?),)J,LB[MF 9.9BU% M0#75ZCS-HW$ZZK([;!QA.B2GYU(L>4#V^60T['Z7_ALGDSCOL@^PU2#'7P^V MA]BV27>;T_X6YM=4>.0\&5 ?4;+^ /==UL-!BEDG[#>MRS6*#0(AF611&@_9 M"2KE+97R'Z729\61L41S!(.G.6+-XE1DW^//2;?'^=.TER!S6+AEX:LOL#I" MA?'4ZR7V-^@WJ9\V^YOANU9K:K%6#-ZT;PTP$;X+P:I0#I&AH^''BOWJM 5A>*,F#=! MD?#+=(NS3H,BC-L]-HRC<3QX%RO]O7FS OP6T51MF6=7&#W;U79PGX5Y]9MY MF/IQO,,Z6.3' H_&O1'JJPF3='AQNO;3ZUP[G(7]XPK_^0!#!KB_T-KM7NB" M]M^9Z?]02P,$% @ :WVB6%-?VM.B @ [P4 !D !X;"]W;W)K&ULA51M;]HP$/XKIW2JBE21-YJR%B)!UVF35JFB;/TP M[8-)#N+5L9EMH/OW.SN0@D39%]MGWSWWG.]EL%'ZQ52(%EYK(FJ)4IZF2M=,TNB7H1FJ9&5WJ@681)%65@S+H-\X.\>=3Y0*RNXQ$<- M9E773/\=HU";81 'NXL)7U36783Y8,D6^(3V^_)1DQ2V*"6O41JN)&B<#X-1 M?#/N.7VO\(/CQNR=P44R4^K%"5_+81 Y0BBPL Z!T;;&.Q3" 1&-/UO,H'7I M#/?/._3//G:*9<8,WBGQS$M;#8-^ "7.V4K8B=I\P6T\5PZO4,+X%3:-;D8> MBY6QJMX:DUQSV>SL=?L/>P;]Z!V#9&N0>-Z-(\_R$[,L'VBU >VT" MFLAQZ9+R9#6]06OBEC MT,#%U*F9SB"TQ,#AA,76V[CQEKSC+84')6UEX%Z66![:A\2\I9_LZ(^3DX / M3'";RT_8[4XUV]@_?V"P9^CF;&:BJ;7\<";7#2XSBNE6[,DA4X M#*A7#.HU!OGY69Q%MR=8]EJ6O5/H^1.U9KFB3*DY3)1PO;EANG3BB;P=B^*D MG^-13"N'[=QPN0!N@($^Y*!6&M@!CZ+A(3R/+HR9\$_,POTKC1>#\*RY=?', M8:J9-(+YGAV5OZD%: 90@>X932N->%!*0(505&TEP =(+[->0GN4[GJ9KPT@E5+W](S96E ^&-%$QFU M4Z#WN5)V)S@'[8S/_P%02P,$% @ :WVB6.0X_ 9Y @ 7 4 !D !X M;"]W;W)K&ULA51-;]LP#/TKA#<,&^#6GVG2+#'0 MM"O60X&BW=;#L(-B,[906?(DI6G__2@Y\3(@S2X6*9&/CQ:?9ANEGTR#:.&E M%=+,@\;:;AI%IFRP9>94=2CI9*5TRRRYNHY,IY%5/JD541K'9U'+N R*F=^[ MT\5,K:W@$N\TF'7;,OVZ0*$V\R )=AOWO&ZLVXB*6<=J?$#[O;O3Y$4#2L5; ME(8K"1I7\^ BF2YR%^\#?G#\1"$< M$-'XO<4,AI(N<=_>H5_[WJF7)3-XJ<0CKVPS#R8!5+AB:V'OU>8K;OL9.;Q2 M">._L.ECLS2 ?%TEA-<_'K4,<]8'88T&EE:CI6XCP@,1C4SQ@4']XE M9_'G(W3S@6Y^#+UX(.U5:X&@5K!W0X=H'@4Z3'/_SDM%^C+6%;(-PDH)DBF7 M]13H"LK&W\$5EM@N47OGGFUH_BQJSH2!]Y!,PO,\(2--PVRV'?]@=GHZ+7C%_P_MWA_JLN30@<$6I\>F89DCW6NX= MJSJOGZ6RI$9O-O3\H78!=+Y2RNX<5V!X4(L_4$L#!!0 ( &M]HEA 1U.Y M1@, P' 9 >&PO=V]R:W-H965TM&%J B$1*LBW/-A"G[3:@'8*DZQZ&/=#2V2(BB2I)Q>F_WY%R7&=PO!?Q MCKK[[CO>\;C8:_-@:T0'3VW3V654.]?/X]B6-;;27ND>._JSU::5CE2SBVUO M4%;!J6UBD223N)6JBU:+L'=K5@L]N$9U>&O #FTKS?0WO%4?D;_&'*G7#;2XHUN_E*5 MJY?1+((*MW)HW)W>_X:'?'*/5^K&AB_L1]N,(I:#=;H].)/>JFY+0704?O@VJIQ-W##KJA[=?Y*9!^VX1.XKD[>/R@+H>4<4KJ"E\UIVK+7SH M*JQ>^L?$\$A3/--,5C__Q"?)+Q=X9T?>V27TU3U= MRFIH$/06SI<._D!WCO5%W/.L7P3 8X!2TY6TSGH.KD;8ZH:NMNIV")06GE;-BFA%P M61-E\U\N/$U8,A/ Q8P5$P%WB,T(9Q]497TD+K*PS#A\Q5J5U-&03MDDGT(Z M87GNG3HGFQ-4P0LV*02M,Y9F"7P<3*?<8# @;]63EPF<%2+@7)O')Q.J1;,+<]A2 M*PV=&X?5&ULE59M;]LV$/XK![4H$D"( MWBTYM0W82=OU0[<@R;8/PS[0TMDB0HDN26"&A'$ M83@)&L9;;S%SNCNUF,F]$;S%.P5ZWS1,?5NAD(>Y%WE'Q3W?UL8J@L5LQ[;X M@.;7W9VB4S"@5+S!5G/9@L+-W%M&UZO,^CN'WS@>]$@&V\E:RB=[^%S-O= 6 MA )+8Q$8/9[Q!H6P0%3&UQ[3&U+:P+%\1/_H>J=>UDSCC12_\\K4)!N==&-GTP5=#PMGNRE_X>1@%%^$I W ?$ MKNXND:OREAFVF"EY &6]"4&!]+ M7,5G ;\P=05)Y$,NH8N2W(ZBQVF:[UC)^>.AF M".0&'J5AXM]]G*KX+.;IBA]KA(T4-+N\W8*QI !G;>FJB#LT 89Q80MAY=<] M5U@!_UX+<[5< [W#LAY>(MQBBD7;'RB5)!#^D>E_#N M31%'\?M7M!TWWM(5#]W$J9]$4]M.E&?^M(C^828ICCOSU)_F!9QA:S:P-?NO M;/VX-W:RQJ_J%%//XIUFZ@=M>.-XL.ERL#$=\(76F$;@FCC9,YIX>8]V<57$ M#JK-49,:C_SI-+2G#")[1;F5)R,Y'\G%2)X>99H:VI ;0[A%ZAAU?!/'2S]U MJ\'H,TZ$W;IEI:&4^]9T7_1!.^S#9;<&OKMWRY3F;Y72AJEM0 MW<'(G5L*:VEH.IQ8TTY'91W(OI'2' \VP? O8?$W4$L#!!0 ( &M]HEA% M*&-AM ( -8% 9 >&PO=V]R:W-H965TR@0I-GV,.Q!L1G;J"UEDMRT?S]*=KQT2+,7 M6Z3(PT.*Y&POY(,J$34\-357C?U/)65V#!U(7;(Z68K9,,TB;+PU$XB MRZU34WNA[X^]AE7<26=6MY3I3+2ZKC@N):BV:9A\OL9:[.=.X!P4JZHHM5%X MZ6S'"KQ'_6VWE"1Y TI>-)FHE?W"OK.-$P>R5FG1],[$H*EX]V=/?1V.'";^ M*PYA[Q!:WET@R_*&:9;.I-B#--:$9@XV5>M-Y"IN'N5>2[JMR$^G*WQ$WB)\ M6+--C>KCS-.$:NZ\K$>X[A#"5Q BN!-L1DHA0=*U^%9P#LF M+R *7 C],#Z#%PTI1A9O])\4MU(TL""NDEJ!RJQ+6-@"HX2?5QME];].%:## MCT[CF[&9JAW+<.[07"B4C^BD[]\$8__3&?;QP#X^AY[>TQCF;8T@MM!GHN"F M4JPH)!9,8PZ;9UC0H1#R^13[\_CKDBHC:AK.BA>@31> 38-K!:*5-'E]T/S? MH%D?= KK4B*^Z /[>.83P5**O*6*]T#PEM2).PH"2,;PCL1@=$FB#XE/XHH" MLWHP#B/W,HY@0C=AXDZ"!(*0SK<5UCF86E<9 N,Y"%WB0!;BT!V/+R$P >+ M]9,)! 9C+8[ E:&2Q&Y ) /?MUS"<.+&_JB33SV?=S1KU#F%W2@*,M%RW8W= MH!V6UE4WJW_-NXU'C5Y47$&-6W+U+Q+J8-EMD4[08F&PO M=V]R:W-H965T_%LJ_2]*1 M/)1" MFGE06%M-P]"D!9;,#%2%DB2YTB6SM-7KT%0:6>:-2A'&4702EHS+8#'S9S=Z M,5.U%5SBC093ER73WY#(/=P2U?%]8=A(M9Q=9XA_9C=:-I%W8H&2]1 M&JXD:,SGP=EPNDRFMPD:R4NG>;M]D\B!PA%)A:A\#HM\%S%,(! M$8UO+6;0N72&_?4._=,3<52G ?4&@;U M!H/%LR?#D^CU <+CCO#X$/KBKFD84#G<\;7D.4^9M'!FJ),J5]L&K((+M*BI M0A > ]P7R6%?'PJ$7 GJ52[78%T1@$$J".I_6X EL69RC8X,EU7=2/RYZ7%C M/6ZUY8+_P,R1S#J2SB)W1#<^$\PXQ M,L5RAWJ5[-/WS"&ZYN7^9:T0B0&AH M+%&R",E@'!TY)\G@9'0$EP\5=3ZYU;A!22XV2C!'Q7Z'>#AX1;JWK22C,E"U M;'&&T2"*/1"M8D(ZUYAQ^YO6Z6"2'!U(;M(E-_G?Y)X7[F8-A?6/%!Y$W%^, M^_+JI:[9V6XF.Q8N,>DCDUZ.2*AJ#8*SE;M&3@IE,S,RJ(W#?4<7*F#45L84 M+IF6+^DI@/?TB#B%)1-,I@A/(3D^/8GZ(?<<#)9H^:TY5+# GTVCPBBY?-Z.^ MV5A5^?&Z4I:&M5\6]#JB=@HDSY6RNXUST+VWBY]02P,$% @ :WVB6%.) MSR/& P ;P@ !D !X;"]W;W)K&ULE5;;;MM& M$/V5 1,$-D"(=XIR) &VVR!Y"&)8;OM0]&%)CL1%R%UU=VG)_?K.+BE9;F2W M?1'W,G/FS.Q<--])]5TWB ;V72OTPFN,V5X%@:X:[)B>R"T*NEE+U3%#6[4) M]%8AJYU2UP9Q&.9!Q[CPEG-W=J>6<]F;E@N\4Z#[KF/JZ09;N5MXD7; MQMB#8#G?L@VNT/RRO5.T"XXH->]0:"X%*%POO.OHZB:U\D[@5XX[?;(&ZTDI MY7>[^5(OO- 2PA8K8Q$8?1[Q%MO6 A&-/T=,[VC2*IZN#^B?G._D2\DTWLKV M-UZ;9N$5'M2X9GUK[N7N,X[^9!:ODJUVO[ ;9-/4@ZK71G:C,C'HN!B^;#_& MX42A"%]1B$>%V/$>##F6/S'#EG,E=Z"L-*'9A7/5:1,Y+NRCK(RB6TYZ9KG" M#878P#UNI3)<;.#B@94MZLMY8 C?2@75B'4S8,6O8"7P50K3:/A9U%B_U ^( MUY%7_6=G?[\NM5&4&G^<M"H'M%;?G@7Y>''-[BF1Z[I6^C+E:L2_A?6\(D+)BK.6O@B MAC*T^5P^P>C/.>IO@S\C\I>(9:])5&O08ZCH%DRC$*$;WA;MVP*]3-4Y,6@YC7M\1-'C%=Q1#'6O$&Y)4%$AO(=HFOEA M7-C5+/7S+(/55LK6YB<\8-4(V:8&8 WQ-/4C MLA3'A9^&&7S;HF+N];FH9'?.=!;Y^32#//&C:?2:T2CWDQG!IK/1XB%F\A\& M("_\,"\L7!J'9$11^C&#+FS2-*@ ]]1E-8%>1)=PD?E95- W(G^2^'*$_Q$V M]C-R-YWY>5%0;A@D/\QXZX.@EIX7,XC\,(SAF[-S>O?A71%'\4=(_"RQZ@ZS M1'IQ/%@P;$^Y+6,G ML^Z%:_C:)AZ5Y<3L[UE^!D"'2H-F[4V3#VP@SS MX'AZG*;7PQ!Y%A]&,5G;<*&AQ36IAI,I-50UC+=A8^36C912&AI0;MG0/P)4 M5H#NUU*:P\8:./['6/X-4$L#!!0 ( &M]HE@344I?FP, )\( 9 M>&PO=V]R:W-H965T>I4QNWD0Z+S"ANF1W*&@+Z54#3/TJK:!WBEDA5-JZB .PW'0,"Z\ MU<+=W:G50K:FY@+O%.BV:9CZQ%L%KLV!;OT?R\NU/T M%@PH!6]0:"X%*"R7WE4T7Z=6W@G\PG&OC\Y@/=E(^<6^O"^67F@)88VYL0B, M'H]XC75M@8C&'P=,;S!I%8_//?H[YSOYLF$:KV7]F1>F6GI3#PHL65N;3W+_ M$Q[\R2Q>+FOM?F'?R:8S#_)6&]DW"N.FTBQX5-RKU1])63GEG=,B6XV&K8H8+[BBF$5P]L M4Z-^O0@,&;!B07X 6W=@\3-@"7R0PE0:;D6!Q:E^0,0&=G'/;AU?!/S U B2 MR(,G@;>+PLN]Y>S=X^^O51AM%Q?';.7\[N.0\G&V8N=ZQ')<>=81& M]8C>ZN6+:!R^O4 V'MP0+^F;AS_"]; M>*@02EE38Q(2&)OV0W?RKZC!T.?-8+@X&,9CP]K%,&=UWM;,MIF>PT.E$$\J MP:7/_B3PL6U0,2/5'#[2R.$BEPT",T;Q3=LQ,!*N*1^MAOE%1A0R3.UV)+!:><#B]M^BD85K)!4\G"II0R7;<%V7L^ZU;[V>KIJ=A(:^"& MC"M\8]C3@-9SIY4)#'*I=I(<0T"729M *^VNR)=X/ I_=++6K''-TW3-@ZYY M: CFU3 %72_&Z2C[]SK)Z-PT"HZ6!D5^ZU:C)KJM,-W^&&Z'[7O5+9V_Q+O5 M3=:V7&BHL235<#2A^:NZ==B]&+ES*V@C#2TT=ZSH'P0J*T#?2RE-_V(-#/]) M5M\ 4$L#!!0 ( &M]HE@QA4U6V ( + ( 9 >&PO=V]R:W-H965T MVJ&C;9Y,< MQ*IC9[8#W;0?/[] !A5DVL2^)'ZYY[E[[AQ?AFLAGU6!J.&E9%R-@D+KZBH, M559@251'5,C-SD+(DF@SE*:[4S!JMD+L2SG=SEHR"R 2'#3%L&8EXKG"!CELB$\6W#&30N M+7!WO&6_==J-ECE1.!'L*\UU,0K>!Y#C@M1,/XGU)]SHZ5F^3##EGK#VMH,H M@*Q66I0;L(F@I-R_R ^!4@[AT!)!M XH3ZR)RL&Z)).I1B M#=):&S8[<+EQ:*.&!><%TH^,AS MS/?QH9'0Z(BW.L9Q*^$]D1U(NA<01_$E*%S:D.$MA* *(E$="''2SGB#6<.8 M'&7:"S9IDIXXZMX1ZD>Y))S^\%FW67T@NI9H"_!8H:_&H8C'GC8Y3&L_^"M5 MD0Q'@?FB%4MN: M*?BY'1[*@*>]=+3VAEJE\3!<[ M#ZEH9?G;.IZ(;$]POQ'<_S\GN7_*#)R(;"\#@R8#@_:2^U(K6^H+,'9R;P]UZ)XV]L\'.^8XZ4??5$?^#D=<1[C2%$N72]4H% MF:BY]OVA66W:\;7K0N%O<]_+S>6ZI%P!PX6!1IV!.0[2]T<_T:)R+68NM&E8 M;EB87PJ4UL#L+X30VXEUT/RDI+\ 4$L#!!0 ( &M]HEAF4'UXOP( ,,* M 9 >&PO=V]R:W-H965T4K6ZPYX,R("FI[ MCA/9!2:E%4_,V V/)ZR2E)1PPY&HB@+SITN@;#NU7.MYX):L&@\K3:D%NZVG]VO3.XJEP46,&/T#\ED/K7.+)3! M$E=4WK+M-VCR";5?RJ@POVA;SXT^6RBMA&1%(U8K*$A9_^/'AL..P W>$'B- MP'NOP&\$_GL%02,(#)DZ%<,AP1+'$\ZVB.O9RDTW#$RC5NF34K_VN>3J*5$Z M&5]1>)Q+ (HNTH>*"&+>QBGZB3G'^I6@XP0D)E28*.CT[0$2(E^I6S M2N R$Q-;JI5H/SMMHE[64;VWHL)BA+RS3\AS/+]#/NN7_\!\A'S7R(,.>=(O M3R!MY2^BVPI?R]!K&7K&+WS#[[(2:D2(/81_OZLQ="VA$/^Z -66?K>E/NSG M8HU3F%KJ- O@&[#BCQ_GJK;"5&"%X02 M^=3%KM?C4':U663,]"6YB?W ==6VVNQ">3W+<\YOJXD M>Z6')CFD63*0V1ZRL$46#G_6PB%1#FF6#&2VAS)J44:]NV^&18Y2IK[@&>B[ MGI5=[*)7&S_RW- )]\_'K#?4H50&,MNC,FZIC >X@<:OJ(Q#QW%>0.F-="B4 M@^,QFIC\KIDJCN2K4T1L6!2E22FF:LJ$[B> MH)XO&9//'5V7M'5K_!]02P,$% @ :WVB6)U1QO$A P *PT !D !X M;"]W;W)K&ULK9==;YLP%(;_BL6JJ9/6\A$@'TN0 MVK!JE38I:M;M8MJ% R?!JL&I;9+VW\\&BD)*62-Q [8Y[VN?!]N8Z9[Q!Y$ M2/24TDS,C$3*[<0T191 BL4EVT*FGJP93[%45;XQQ98#C@M12DW'LGPSQ20S M@FG1MN#!E.62D@P6'(D\33%_O@;*]C/#-EX:[L@FD;K!#*9;O($ER/OM@JN: M6;O$)(5,$)8A#NN9<65/PK&.+P)^$=B+@S+2F:P8>]"5VWAF6'I 0"&2V@&K MVP[F0*DV4L-XK#R-NDLM/"R_N-\4N:M<5EC G-'?));)S!@9*(8USJF\8_MO M4.7C:;^(45%)P(+#=-P1.)7#>*QA4@L%[ M!6XE< LR92H%AQ!+'$PYVR.NHY6;+A0P"[5*GV3ZM2\E5T^)TLG@AL+34@)0 M=!4]YD20XFU(9.AGPG*!LUA,3:G&J7LSHVI,U^68G+?&!*M+Y(P^(\=R!BWR>;?\ M!^:7:& 77:B]"U&"5X02^=S&KM/C5':EF5^8Z2UT%PQ:UR?*/LW"GLP:*/T:I=\Y M^^98)"@ZW.O;V/FO)K[OV)[E-=?'O+.K4ZGT9-:@,JRI##NI7,7Q1'\!)X#=3H%2C?&;K^\4SJ[/]45#V9-5"-:U3C'KYEXU?K:^A9UO'\Z>SI5"@] MF950S(.3J?Z-4&>S#KYFC'Y4M'GW_K_*/@'4$L#!!0 ( &M]HEC&F=@*\@0 ,D; 9 M>&PO=V]R:W-H965TJ*M@I?7ZLM]7V0IRJB[$&@KSRT+(G&I3E,N^6DN@\U*4\SX) MPZ2?4U8$TTE9=R^G$['1G!5P+Y':Y#F5SQ^!B]U5@(.7B@>V7&E;T9].UG0) MCZ"_KN^E*?5KESG+H5!,%$C"XBJXQI=-9V94P8W@?[.Y7ET% MHP#-84$W7#^(W>]0=6A@_3+!5?F)=M6Y88"RC=(BK\2F!3DK]M_TJ0)Q),!Q MBX!4 O)6050)HK<*XDH0EV3V72DYI%33Z42*'9+V;.-F#TJ8I=ITGQ7V?W_4 MTOS*C$Y/;SD\/6H CJZS[QNF6/EO]-#C?AP@L4#W$C@SE[;%^XW,5@:SJ609 MH&O.149+R?L4-&5O_N WJ'6(&^K,1&T6*N)GUM&FPOV\^JQGW< M-XZT-.X3E10U?*H09ZZY;QG7O8R=O:SG9E,WG=*N \.G6>K)[ 39H$8V\#_'!CY1^C1+/9F= MH$QJE(ES]-U0M4)FW4:9/0"#'3+-V;Q<1V[4S M*Y]N:>5V,I!"@EM(':(U=L;-Z=W5V M.J!,.@U;,!UB,W;GYL_E.E2(XO6ER.W4F8]/M[1R.]G'DJ1EX<:'N(W=>?N+ MT)172!"U 5+"O)&-U_#MU2VMW$[8#$.2M&SR^)"LL3-M3J^S3&Q,_$-K^FRG M62,8KU':JUM:N1V#Z>%X/!RT@#GD9.P.R@:,W(!SQ^=F86+W5+\7G2[HW#MO7ZD+2Q.VJGL SO^9(TZ=7 M\7B-UE[=4GP>KGOC.,+C9D#D$*^).U[O-[0C,G9SV^3-FYK;J_.C1J\)FYPG M[!Z.S*UK2W DAXA-W!'[3]!OV?'=+IWA>(W4Y#Q2QQ$A21N;H^?5[E#M>LKJ MEG8&XO?)-#E[YH/' Q+^N"3WCUZ;V)=;WA1#ZI6!?SM1O[Z;_ 5!+ P04 " !K?:)8 M%!A'<7$" !E!0 &0 'AL+W=O]\WW??V;Y+MDH_F@*1X+D4TDR"@JBZ#$.3%5@RTU,52KNS4KID9$V]#DVE MD>4>5(HPCJ+SL&1HC1<2="XF@17_&HY@RZE ^ZO=^RWOG9;RY(9O%;B)\^IF 3C M ')H/$N# ?+."%Z 2XA.^%J@V3 MN4E"LC)=LC!K)4T;2?$;D@9PKR05!C[+'//7^-"6U]48[VJ\R@WF"0OG_7/X\^'1$\[ 0/C[&G<]R@K/'@G33(W>(4&C M_P0-HW$T^$=/N/?T2]1KW^ &,E5+:KJ@\W8SY*IIG9?P9@#99[+FTH# E85& MO0NK0#=-W1BD*M](2T6V+?VRL',0M0NP^RNE:&>X!-UD3?\"4$L#!!0 ( M &M]HEB%'W4=9@, ,P, 9 >&PO=V]R:W-H965T1@&S:I$U"_=@>ICV8Y +>')O9!MI_/]M) M,PAIU%:\0.SX'-]S?7-S,MAR\4IU.K:=66ZA!S+2[X"IN_, MN)[!F!7?">P ME3O7R$B9 MBYEA"1-.?Y!,+8=.WT$9S/&:JAN^_0REH*[A2SF5]A=MR[6>@]*U5#POP3J" MG+#B'S^4B=@!:)YF0% "@CJ@\PP@+ 'A2P&=$M"QF2FDV#PD6.%X(/@6";-: MLYD+FTR+UO(),^=^JX2^2S1.Q:,TY6NF)+J!%,@&SR@@S#(THKHB,$L!Z=I" M$P$94>@KEQ(D.DU 84+E&;I ][<).CTY0R>(,'2WY&NIT7+@*AV;V<%-RSC& M11S!,W&$Z!MG:BG11Y9!MH]WM:9*6/ D;!RT$G[#XA*%_CD*O*#3$,_DY?"P M 9ZTPQ-(GX/OJ0FK8PHM7_?EQ]24XX(D;"8Q+>1:KG *0T?W" EB T[\_IT? M>1^:$G1,LN1(9'O)ZU3)Z[2QQ_=L1BB%3/>I#;!U8^8*AL@RF%ZYB4._YWD# M=[.;DM9]7IN2PRV#J+^SY9[6;J6U^]I".7_^848_;SBE2'?0+1;9KZ;$=(]9 M4L%[4:T(D];(WJB[5^GNM>K^^* -AP1TJLN+;T \GC5I[1UH]:.ZU,,U M%V$OJDEM#>:-4ON5U'ZKU!^"*-!G.F]2V#^,WJ\);%IR5=/7&L$;]5U5^JY: M]=T)S"3%UGV-LM_::F@[IQI?W5<'4NJ-\7!%[;R3UF#>*-7W_KL<[Z7/JS88 M[4]J2;7W+NA[84UQPZHHZM5$MT?U6M7NCLW+02RL79;(-OS"&%6SE24?62-: MFQ_[UY/"6/^G*7R^MCVZFTE$8:XIO;K*BL,[%0/&5-9,SKK0UM9=+_;D! MPBS0]^>!V:#Z@(G_ 5!+ P04 " !K?:)8[W#MM'L" #(!@ &0 M 'AL+W=O;*=65108WEE#? ],J:BQHK'8J-*QL!N.Q -74#STO<&A/FY%DW M=R?RC&\5)0SN!)+;NL;B[1HH;^>.[[Q/W)--I5L,9;JNYY^Q,&/['A M*SB5W1.U?6Z4.JC82L7K :P5U(3U;_PZ?(<]@!\= 00#(/A70#@ PLYHKZRS MM<0*YYG@+1(F6[.90?=M.K1V0YCYBRLE]"K1.)7?LATPQ04!B"2('3CYUR]^XGT?,_F?R#Y8#JWE\!1[?H];?6 4"(+IJ-,>GG1P4_2[W)]= M1G[F[O8M?,X*@C -;=8';9'5%IW4]J1+?$+8I!%\HYV/RNL9HGUY81AZ!_)& MLOPH]?%+>#6%$EU:)-IR/'_[X\[:IGZ:S W7C:;,C\A(K+SDI[X$K M3.TY?AO3EWS^:U[D19<'^L;2XB2(#_2Y>WW&]'A=W!O")**PUD!OFFJ?HN^; M?:!XT[6>9ZYT(^N&E;YJ0)@$O;[F7+T'IIO9RRO_"U!+ P04 " !K?:)8 M0EM/#/H$ C'P &0 'AL+W=O]%X>W.6+I6P>^-/QBBSH/97?5K=?9Q L:1K2@F6P@B/I[HE>T*!HDQ>/'%M3KOMDX M[EZ_H']L@U?!/!!!KUCQ3SZ3RXF7>&!&YZ0NY!U;_T6W 44-7L8*T?Z"]<8V MQA[(:B%9N756#,J\VOR3YVTB=AQ@>,0!;1W0:QWPUJ'-G+]AUH9U3229CCE; M ]Y8*[3FHLU-ZZVBR:NF&>\E5V]SY2>GMUQ5!)<_ :EFX,\?=;Y2;23/0*4J MZ.TUE20OQ#OP'GR[OP9OW[P#;T!>@:]+5@OE(,:^5!P:)#_;?N]R\SUTY'LW MA)\##,\ "E!H<+^RNU_3K'/'NKNO(N_"1UWXJ,6+?A'^&;@M2"7U+(!_ORAS M\%G24OQG"G6#C\$"N2T8FG>IB@_(EZT]]_@W'PAREP1V!:&G"7!FQ# MGW[B3 BPVJT%^I(%4^ ;M+A%:P:*IVD4)3!(QO[3;D@FLQ##J#/3R(8=V=!* M]@L5X@)\R+*ZK LBZ4QU6Y63+"?-P&"BN\$+=WB\1SA-DW"/K]$.1FEH)AQU MA",KX;]57WI];J,#$A@F$.US-9@A-$+03#7NJ,96JE^9),41LNV@8&(<'U() MPW2$]QB;S*(H0&;&HX[QR%X-BJ.)E-5K:-]T!*8%F'0!)B<UGDQRZN%:'GFI:+]1!NFYAG3 M"C:TD5RAZ:'OZ EXPG+=@KM*A2,T/16]MH#6.7MPR6[AM&K$*$CA7M$:[6 Z M.C)-P5X%0+L,N"'94CWBK^%J11K<4([0]+A[00'#4]:L5:X,3H4C-#T5O52! M=JTRN&8/=0C$09#L#[0F.Y2D\;&AMA,R/K$BL"(,;R!&: M'F\O=^#HE+7J5!:Y0M-3T0LC:!4 M%=1WB"$U?4O?J!P6G7%0[54.NT/14]&H(626&MG6#\"G+TJG@<86FIZ(7 M/,B^A3)TY$2'.R,(IG&Z/\L;[1(*M9 M904:W$Z.T/2P>W.6K%/=XPI-3T6O>Y!]GV=PR8X.9_'T8(?2: 7QD7+M ME0FR*Y,K5JYJ2?E6F+*Y7!-.C32=;M"X0M/#[A4.2D]9KDXUD"LT?3^]UT#8 MO@,T>$<]."C$$,+]\=5@A=/HB#+%O4K!=I5RQ2HA>;TY6,NKAO9")<4XOMJA MAK:2*S0]\%X#X5,>_V"GZL@5FIZ*G1,@QT= AX<[*$["=+]B#69H=+"8\G=. M,)OCXQO"%WDE0$'GRB\X'ZD6Y)L3V@2;>+81>T3%M")-$C:;O=KQ\I*?JP*'E-Y)M8DL]Y]9QC'KT1IT?*GGA$ MB !?TR3C,R,28G=CFCR,2(KY-=V13'ZSH2S%0IZRK696*NLX)1F/:088V:$&6EW6'!9Y/&3T"IJ*EFCK(>Y-GRVKB3/V,#X+);V.9)^:_ MBX@P\#$3.-O&JX2 !>=$<' %'HH?%M ->*0")YJ@MW=$X#CA[V3XEX<[\/;- M._ &Q!EXC.B>XVS-IZ:0D.I69E@"W19 J ?H$V;7P(;O ;*0HTE?#J??D;!* MM]OIIFQ-U1]4]0?E>FZ/WH2$'8@Q__$'Z%D_Z8H?2:S5"KMJA3VD/O^94<[!DG*A M*[/(]?)<]>PXS.63Q+:LJ7EH%G VK(7F5&C.(-HB#/?I/L%"_DB+E#(1_XO5 M4T('6B@Y#8(KY-AP<@*J"[-LA/2@;@7J#H*JY=+70;=S1^B[DP">@.G")A,_ MT(-Y%9@W"+;,'S7R4.1_%..[Z#.M^[GD<2:Y7L5R7[%QYM?\Q6C"36 M:D50M2)XQ6@'W16G&^VS82VT284V&6VT)]V9]9'CG'!JHES7[QEL:-5&:KUX MM,O4YCTGMN5Z)V2Z,,='/:,-&QX/!]'NR$'^O[:3'10DC#*:T.TW+>:@S/2ZW=CMJ\X6OHFC#/@7X/:FW@\.4.#KO>[ 6>&YRB=<-\RPWL'K3:PN&PAS\RO"89 M3HF6;53?'DNM76GMW/#2U@U']>ZQU-KMJ-T;OL:^H<:8/P8(U1:.7F[AJ.O-T$&>?X*F#?.\GL<.JBT<#5OX+0Z? MI&UKR49U[;'4VG4V7K?9 M2&/&.M)S86W4VK/1RSV[3&WN2'2PAD(*)+.Q Z>V/S]AMHTS#A*RD3G6M2\E M6+&C6)P(NLLWY594R/?N_# BTKZ9"I#?;R@5SR=JGZ_:UYW_!U!+ P04 M" !K?:)8=4U:)V<" "'!0 &0 'AL+W=OU EPCB*+L.*<1FDB??=ZS11*Q).!+TMRCC!-:K;$.=)C?:^M%78L.:]0&JXD:"Q&P;AW-1FZ>!_PC>/&[)S! M5;)0ZLD9TWP41$X0"LS(,3#[6N,U"N&(K(SGEC/H4CK@[GG+?NMKM[4LF,%K M);[SG,I1\"& ' NV$O2@-I^QK<<+S)0P_@F;-C8*(%L94E4+M@HJ+ILW>VG[ ML .(XP. N 7$7G>3R*N\8<321*L-:!=MV=S!E^K15AR7[J/,2=M;;G&4?J42 M-4PE,;GD"X$P-@;)P#E\85HSUS(XO4%B7)@SZYWF*(D7G+G8?V'C['G%->9P M ES"C MA6V^2D*Q4ES#,6EF31E9\0%8?9DI2:>"3S#'_&Q_:$KLZXVV=D_@H MX8SI"^CWWD$X+WEDA.>W]D^Y7OZ\>/.QL.4 ML#(_]W6A(>_O)W<#>65JEN$HL!-G4*\Q2-^^Z5U&'X]('W32!\?8TW&E-/%? MS$]'C9JK?)_$XR2]&%Z1:7-$S[#3,_Q_/:JP/U#73>:[N4]=0WGI*=T"6J># M)%SOJ@AWAJ-"O?0KP$"F5I*:.>F\W989-\/U)[Q94?8G6G)I0&!AH='%>YM= M-V/?&*1J/VH+179P_;&TFQ*U"[#WA5*T-5R";O>FOP%02P,$% @ :WVB M6$^ZZOWG @ 8 H !D !X;"]W;W)K&ULK99= M;YLP%(;_BL6JJ96V\I&$CRY!:A-UZ\6VJFFWBVD7#IP$JP9GMI-T^_4[!LK2 MEM HV@W8V._KYQP#/L.-D/>%&EF9ULLSVU9)!CE5IV()!8[,AVYSB^G5-66/&P?'8MXZ%8:6#'PR5=P!3TW?):8L]N7%*60Z&8*(B$^<@Z=\_&KF,$Y8QO##9J MJTU,*#,A[DWG*AU9CB$"#HDV%A1O:Q@#Y\8).7[5IE:SIA%NMQ_=+\O@,9@9 M53 6_#M+=3:R0HND,*/L*>K6@5P9:D95A3:BF\5"*#9%F-KJ91IF;4HW1L,)L MXU1+'&6HT_%7G8$D5X6FQ8+-.)!SI4 K\IY,JXTE8DXN5WHE<2@74K,_M,S_ M\00T95R=X-2[Z80<'YV0(\(*X_5;Y.-N^0221MY[*KN[WQH2\%_,GN2 MD%Z3D%Z7>WP#YL>0X@N#+\6./;JH+/S2POQ$UK'K1I$SM-?;870N=& 8_2:, M?F<82#YH(Z]4_6WR010&S\@[O0\D'S3D@]?(_3;RP5[DG=X'DOL-N?\:>=!& M[N]%WNE]('G0D >OD8=MY,%>Y)W>!Y*'#7GX&GG41A[N1=[I?2!YU)!'G>2W M>"@!G6N0;?S1"_ZP[PS\9_R=*QS([SK_CE6G,X(O6(&-A=*MAZ#S\A<9X ZX MSR)HG1=%0=C,J^#LK>/?U%YXC"Y8H0B'.0J=TP _?%F5,U5'BV59$&ULM=UM;^I&&@;@OS)B5ZM3 M:1O\&G+.)D@)\])6R?;HI-W][,"$6,4V:YLD1]H?W[%Q& ^8P5[N[8<>2#R7 M(?/ 8]\8^_HMR_\H7J0LR7NR2HN;T4M9KK^,Q\7\1291<9&M9:I^\YSE252J MN_ER7*QS&2WJ0;35DWF*"CG+5O^.%^7+S>AJ1!;R.=JLRF_9VT^R>4)A MYNIH5$93:_S[(WDU=)*JV[4 M\UN/5C,2IU4I/I:Y^FVLQI53*I]*\B/Y9Y3G4544Y!.5912OBA^NQZ7RJZ7& M\\:ZVUK>$/'ZGGMGISW\>3N/"OX$.47Q'?_ M3CS'"\COCY1\^FO7\YIA&&IGJ)SO&-_",#O#Y=,%\:Y.,MS._+)9*2:L&<_" M"#MSNUDJIGY2[E4W8TR=OZM+OW;#(^Y]EBY_+&6>D*I"NVIQ.][O'E^]@W\I MUM%@)Y=@UL-,W-#U]Z;7NL:A M[\-(C"$QCL0$"#-J8+*K@8FU!A[E?*->WW63)O\EMVHG16VZD=N[>S+;ONYY M-(]77S>E<=GZSN+>M^0)$JR3=I9&];!0VL#B5$DQCX?;NYXH=.QP<.1JQ4@ MS)AXU]&1A&/?L#CL'JJWW*NEJNW)YC>#FXU]I4-+!JI1J,:@&H=J J69I=5* MN]PSFTX#H,H$J5&HQJ :AVH"I9EEXNDR\:SO0'=9KL:H754RC]1JCKVC6)'! MI8+4*%1CC1:T^I!WI ]!5RQ0FED'.H1TK2%6WT[TVXOLU8&@D254HU"-034. MU01*,TM*!Y=N<&X'0J: ,ZA&H1J#:ARJ"91FEHG.3UU[@%H'*LL\*XK.$D&& MB#.H1J$::[1VY_&=[L8##591FCG].EIU[=GJ7J[V/W<<9- X@VH4JC&HQJ&: M0&EF+>F(UIV0R6CG,]Y\S^ MXT&C6:A&H1J#:ARJ"91FEHF.9CUKIM<#7:] M:689Z.C5LT>OLVA>;@IR?S\[Z#^=]0#-8*$:A6H,JG&H)E":63,ZIO7\K1H=IL\G/)U5 DU@H1J%:@RJ<:@F4)I923JE]2[/[3O0 !:J4:C& MH!J':@*EF66B UC/?I#L;ZI".HL#&KM"-0K5&%3C4$VL MGCUB[;D! HU:H1J%:@RJ\49K;X!<=>XPBXXE)_N;*N84ZQ35LZ>HMPNUP1!G M:;0B\RQ)XC*1:=F9J-NAP=,,S4:A&FNT=I(1'DDRH+DG2C._P*AS3]]^&.M# M]!XGFX0\]7K5V[&AY0#5*%1CC=9^]7D'+[]M/4!7+%":60\ZX/3M >?CYJF( M%W&4Q[+HWO/HK MHX G5*%1C4(U#-8'2S-+1H:COG;FCX4-S4*A&H1J#:ARJ M"91FEDGK._/6 &W*XW>Y(/.7*%]*M?GQ*O-(W:A.[)!UU@PT%&TTXW/SO2_E M0E?(H!J':@*EF86@DT[?GG2>;C7JIW=1(;5_?+09 M08-2J$:A&H-J'*H)E&96EPY/_7//%^!#@U.H1J$:@VHVP;FG"PB@\2Q4HU"-034.U01*,\M$Q[/!B6-6=Y_T MD6?9V6OLP. R\;IZS>&>#W2M#*IQJ"90FED .G@-[,'KD&9S*GFSKVIPJ2 U M"M485.-03: TLZ!:IS<]]RP! 32@A6H4JC&HQJ&:0&EFF>B -K ?RMI_9\<. M#2Z7K5:=S*D\>NI<:/P*U3A4$RC-+ (=OP8GSA4PK/F<"N#(I\=?^;T'XC;OP'9H<'EXG;&=OO]![I2!M4X5!,HS:P#'=N&]MAV8/_YO^PXV1_B MX J#'K<+U1A4XU!-H#2S$'5\'/KG]BUH* S5*%1C4(U#-8'2S#+1H7!H/ZIW M0-^"AL.-MK_C-#EH7-#8%ZIQJ"90FED(K8MKV6/?7HWK/MX[=UMSXW:92UE] M5ME9.-"8&*I1J,:@&H=J J69Y:4#Y?# MT'ZX[[T\]06C!G#=5N?P+L+]2_KU68K:'\S@:87&LU!-H+3MM(Y;UP9.9+ZL M+_M@/)MY=Z MWMXILW5]I>&GK"RSI+[Y(J.%S*L%U.^?LZS\N%.M8'?![>F?4$L#!!0 ( M &M]HEBID/FMHP, #40 9 >&PO=V]R:W-H965T1$7+$] M4'5GQWA.I%KRV!1[#B0JG?+,M"W+,W.24B-8EWMW/%BS0F8IA3N.1)'GA#_= M0,:.&P,;IXW[-$ZDWC"#]9[$\ #R\_Z.JY79H$1I#E2DC"(.NXWQ%E]OL:\= M2HLO*1Q%YQKI4!X9^ZH7'Z*-86E&D$$H-0117P?80I9I),7COQK4:)ZI';O7 M)_1W9? JF$@X*)QQ![MVL(<.BS,.3NW@E(%6S,JP;HDDP9JS(^+: M6J'IBU*;TEM%DU+]&A\D5W=3Y2>#>S@ +0#]CAY4AD1%!HCM4+TKT&TJ2!QS MB(F$"#T^H:VZB!E_0J]O09(T$V^4Z^>'6_3ZU1OT"J44?4I8(0B-Q-J4BJ!^ MC!G69&XJ,O89,@[ZR*A,!/J31A#U_4T56!.=?8KNQIX$_$CX%7+P;\BV[,4( MG^V/NSL3=)Q&;*?$<\_@==34*=P*C?[Y2YFB#Q)R\>^8;A6N,XZK2_U:[$D( M&T/5L@!^ "/X]1?L67^,!3T36$^"12/!8@H]^,0DR53]5_DU%FKE[Y7^^D?H M$-C^ FO]#]T@1LSLY<)R&[,>/;>AYT[2.[T/(A!!>^ A4*E^S<9X5D#8ZC# M XZ3)CU^7L//F^1WQUE4A/(DX!BO28!+4V4FL%ZL?A.K_T+5XL\IP4Q@/0F6 MC03+GZR6Y?,RL'P7#S/QN1EV5RZVQK-QU=!;S54MJ^>E8%WYWH#FN-4X26RU M+<[Z#DW:D7&T+4T"7)HQQ6!OLG:Z<&Z!6/ MLUH,.\V8F;_$Y]*R/0S@R49[2?742(/"L)9#IJ-FV#[#M.W9>+IIOTLABY!^ M16FH^-((,9D GZRH2<2+4VDFM'[\[:$ NR]549/'C8MEF FM+T-[]L#3AX\? MJ"CO6:DL;,];#?-TQ Q;_O),GK8'!CS9C"^J*'^T5(8-Z8S9D*G9&#6C M5@O)]N68]\BD&AK+RT3-]<"U@;J_8TR>%OH!S3\%P?]02P,$% @ :WVB M6(L6T/L: @ [00 !D !X;"]W;W)K&ULK511 M;YLP$/XK%JNF5MKB $W;98"T))JVATY1HF[/#AS!JK&9[83NW^]L"$HE4NUA M+^"S[_ONOCN?DU;I9U,!6/)2"VG2H+*VF5-J\@IJ9B:J 8DGI=(ULVCJ/36- M!E9X4"UH-)W>T9IQ&62)WUOK+%$'*[B$M2;F4-=,_UF 4&T:A,%I8\/WE74; M-$L:MHG?&] M2(.I2P@$Y-8Q,/P=80E"."),XW?/&0PA'?!\?6+_ZK6CEATSL%3B%R]LE08/ M 2F@9 =A-ZK]!KV>F>/+E3#^2]K.=W8;D/Q@K*I[,&90<]G]V4M?AS- > D0 M]8#H7P%Q#_"5HUUF7M:*698E6K5$.V]DT_>?R%ZIC0>U\5OL6+T2 MM(8"I\XW>TQLQQ!V#7"C?\SN)Y\2>CP7,>+T, D'IRXY>G89W4. K=]S:8B M$E'3R3TV17?#U1E6-?Y^[I3%V^Z7%;Y'H)T#GI=*V9/AKOSPPF5_ 5!+ P04 M " !K?:)8BR 9D#<# !H"P &0 'AL+W=O(+V([?]_@\<>S3WTCU6R\!#'G)N- #;VE,WO-]G2PAH[HAQUX8(NEL0/^L)_3!3R"><[O%?;\TB5E&0C-I" *Y@-O%/:FL9WO)OQD ML-%[;6(SF4GYVW9NTX$7V 4!A\18!XI_:Y@ Y]8(E_%GY^F5(:UPO_WJ?NUR MQUQF5,-$\E\L-PRZ=M_1+)M?LEFV)N!R!;->32>WH8>5?D M<@J&,JZOR%?R_#@EEQ=7Y((P09Z6UAG=4-4@S_$*B(&I5K&=2+[^&68-$L96'<85\ M6B^?0E)&;]9DTRS?2=/YM4]\)U6@"Z=FM9,],WHZIPD,/#P4-*@U>,//G\). M\+V*TCG-IFG68322X(XF-Y*GH"HW;:WGJ2P+ MLS!P;O;P70^#1MSN^^M]2&<*>0"I74)J?QC2# 3,F<&#'#]V 2F9;93&ICG?JAG82 M2V%0=@(^GTMI7CLV0%E<#_\"4$L#!!0 ( &M]HEC5^!BU70P "J- 9 M >&PO=V]R:W-H965TD& M_!7H)9EIL*3MW78VTUQW?W:Q$CPU-FN;T-[L'W\V. C9BHSILS]L@5B?5_ ^ MMJ3'DGR]R_*OQ4J(DGQ;)VEQ,UJ5Y>;=>%PL5V(=%E?91J357QZS?!V6U=O\ M:5QLAWFW^]$DNUN M1M;HY8-/\=.JK#\8WUYOPB?Q(,K/F_N\>C<^4J)X+=(BSE*2B\>;T7OK'?>G M=8']$7_$8E>S5MF M2;'_/]D=CO6=$5ENBS);-X6K&JSC]/!O^*WY(4X*5!Q] ;LI8)];P&D*..T" M[BL%W*: VR[@OU+ :PIXYQ;PFP+^N56:-@7VV1\??MU]:H*P#&^O\VQ'\OKH MBE:_V.=W7[K*2)S64GPH\^JO<56NO*5_;>/R.WD3B#*,D^)G\@OY_!"0-S_] M3'XB8U*LPEP4)$[)YS0NB[?5A]7K_ZZR;1&F47$]+JLZU*3QLHEW=XAGOQ+/ M(A^SM%P5A*:1B#3E%^;R3E]YVA/?[@,P,V#J&@#CZM<_IL!^2<&=;23^.TRO MB&.])?;$=G2_B+GXQS _%G;^+KH M2BJ\6S0J?I0SM&7J]N+=\4F7(J;4=4@%")_%J/;?_[#\B?_TB44 M"0N0,(J$,22,@V"*+-RC+%P3_?9#46S#=%E="+-'LLS6ZZH-K:[,RZ\ZI1A1 M0Y6"A 4'F+^'U5V4YUO+GSO^_'K\?*H!9$R&A'$03-& =]2 9]3 XL]]$UAU MOR*QWM3=J(*\J=K"0POYLTX)1N!0)1Q@[DGR)FK>@MXC*+)"# GC()B26?^8 M6=^,@F)+MZ3';4V.V'^HT5F?Q9ILO5]481MN'-2*&9G3: MN>PZSK2=461$BH0Q)(R#8$KF9\?,SXR9O\\SDE=CI.I<+\H\_K(]7,37821( MF9&L7%5G^5JLOXA<*PHC?:@H9IV+M>7/W)8H9IH&V_5:ISFR6@P)XR"8DNSY M,=GS,T[S3\?3G%39?\K#M2ZQ1M+0Q")A 1)&D3"&A'$03!&*-9$.R.3"05]3 M$*0,*"V TBB4QJ TCJ*I\C@QR"SCE>3]MEQE>?R_JDL8KK-M6M:#P/WH[Z07 MH56/D3M8/4A: *51*(U!:;RA*8VH-ZG^.S:CJBYLJ0O;K(LHBNL>1)B0^S". M?OF0DD6XB99W968,UH#?O;;,YW[+J(#&I% :@](XBJ8J0)J7EMF] M7)Q< ,C?9(C+828/U@62%D!I%$IC4!I'T53]2 O4FEW: X7:FU!: *51*(U! M:1Q%4^4A35/+[)HJEY>7BTI$PC2J6ITR?KDM9KCG:0XP6$;SCDT^\[WYO-W\ M0'U2*(U!:1Q%4R.&/HL\?!(= S0BFSQ>B@%WSPV!VJ!0&COS.W!45#7K MTN"TC0[9+4O$MX=2B*0:F_Q'?"=TO4FR[T+K6IE1@Y,,M3RA- JE,2B-HVBJ M8*3E:;L7CD=LZ#Q**"V TBB4QJ TCJ*I\I#FIWV>^=GV/OM&(6;L8/% ?5"[ M.T_3LF>6UYZL"8W*H#2.HJFRD#ZH;?9!!WGB9M9@+2!I@=UU5WVOW:A3:$P& MI7$4356"]$-MLQ_ZARC*.'VJAQIQIEO-'0H!1*8U :1]%4#4BSTS&;G4U;\MMO"VWNH08FE!9 M:11*8U :1]%4B4B?T[$O;$4I:T(U,F$T@(HC4)I#$KC*)HJ#^EW.F>M4"].5JV6&=G6VQ&L MLB1Z9;VJ&3I8.EVKJBNAUY6S7=6R[3;IFB.\KMM"M3*A-(X MBJ9N7B6M3-=L92Z2L"C(>]+,R7IX=>&RSZ3\P4WPS/S!>3_0>K;!TQ_5W@H4SM)HSU:87Z@PU-6:K7 M25C@:OS!SFHN"JT9@](XBJ:F5?J#;H\_J!G+D;_)HF]38J@W"*4%4!J%TAB4 MQE$T53O2&W0O]09=J#<(I050&H72&)3&4315'M(;=,W>X*6++*!3I=T MNPO('<>S._T-"@W+H#2.HJG[GDO[T#/;AX-66YA90\4 I06>;BEY>XMTJ#,( MI7$43=6!= 8]\VS(LQ;_FQF#\Z_9O+&]ZSW4^8/2&)3&430U_=+Y\WJIT]:74!]/R@M@-(HE,:@-(ZBJ1*2'J/G7-@!]:"N(9060&D4 M2F-0&D?15'E(#](S>Y"-!5UD2>\V0PU)Z=?9MMO9$&%A#CE8"M )D5 :@](X MBJ9*X>1A.V9C\GZ_FB&>VH)>]:5X[=E 9T(":51*(U!:1Q%4V4A M34WOC(F0RRPMXDCD8=WMT&J@:S):OM>9,K(P!QLL N@>F% :@](XBJ:*0%J@ MGMD"_9Q6R=_E\?X^9!07RWH;(?U@I/OH'7_>E0'4S832*)3&H#2.HJDRD&ZF MU[/0^Q4GO+7^NUZ]1]X_Y4*LA7ZW*7. >U-Z$T@(HC4)I#$KC*)KZA$#I@?H]4RB'/_W13!RJ&R@M@-(HE,8:VNG0 MSO7W3VQISYA"Q54U(?U0OV=U^+X!NNN=5FO&#!8"=-XDE$:A- :E<11-%8MT M3_U+UXG[4&<42@N@- JE,2B-HVBJ/*0SZANMM1^>5FO&#Q:1T[D$6^ZDWG:Y M/9\'&I>>'9>=?21'U5!-K/0T_;,\S1^>5FL.,SC!!YHZ)]6:MA_K 0U*H31V MWE?@J*!J^J6/Z?<\-5S31] ,4K49A\ZZA-("*(U":0Q*XRB:JI^31Y/[EW8; ML$\=AUJA4!J%TAB4QE$T51[2"O7/>)AYU;KLTGH#?I'O]P0HR$KTWT$SDP?K M9]IMC]N-"=08A=)8?_4Y*N AT^-B)409A&5X>[T6^9-8B"0IR-[*OAG5HXKC MIR07C_636]Z]MT?CSN<+ZUU@U9^/)>;V>E/U+3Z&^5.<%B01CQ5RJ;_%*:F5^S3&B&7%'!0>)TY+WO M'"4#:^\,;BDNU=H8;"1C(>[LY&PR\@)[(&28:LM S&N!)\B8)3+'^%%Q>K5+ M"UP?K]A/7>PFEC%1>"+85SK1\Y%WZ,$$IZ1@^DHL/V(53\_RI8(I]X1E91MX MD!9*BZP"FQ-DE)=O-L%](V"M8EBK&#J^Z*\J[L,9 MSPNM]N$<%\@@@I_P@4@.GPL-YY2,*:/ZH4FOK1YL]1^IG*0X\DQY*Y0+].+7 MKSK]X%V3>FV2)2V1;2@;U&K0Q'UNOIT;/W"F,5/?FY(1M9F,-LF2EL@VDM&MD]'= M>LWK^PL+FY$FX4J"OB.POYQ%' :'03#T%^N*-%IU_K!*'EOUWO9_&VV$T*M# MZ/UCI89-X6PE>^D]:),L:8EL0\1^+6+_?RS*?IO):),L:8EL(QF#.AF#[3=: M2-/<<+!R(T\?P/2"2R*;?\J#1R75>52<6]V]5)F6R$IE_+4^QS:EIHF84:Z MX=30!P<#B5$RURU_J,A3:-E!O.36^,TAJ8_:D0>C6QW53=;<>_ %!+ M P04 " !K?:)8QM'8@T@# !&#P &0 'AL+W=O7(/53J]1J5;-U#],>'+@D5L&F MMDE2:3]^-E#(*D!IU"@O 0/W^-Q[+IS<\8J+1[D 4&@=1TQ.K(52R8EM2W\! M,9$=G@#3=T(N8J+T4LQMF0@@01841[;K.'T[)I19WCB[=B>\,4]51!G<"233 M.";B^0PBOII8V'JY<$_G"V4NV-XX(7.8@OJ9W F]LDN4@,; ).4,"0@GUBD^ M.<,C$Y ]\4!A)3?.D4EEQOFC65P'$\LQC" "7QD(H@]+.(#Z/9/:+5L6S MCH7\5"H>%\&:04Q9?B3KHA ; ?BX(< M MR,=[Y1QO*"*.*-!5\A89[6:.8D M2S6+UN0H,ZI,E=!WJ8Y3WA6A CV0* 5T"T2F G3)E41':)KKA'B(IG3.:$A] MPA0ZE5K Q%14(L71!2@0FA>@#:1/^BJAD?RL82Z)8.A[JM -)3,:4?4\MI4F M;K:W_8+D64[2;2!Y 7X'=?$7Y#IN]_]P6^=;)NV62;L97K,RI>-6 M#3;SH%D>=0QS#)R#F"_,TG,Z3N]X;"]K]NZ5>_=VU9^LF_1OA=RQ6/V2 0/O*$IBNZI)'NGI-7Z=6 ML!WK-"JIC@XA_6@/*6&G,AWG'<0O0%ZI[^)!O?AXP_-P^_M?J!Y0Z?.4;?/U M;T?AT M!KJZ(A_:\H7B238HS;C28U=VNM"#+@CS@+X?%F;V*D=G[Q]02P,$% M @ :WVB6(UZV[&I @ W04 !D !X;"]W;W)K&ULA5113]LP$/XKIPQ-3.I(FE*&6!N)MJ A@8;:P1ZF/5R2:V/AV)GMM/#O M9SMIZ+;2O20^^^Z[[S[[;K21ZDD71 :>2R[T."B,J2["4&<%E:A/9$7"GBRE M*M%84ZU"72G"W >5/(RCZ"PLD8D@&?F]>Y6,9&TX$W2O0-=EB>IE0EQNQD$_ MV&[,V:HP;B-,1A6N:$'FH;I7U@H[E)R5)#23 A0MQ\%E_V(R=/[>X9'11N^L MP5622OGDC)M\'$2.$''*C$- ^UO3E#AW0);&KQ8SZ%*ZP-WU%OW:UVYK25'3 M5/+O+#?%.#@/(*8+M?5X@IGDVG]AT_I& 62U-K)L@RV#DHGFC\^M M#CL!B4B+=*3.*#B#/*3F#0[T$[,,N^_!@ M]@ER%!D!&K!73&5*JKOF?22&_Y"(H_/^WR3"G98K2:W\8-&0R5J8IONZW6YV M738M^^K>#+X[5"LF-'!:VM#HY)-EH)IATAA&5KZ!4VGL./#+PLY?4L[!GB^E M-%O#)>@F>O(;4$L#!!0 ( &M]HEA:3W?1'0( *4$ 9 >&PO=V]R M:W-H965TS!?NVVVEED8JF8 &F8DDA#G>/U M?+59>O_@\(W!8,[VR&=R4.K!&U^J'"=>$' HK6>@;CG"#7#NB9R,7R,GGD)Z MX/G^Q/XIY.YR.5 #-XI_9Y5M<_P>HPIJVG.[4\-G&/.Y\GREXB9\T1!]EPE& M96^L$B/8*1!,QI4^CG4X Z3I,X!T!*1!=PP45-Y22XM,JP%I[^W8_":D&M!. M')/^I^RM=K?,X6RQA\:5V*(==$I;)AOT%MU3K:DO%GIU"Y8R;EYGQ+I@'D+* MD7@3B=-GB!?H3DG;&O115E#]BR=.Y*0T/2G=I!<)[ZB>H<7\#4J3=(E,U'V! M=S%58!%XK_Z[ C_6!V.UZY>?3Z4=V19/L_D96IF.EI!C-R0&]!%P\?+%_#KY M<$'KW/?B !JIVLW#2>U8"?.4ULBV#&Q^/(]%FI'CN0!RUCH"=!,& MQ*!2]=+&+II.IQEN8KK.!31L*H+C7A0UK5U MV+;N'0'M'=Q]K90]&3[ ]#(5?P!02P,$% @ :WVB6(.3^^6&ULM5G;;N,V$/T50ET4N\ F M$JF+K=0VL'&Z:("F#>)L^U#T@;8GMK 2Z9)TG"WZ\:4ND2R)5NR%_))8\LS1 MF3,C\H09[;CX*M< "KTD,9-C:ZW4YLJVY6(-"967? -,?_/$14*5OA0K6VX$ MT&66E,0V<9S 3FC$K,DHNWHM5: MI3?LR6A#5S #]65S+_257:(LHP28C#A# I[&UB=\-25!FI!%_!'!3NY]1FDI M<\Z_IA>WR['EI(P@AH5*(:C^]0Q3B.,42?/XIP"URF>FB?N?7]$_9\7K8N94 MPI3'?T9+M1Y;0PLMX8EN8_7 =[] 49"?XBUX++.?:%?$.A9:;*7B29&L&201 MRW_3ET*(O02-8TX@10)I)G@'$MPBP_]#2@:Q?*#SOLRNT'OWWU [U#$T..:;R5E2SFRE>:9/LU>%)RN MA602+_-FF78[MF[/2MOY(;NH"QI5]K">(9K,F/ M/^# ^$]@-1F\4@:O"WWRR)6>*P'/P+9@'),\/\CRT_7H>4(&'DY[\+Q? MA"&,##W'+\-J]/R2GG\$/5GT2J^;@F:]BMB")V"BF^-Y>SP"XOM.@VT[R@N# MX=!,-BC)!IUD;YD"W2%5L/N(&"@3Q:!-<1@V"+9CL.,0,[]!R6_0R>]WM0;Q M%KE!Z\%-[=H1KN\>D&Y84AN^(5U*"LU!OX)04$2*OIA'&Y0@6"XB18"?&JC K#^JCO!L#&IIC#7(XYY5#&I")-.PE,N=-.HTF_[;YQ=%*TT$NT$.KE/ M/:'5RZYV=GS.K1WWNK?WA5:7HMK=\3';^TDCZ[5F\<+W<6MD#6'8';@'MBA< M;?BX>\>_US+(K=X$IMI^"AX;.79"G-RBGM#J!5>F 0?GG-9.2W*R%#VAU:6H M_ GN-BAOFU'<-A]XX#ND-9Z&N- +_ -V%%<^!7<;E>9XHO_0<9:@&_?D1O6$ M5E>A,D$X/.?,]FJ/^D*K_U%;^2/2:3J^8X4M &O&% <#OS'"AK# Q0-LGF!2 MN1C2[6)F&\YC.H\!/<)BS7C,5Y'Y9>L&.K5/?:'5RZZ\$"%G'%G2JS_J"ZTN M1>6/2*?I.&*9+0#V9R\,G; UHNTPUQWX!WPKJ5P+Z78MYA$]>JGM1C^Y63VA MU;6H_!#QSSFWO3JEOM#J4E1.B72?KWS'4ANT3J5PX(;-LRM#&/'"QA3;>^>[ M"8A5=NPMT8)OF*#UASZ=;O"9+HEZW+P)&=FTEI3EADG*&!%G-K ?W?N&& M6L%(_$G)7C:^D:;RQOF['GQ*9Y:C$9&,)$J;P/"W(PN29=H2X/BK,FK5>VK% MYO?!^J^&/)!YPY(L>/:-IFHSL\862LD*%YGZRO>_D8J0 9CP3)I?M*]D'0LE MA50\KY0!04Y9^8\_JH-H*("=?@6O4O"Z"L$9!;]2\ W1$IFA]805GD\%WR.A MI<&:_C!G8[2!#67Z&I=*P"H%/35_QH)1MI9H2P1:;K @Z/J)*$PS>8/NT.OR M"5U?W: K9".I5R6B#+TRJN1M8^*/#2\D9BE,7K7&4UL!2+V5G52 'DM WAE M/OK,F=I(],Q2DK;U;2!7,_0.#!^]08.?L1@AW[U%GN,%/7@6/Z[N#\#QZP/W MC;WPC+TO14X$5ES<]YU-J>OWZ^J0OI=;G)"9!3$KB=@1:_[S3V[D_-)'[$+& M6C2#FF8P9'W^!3(090G/"<)*"?I6*/R6$:0X6D#H%A)]8LFH[PA*NY&QJY/0 M;NZ/)U$XM7=-;J=2@3>>!+54"W18@P[_*VC&V5T"CBEX!EIK$%,$3DWU,2@W M"1K8QE[@=@B<"L6^Z_7CCVK\T04.'<(ZI5FANM%5@H].#S;VG*B#_E0J=)I2 M+?AQ#3\>#(TGPCBDN+/!$5\R."YDK$5T7!,=#][3\VH%KQCBJ_(BX!T[Y-)K M2)[EYTW?"8Q/G,8-W'CJ3!PP_[+F=28)X.8%UQL.20N@HA!KT%7OJ;P M!](KMXBN=)#LB #G0CE1&][K8^5.KM- Z(R\KH^54I.V4'"&ANL<'SQGF$B& MI40/:,'S'.J(I>+)>^\S-6CFW[K;I:RU23=>>?=_A5:E?BFR%[+6)NL=R7J# M-_S-U&[@@1@\$6I1=+CR91EDOQ=**JA.=!Z_TT4@3;X7>-6.S9B*0O\D\OK$ M_#APSOCLL69P!]_J\XRJM,%;C*KL_EU._ND3- G#;ACVBKGAN3@\%@CN<(70 MJCQ;?%J7DL*#BT4I95;[N91[Q:UD<<*D5R@^0^18-+C#5<,@D>9=_""5L =E M..ERZ9.*_ X7N]$80-FY-OV21 DOF"HKZ'JV[LD>3"?2F7_4O9II.(YFRD8/ MZN,U91)E9 4FG5$,P$39.Y4#Q;>F_7CC"IH9\[F!?I,(+0#K*\[58: WJ#O8 M^3]02P,$% @ :WVB6#L1X$9. P MA0 T !X;"]S='EL97,N>&UL M[5AM;]HP$/XK4;I-K30U0-I 5D#:D"I-VJ9*[8=]JPQQP))C9X[I8+]^OMB$ ME_HHZX>53@NBL>_Q/??X?)9=^I5>R MI,(@N50%T::KIE%5*DJR"IP*'G5:K20J"!/AL"_FQ76AJV BYT(/PFYC"NSK M>>QWGMB;JE!V5D3T(0XFX+R\=V M-FKWR)7$L)]+L:Z,.+0&PT\*&CP0/@A'A+.Q8N"5DX+QI35WP#"17*I FY(T M =M@J7Y9N&U[4*V.IV!"JCJVC6#_CMWP'6#5 X&,\T9@)[2&8;\D6E,EKDVG M'EP;'T&!:]\M2Z-PJLBRW;D,UP[URP092Y51U81IARO3L,]I#G(4F\[@K649 M :BU+$PC8V0J!:DUK#QWL)6_YUOIU$TW3"')-2V,[P+_) M9KDW:2^>Q1N4[$'J3W,S'5'WH=3HC:(Y6]3]1=X(P-C;.#LI2[[\R-E4%-1. M_N" PSY9^04SJ=@O$PU*96(,5(7! U6:338M/Q4I[^A"K\IID>.:._\U/Z%Y M2@55A&^*-K5_@.*X^U*2ZSVZ*_BIK/[=ZGUV5MWY?-QI=>?]L8M,7H/(5["+ MW!WHN$7&Z?%K=+?"(Q?9?;&S:*_(R-V$-JY;6Y>MQAK I780?H-+,E\'#<9S MQC43KC=C64;%HSN7H==D;/XIV^(WXS.:DSG7=PTX"-?MKS1C\R)M1MU (MRH M=?L+3*^=-#=J$XN)C"YH-G)=-1W7S< T3%3W@,,N,X2;",CD9> M!2,L;TD"7S\;I@T\L#@0Z<]RC:\V7B'[ZP!;TWT5@LT4KT1LIGBN ?'G#3S2 MU+_:6!SPP%8!JQV([X\#->7WB6-854P;MH-Q)$TQ!&K17Z-)@F0G@8]_?;!= M$L=IZD< \RN(8PR!W8@CF +0@"%Q7)^#.^=1M#JGHO4OE-8?20$3;8T.P6BP^0"X99K>]9!:GA [;9UD?:IG4!+W8V ZD3V$9>"UJZMHE*I$M23M)?/U*. M$0J6;_=RX2=)E$0=78D\EY0^/RG]?:74=_9S^1;J+CY2^U MNCUKI2MNW:;>],Q. R_,%L!692_N]Z]Z%1#[H4;RD)NA9*NT!<\ M"G@R;_O])ML+(U:B%/9EK)42L$E)4XB<4PZ@?,;-53_\J+7XJ:7FYR+4J MRV$T..QX!&U%?E*\\)!+OC)-B>6K.7<@P^BJ[RI<"VUL,>W ''[9J MJVY%:4&/N85_M*IW0FY\->XN>L%M-'$X+@]!O-;_)XQJO18YC%5>5R#M(8X: M2@\HS5;L3,0DKV 8W:@]:'\_[@+3XG!OUD$%D=+7PNW0TZ+!(T2YGXTGL\5D MS-S:XOYN.AXMW<;?H[O1[&;" L@8@8PO"/DM#B 3!#*Y".1BZ19?)[, ,D4@ MTPM"MB*9(9#9)2&3 /(*@;RZ)&0:0+Y'(-]?$C(+(#\@D!]H(1\T[+ANRIE: MLZET7;2HV*V07.:"!Y ?$NZLS+@LV*DOUQ%N8J&J(73.5>W> $SZ8$ D3RX#8+"Z5V;E$ MXZ4)U\0]V)T_X0\FP8:(F%8&Q%ZYMUO0OE5PN?&79B-C7'X2XF%"&1 ;90RK M5J@P;PR(Q3$']X+5$.)@AA@0*V+)G\,6.=IH '\*>_?;CUK93\OYZ+ 2 F.V M&!#KPC< ^Q+28%H8$'OA1E65L/X@TS3/&S=,Z7+;9< MAZTV1L<:U$K@+VQOV /HYG29 QL+DY?*/]P0$I-"3"R%J32B<)%;:EZX,+*1 MUDX/I^\>9H:8V QH7M<::\28-&)B:71F=NS=TO?9YO>0$G-)3.P2-,5K!Q,S M2$QLD"#%ZPPAYI.8?)QQ-M?SK"$F9I28V"AG\KUC.,/)#LPL";%97G.MKJ>< M8&))B,5R1LA=X<,LDQ!;YD3,G8%$I[.(%7-JZ$Y$S##)10T33A0EF&&2BQCF M3S;CVL.'F)AB$F+%G,-:L*_,T._WQ-+I&CIV-7-,.UFCG=[Q9YP"UD)",7/U M&U>>\S)_T,PO#M\0T\Q_!EC797GCRN[EG>+%\=^>XW])7_X#4$L#!!0 ( M &M]HE@,/Y#\Y0$ '\A : >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E M;'/-VCM.PT 4A>&M1%X D_N8\%!"14.+V( 5)@^1Q)9G$,GNB4(1CD5!@^94 MUMCR]=_XDV5[_I)V;=EVA[S9]GERW.\.>=%L2ND?0LC+3=JW^:;KT^%\9-4- M^[:]ZD5)K):SNL4UDTX;B[[L[ALI&;\^1F\ORV:(;G-VE"[2"%(*T?9!!D M]8,<@KQ^4(2@6#]H!D&S^D&W$'1;/^@.@N[J!]U#T'W]()FBC%."I!'6!%H+ MNOH89M ;T6]E4!O1;V50&]%O95 ;T6]E4!O1;V50&]%O95 ;T6]E4!O M0[V-0&]#O8U ;T.]C4!O&[TL(=#;4&\CT-M0;R/0VU!O(]#;4&\CT-M0;R/0 MVU!O(]#;46\GT-M1;R?0VU%O)]#;46\GT-M'+[L)]';4VPGT=M3;"?1VU-L) M]';4VPGT=M3;"?2.J'YNZ:OPX681@'QCS^8)J[5-CJ8DC,^-J'>)?-V=6YTL])R8& M@R'+31.H"?W0UD@FHR>:Z545>L^;>-N7IADGCBJ?]!YW$]NL<:*MKE/MPHNNXRRVJ9@/ MVXI\>K[$B1[-;%;F5)A\5<.=.$71*&NTEW1F_/)(>XP[7[YU?E=F7.! M<>;4&>OCB3FZ/.YP).WJOHV%R(7R_",>$V/IJY^/VM,NJ/AE=MS>#^.6W7EX MUEVNW^.O9WRL?V$? J0/"=*' NDC ^EC"-+'+4@?=R!]W(/TP0&UL4$L! A0#% @ :GVB M6$#)*2'O *P( !$ ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ :GVB6)E&PO=V]R:W-H965T&UL4$L! A0#% @ :GVB6-,GZ?FM!P JB4 !@ ("! M,PX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M:WVB6(V264\M P K @ !@ ("!5" 'AL+W=O&PO=V]R M:W-H965T&UL4$L! A0#% @ :WVB6#/CSX"=" %"8 M !@ ("!C2\ 'AL+W=O 8 " @6 X !X M;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ :WVB M6&H%%7.H P I@< !D ("!VU$ 'AL+W=O&PO=V]R:W-H965T$00 !0) 9 " @8%9 !X;"]W;W)K M&UL4$L! A0#% @ :WVB6$_CLB2="0 ?QL M !D ("!R5T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :WVB6.-("PC2"@ #1\ !D M ("!+G< 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ :WVB6'58_?;T! 9@L !D ("!<(H 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ :WVB6*_ MSI-$ @ B@8 !D ("!^98 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :WVB6%-?VM.B @ [P4 !D M ("!M*H 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ :WVB6'GO<<2$ P ,0@ !D ("! MNK, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ :WVB6%.)SR/& P ;P@ !D ("!R+T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :WVB6&90?7B_ M @ PPH !D ("!IL@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :WVB6!081W%Q @ 904 !D M ("!'=0 'AL+W=O&PO=V]R M:W-H965TP( ,@& M 9 " @6+: !X;"]W;W)K&UL M4$L! A0#% @ :WVB6$);3PSZ! (Q\ !D ("!%-T M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M:WVB6$^ZZOWG @ 8 H !D ("!-ND 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :WVB6'9^-IGS @ >0L !D M ("!:0P! 'AL+W=O&PO=V]R:W-H M965TMNQJ0( -T% 9 M " @1(3 0!X;"]W;W)K&UL4$L! M A0#% @ :WVB6%I/=]$= @ I00 !D ("!\A4! 'AL M+W=O&PO=V]R:W-H965T=" 0 ,T. 9 " M@1D= 0!X;"]W;W)K&UL4$L! A0#% @ :WVB M6#L1X$9. P MA0 T ( !6"$! 'AL+W-T>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% @ :WVB6 P_ MD/SE 0 ?R$ !H ( !<2H! 'AL+U]R96QS+W=O XML 70 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 71 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 73 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 143 266 1 false 59 0 false 5 false false R1.htm 0000001 - Document - Cover Sheet http://cactuswellhead.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME CONDENSED CONSOLIDATED STATEMENTS OF INCOME Statements 4 false false R5.htm 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 6 false false R7.htm 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Statements 7 false false R8.htm 0000008 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 8 false false R9.htm 0000009 - Disclosure - Preparation of Interim Financial Statements and Other Items Sheet http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItems Preparation of Interim Financial Statements and Other Items Notes 9 false false R10.htm 0000010 - Disclosure - FlexSteel Acquisition Sheet http://cactuswellhead.com/role/FlexSteelAcquisition FlexSteel Acquisition Notes 10 false false R11.htm 0000011 - Disclosure - Accounts Receivable and Allowance for Credit Losses Sheet http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLosses Accounts Receivable and Allowance for Credit Losses Notes 11 false false R12.htm 0000012 - Disclosure - Inventories Sheet http://cactuswellhead.com/role/Inventories Inventories Notes 12 false false R13.htm 0000013 - Disclosure - Property and Equipment, net Sheet http://cactuswellhead.com/role/PropertyandEquipmentnet Property and Equipment, net Notes 13 false false R14.htm 0000014 - Disclosure - Other Intangible Assets Sheet http://cactuswellhead.com/role/OtherIntangibleAssets Other Intangible Assets Notes 14 false false R15.htm 0000015 - Disclosure - Debt Sheet http://cactuswellhead.com/role/Debt Debt Notes 15 false false R16.htm 0000016 - Disclosure - Revenue Sheet http://cactuswellhead.com/role/Revenue Revenue Notes 16 false false R17.htm 0000017 - Disclosure - Tax Receivable Agreement ("TRA") Sheet http://cactuswellhead.com/role/TaxReceivableAgreementTRA Tax Receivable Agreement ("TRA") Notes 17 false false R18.htm 0000018 - Disclosure - Equity Sheet http://cactuswellhead.com/role/Equity Equity Notes 18 false false R19.htm 0000019 - Disclosure - Commitments and Contingencies Sheet http://cactuswellhead.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 19 false false R20.htm 0000020 - Disclosure - Fair Value Measurements Sheet http://cactuswellhead.com/role/FairValueMeasurements Fair Value Measurements Notes 20 false false R21.htm 0000021 - Disclosure - Segment Reporting Sheet http://cactuswellhead.com/role/SegmentReporting Segment Reporting Notes 21 false false R22.htm 0000022 - Disclosure - Earnings per Share Sheet http://cactuswellhead.com/role/EarningsperShare Earnings per Share Notes 22 false false R23.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 23 false false R24.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 24 false false R25.htm 9954471 - Disclosure - Preparation of Interim Financial Statements and Other Items (Policies) Sheet http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies Preparation of Interim Financial Statements and Other Items (Policies) Policies 25 false false R26.htm 9954472 - Disclosure - FlexSteel Acquisition (Tables) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionTables FlexSteel Acquisition (Tables) Tables http://cactuswellhead.com/role/FlexSteelAcquisition 26 false false R27.htm 9954473 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Tables) Sheet http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesTables Accounts Receivable and Allowance for Credit Losses (Tables) Tables http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLosses 27 false false R28.htm 9954474 - Disclosure - Inventories (Tables) Sheet http://cactuswellhead.com/role/InventoriesTables Inventories (Tables) Tables http://cactuswellhead.com/role/Inventories 28 false false R29.htm 9954475 - Disclosure - Property and Equipment, net (Tables) Sheet http://cactuswellhead.com/role/PropertyandEquipmentnetTables Property and Equipment, net (Tables) Tables http://cactuswellhead.com/role/PropertyandEquipmentnet 29 false false R30.htm 9954476 - Disclosure - Other Intangible Assets (Tables) Sheet http://cactuswellhead.com/role/OtherIntangibleAssetsTables Other Intangible Assets (Tables) Tables http://cactuswellhead.com/role/OtherIntangibleAssets 30 false false R31.htm 9954477 - Disclosure - Revenue (Tables) Sheet http://cactuswellhead.com/role/RevenueTables Revenue (Tables) Tables http://cactuswellhead.com/role/Revenue 31 false false R32.htm 9954478 - Disclosure - Fair Value Measurements (Tables) Sheet http://cactuswellhead.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://cactuswellhead.com/role/FairValueMeasurements 32 false false R33.htm 9954479 - Disclosure - Segment Reporting (Tables) Sheet http://cactuswellhead.com/role/SegmentReportingTables Segment Reporting (Tables) Tables http://cactuswellhead.com/role/SegmentReporting 33 false false R34.htm 9954480 - Disclosure - Earnings per Share (Tables) Sheet http://cactuswellhead.com/role/EarningsperShareTables Earnings per Share (Tables) Tables http://cactuswellhead.com/role/EarningsperShare 34 false false R35.htm 9954481 - Disclosure - Preparation of Interim Financial Statements and Other Items (Details) Sheet http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails Preparation of Interim Financial Statements and Other Items (Details) Details http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies 35 false false R36.htm 9954482 - Disclosure - FlexSteel Acquisition - Narrative (Details) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails FlexSteel Acquisition - Narrative (Details) Details 36 false false R37.htm 9954483 - Disclosure - FlexSteel Acquisition - Summary of Purchase Price Consideration (Details) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails FlexSteel Acquisition - Summary of Purchase Price Consideration (Details) Details 37 false false R38.htm 9954484 - Disclosure - FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details) Details 38 false false R39.htm 9954485 - Disclosure - FlexSteel Acquisition - Summary of Unadited Proforma Results (Details) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails FlexSteel Acquisition - Summary of Unadited Proforma Results (Details) Details 39 false false R40.htm 9954486 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Details) Sheet http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails Accounts Receivable and Allowance for Credit Losses (Details) Details http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesTables 40 false false R41.htm 9954487 - Disclosure - Inventories (Details) Sheet http://cactuswellhead.com/role/InventoriesDetails Inventories (Details) Details http://cactuswellhead.com/role/InventoriesTables 41 false false R42.htm 9954488 - Disclosure - Property and Equipment, net (Details) Sheet http://cactuswellhead.com/role/PropertyandEquipmentnetDetails Property and Equipment, net (Details) Details http://cactuswellhead.com/role/PropertyandEquipmentnetTables 42 false false R43.htm 9954489 - Disclosure - Other Intangible Assets - Summary of Total Intangible Assets (Details) Sheet http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails Other Intangible Assets - Summary of Total Intangible Assets (Details) Details 43 false false R44.htm 9954490 - Disclosure - Other Intangible Assets - Narrative (Details) Sheet http://cactuswellhead.com/role/OtherIntangibleAssetsNarrativeDetails Other Intangible Assets - Narrative (Details) Details 44 false false R45.htm 9954491 - Disclosure - Other Intangible Assets - Summary of Future Amortization (Details) Sheet http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails Other Intangible Assets - Summary of Future Amortization (Details) Details 45 false false R46.htm 9954492 - Disclosure - Debt - Narrative (Details) Sheet http://cactuswellhead.com/role/DebtNarrativeDetails Debt - Narrative (Details) Details 46 false false R47.htm 9954493 - Disclosure - Revenue - Schedule of Revenues Disaggregated by Category (Details) Sheet http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails Revenue - Schedule of Revenues Disaggregated by Category (Details) Details 47 false false R48.htm 9954494 - Disclosure - Revenue - Narrative (Details) Sheet http://cactuswellhead.com/role/RevenueNarrativeDetails Revenue - Narrative (Details) Details 48 false false R49.htm 9954495 - Disclosure - Tax Receivable Agreement ("TRA") (Details) Sheet http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails Tax Receivable Agreement ("TRA") (Details) Details http://cactuswellhead.com/role/TaxReceivableAgreementTRA 49 false false R50.htm 9954496 - Disclosure - Equity (Details) Sheet http://cactuswellhead.com/role/EquityDetails Equity (Details) Details http://cactuswellhead.com/role/Equity 50 false false R51.htm 9954497 - Disclosure - Fair Value Measurements - Narrative (Details) Sheet http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails Fair Value Measurements - Narrative (Details) Details 51 false false R52.htm 9954498 - Disclosure - Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details) Sheet http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details) Details 52 false false R53.htm 9954499 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value (Details) Sheet http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails Fair Value Measurements - Summary of Changes in Fair Value (Details) Details 53 false false R54.htm 9954500 - Disclosure - Segment Reporting - Narrative (Details) Sheet http://cactuswellhead.com/role/SegmentReportingNarrativeDetails Segment Reporting - Narrative (Details) Details 54 false false R55.htm 9954501 - Disclosure - Segment Reporting - Summarized Financial Information by Segment (Details) Sheet http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails Segment Reporting - Summarized Financial Information by Segment (Details) Details 55 false false R56.htm 9954502 - Disclosure - Earnings per Share (Details) Sheet http://cactuswellhead.com/role/EarningsperShareDetails Earnings per Share (Details) Details http://cactuswellhead.com/role/EarningsperShareTables 56 false false All Reports Book All Reports whd-20240331.htm whd-20240331.xsd whd-20240331_cal.xml whd-20240331_def.xml whd-20240331_lab.xml whd-20240331_pre.xml http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 75 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "whd-20240331.htm": { "nsprefix": "whd", "nsuri": "http://cactuswellhead.com/20240331", "dts": { "inline": { "local": [ "whd-20240331.htm" ] }, "schema": { "local": [ "whd-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/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] }, "calculationLink": { "local": [ "whd-20240331_cal.xml" ] }, "definitionLink": { "local": [ "whd-20240331_def.xml" ] }, "labelLink": { "local": [ "whd-20240331_lab.xml" ] }, "presentationLink": { "local": [ "whd-20240331_pre.xml" ] } }, "keyStandard": 243, "keyCustom": 23, "axisStandard": 22, "axisCustom": 0, "memberStandard": 34, "memberCustom": 24, "hidden": { "total": 5, "http://xbrl.sec.gov/dei/2023": 5 }, "contextCount": 143, "entityCount": 1, "segmentCount": 59, "elementCount": 527, "unitCount": 5, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 543, "http://xbrl.sec.gov/dei/2023": 30, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://cactuswellhead.com/role/Cover", "longName": "0000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R2": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "longName": "0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R3": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "longName": "0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R4": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "longName": "0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SellingGeneralAndAdministrativeExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } }, "R5": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "longName": "0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ProfitLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } }, "R6": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "longName": "0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-36", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-36", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R7": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical", "longName": "0000007 - 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": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": null }, "R8": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "longName": "0000008 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ProfitLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } }, "R9": { "role": "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItems", "longName": "0000009 - Disclosure - Preparation of Interim Financial Statements and Other Items", "shortName": "Preparation of Interim Financial Statements and Other Items", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R10": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisition", "longName": "0000010 - Disclosure - FlexSteel Acquisition", "shortName": "FlexSteel Acquisition", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R11": { "role": "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLosses", "longName": "0000011 - Disclosure - Accounts Receivable and Allowance for Credit Losses", "shortName": "Accounts Receivable and Allowance for Credit Losses", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R12": { "role": "http://cactuswellhead.com/role/Inventories", "longName": "0000012 - Disclosure - Inventories", "shortName": "Inventories", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R13": { "role": "http://cactuswellhead.com/role/PropertyandEquipmentnet", "longName": "0000013 - Disclosure - Property and Equipment, net", "shortName": "Property and Equipment, net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R14": { "role": "http://cactuswellhead.com/role/OtherIntangibleAssets", "longName": "0000014 - Disclosure - Other Intangible Assets", "shortName": "Other Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R15": { "role": "http://cactuswellhead.com/role/Debt", "longName": "0000015 - Disclosure - Debt", "shortName": "Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R16": { "role": "http://cactuswellhead.com/role/Revenue", "longName": "0000016 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R17": { "role": "http://cactuswellhead.com/role/TaxReceivableAgreementTRA", "longName": "0000017 - Disclosure - Tax Receivable Agreement (\"TRA\")", "shortName": "Tax Receivable Agreement (\"TRA\")", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "whd:TaxReceivableAgreementDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "whd:TaxReceivableAgreementDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R18": { "role": "http://cactuswellhead.com/role/Equity", "longName": "0000018 - Disclosure - Equity", "shortName": "Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R19": { "role": "http://cactuswellhead.com/role/CommitmentsandContingencies", "longName": "0000019 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R20": { "role": "http://cactuswellhead.com/role/FairValueMeasurements", "longName": "0000020 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R21": { "role": "http://cactuswellhead.com/role/SegmentReporting", "longName": "0000021 - Disclosure - Segment Reporting", "shortName": "Segment Reporting", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R22": { "role": "http://cactuswellhead.com/role/EarningsperShare", "longName": "0000022 - Disclosure - Earnings per Share", "shortName": "Earnings per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R23": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": null }, "R24": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrTrmntdFlag", "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrTrmntdFlag", "ecd:NonRule10b51ArrAdoptedFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R25": { "role": "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies", "longName": "9954471 - Disclosure - Preparation of Interim Financial Statements and Other Items (Policies)", "shortName": "Preparation of Interim Financial Statements and Other Items (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R26": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionTables", "longName": "9954472 - Disclosure - FlexSteel Acquisition (Tables)", "shortName": "FlexSteel Acquisition (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R27": { "role": "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesTables", "longName": "9954473 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Tables)", "shortName": "Accounts Receivable and Allowance for Credit Losses (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R28": { "role": "http://cactuswellhead.com/role/InventoriesTables", "longName": "9954474 - Disclosure - Inventories (Tables)", "shortName": "Inventories (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R29": { "role": "http://cactuswellhead.com/role/PropertyandEquipmentnetTables", "longName": "9954475 - Disclosure - Property and Equipment, net (Tables)", "shortName": "Property and Equipment, net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R30": { "role": "http://cactuswellhead.com/role/OtherIntangibleAssetsTables", "longName": "9954476 - Disclosure - Other Intangible Assets (Tables)", "shortName": "Other Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R31": { "role": "http://cactuswellhead.com/role/RevenueTables", "longName": "9954477 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R32": { "role": "http://cactuswellhead.com/role/FairValueMeasurementsTables", "longName": "9954478 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R33": { "role": "http://cactuswellhead.com/role/SegmentReportingTables", "longName": "9954479 - Disclosure - Segment Reporting (Tables)", "shortName": "Segment Reporting (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R34": { "role": "http://cactuswellhead.com/role/EarningsperShareTables", "longName": "9954480 - Disclosure - Earnings per Share (Tables)", "shortName": "Earnings per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R35": { "role": "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails", "longName": "9954481 - Disclosure - Preparation of Interim Financial Statements and Other Items (Details)", "shortName": "Preparation of Interim Financial Statements and Other Items (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "c-1", "name": "whd:NumberOfBusinessSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "whd:NumberOfBusinessSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R36": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "longName": "9954482 - Disclosure - FlexSteel Acquisition - Narrative (Details)", "shortName": "FlexSteel Acquisition - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": null }, "R37": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "longName": "9954483 - Disclosure - FlexSteel Acquisition - Summary of Purchase Price Consideration (Details)", "shortName": "FlexSteel Acquisition - Summary of Purchase Price Consideration (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-55", "name": "us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } }, "R38": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "longName": "9954484 - Disclosure - FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details)", "shortName": "FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-56", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } }, "R39": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails", "longName": "9954485 - Disclosure - FlexSteel Acquisition - Summary of Unadited Proforma Results (Details)", "shortName": "FlexSteel Acquisition - Summary of Unadited Proforma Results (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-57", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-57", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R40": { "role": "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails", "longName": "9954486 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Details)", "shortName": "Accounts Receivable and Allowance for Credit Losses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R41": { "role": "http://cactuswellhead.com/role/InventoriesDetails", "longName": "9954487 - Disclosure - Inventories (Details)", "shortName": "Inventories (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:InventoryRawMaterials", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:InventoryRawMaterials", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R42": { "role": "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails", "longName": "9954488 - Disclosure - Property and Equipment, net (Details)", "shortName": "Property and Equipment, net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R43": { "role": "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails", "longName": "9954489 - Disclosure - Other Intangible Assets - Summary of Total Intangible Assets (Details)", "shortName": "Other Intangible Assets - Summary of Total Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R44": { "role": "http://cactuswellhead.com/role/OtherIntangibleAssetsNarrativeDetails", "longName": "9954490 - Disclosure - Other Intangible Assets - Narrative (Details)", "shortName": "Other Intangible Assets - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-84", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-84", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R45": { "role": "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails", "longName": "9954491 - Disclosure - Other Intangible Assets - Summary of Future Amortization (Details)", "shortName": "Other Intangible Assets - Summary of Future Amortization (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R46": { "role": "http://cactuswellhead.com/role/DebtNarrativeDetails", "longName": "9954492 - Disclosure - Debt - Narrative (Details)", "shortName": "Debt - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:LongTermDebt", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "us-gaap:LongTermDebt", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:LongTermDebt", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } }, "R47": { "role": "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails", "longName": "9954493 - Disclosure - Revenue - Schedule of Revenues Disaggregated by Category (Details)", "shortName": "Revenue - Schedule of Revenues Disaggregated by Category (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "whd:RevenueAsPercentage", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } }, "R48": { "role": "http://cactuswellhead.com/role/RevenueNarrativeDetails", "longName": "9954494 - Disclosure - Revenue - Narrative (Details)", "shortName": "Revenue - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R49": { "role": "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails", "longName": "9954495 - Disclosure - Tax Receivable Agreement (\"TRA\") (Details)", "shortName": "Tax Receivable Agreement (\"TRA\") (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-104", "name": "whd:TaxSavingsPayableToTraHoldersAsPercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-104", "name": "whd:TaxSavingsPayableToTraHoldersAsPercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R50": { "role": "http://cactuswellhead.com/role/EquityDetails", "longName": "9954496 - Disclosure - Equity (Details)", "shortName": "Equity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-16", "name": "us-gaap:StockIssuedDuringPeriodValueNewIssues", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "whd:CommonUnitsRedeemed", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } }, "R51": { "role": "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "longName": "9954497 - Disclosure - Fair Value Measurements - Narrative (Details)", "shortName": "Fair Value Measurements - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-121", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-121", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R52": { "role": "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails", "longName": "9954498 - Disclosure - Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details)", "shortName": "Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-122", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "4", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-122", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "4", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R53": { "role": "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "longName": "9954499 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value (Details)", "shortName": "Fair Value Measurements - Summary of Changes in Fair Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-129", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-129", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R54": { "role": "http://cactuswellhead.com/role/SegmentReportingNarrativeDetails", "longName": "9954500 - Disclosure - Segment Reporting - Narrative (Details)", "shortName": "Segment Reporting - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true, "unique": true } }, "R55": { "role": "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails", "longName": "9954501 - Disclosure - Segment Reporting - Summarized Financial Information by Segment (Details)", "shortName": "Segment Reporting - Summarized Financial Information by Segment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-140", "name": "us-gaap:OperatingIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } }, "R56": { "role": "http://cactuswellhead.com/role/EarningsperShareDetails", "longName": "9954502 - Disclosure - Earnings per Share (Details)", "shortName": "Earnings per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLossAttributableToRedeemableNoncontrollingInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "whd-20240331.htm", "unique": true } } }, "tag": { "us-gaap_AccountsNotesAndLoansReceivableNetCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsNotesAndLoansReceivableNetCurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Receivable", "label": "Accounts and Financing Receivable, after Allowance for Credit Loss, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "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": [ "r22", "r698" ] }, "whd_AccountsReceivableAllowanceForCreditLossesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "AccountsReceivableAllowanceForCreditLossesOther", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Translation Adjustments", "label": "Accounts Receivable, Allowance for Credit Losses, Other", "documentation": "Accounts Receivable, Allowance for Credit Losses, Other" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, net of allowance of $3,803 and $3,642, respectively", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r252", "r253" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current liabilities", "label": "Accrued Liabilities, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r25" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive loss", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r32", "r33", "r100", "r160", "r536", "r573", "r574" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "label": "AOCI Attributable to Parent [Member]", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r5", "r14", "r33", "r458", "r461", "r488", "r569", "r570", "r808", "r809", "r810", "r816", "r817", "r818" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r749" ] }, "whd_AdditionalOfferingMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "AdditionalOfferingMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Offering", "label": "Additional Offering [Member]", "documentation": "Additional Offering" } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r92", "r698", "r871" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-In Capital", "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r435", "r436", "r437", "r583", "r816", "r817", "r818", "r851", "r872" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r755" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r755" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r755" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r755" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Recognition and Exercise", "documentation": "Amount of increase (decrease) to additional paid-in capital (APIC) for recognition and exercise of award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Costs associated with stock issuance", "label": "Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs", "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration." } } }, "auth_ref": [ "r15", "r122" ] }, "whd_AdjustmentsToAdditionalPaidInCapitalTaxReceivableAgreement": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "AdjustmentsToAdditionalPaidInCapitalTaxReceivableAgreement", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Tax impact of equity transactions", "label": "Adjustments to Additional Paid in Capital, Tax Receivable Agreement", "documentation": "Amount of increase in additional paid in capital (APIC) resulting from the tax receivable agreement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Reconciliation of net income to net cash provided by operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r720", "r731", "r741", "r766" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r723", "r734", "r744", "r769" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r755" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r762" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r727", "r735", "r745", "r762", "r770", "r774", "r782" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r780" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance at Beginning of Period", "periodEndLabel": "Balance at End of Period", "label": "Accounts Receivable, Allowance for Credit Loss", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r161", "r254", "r288", "r291", "r294", "r868" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for accounts receivable", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r161", "r254", "r288" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Write off", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance." } } }, "auth_ref": [ "r293" ] }, "whd_AmendedABLCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "AmendedABLCreditFacilityMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amended ABL Credit Facility", "label": "Amended ABL Credit Facility [Member]", "documentation": "Amended ABL Credit Facility" } } }, "auth_ref": [] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCostsAndDiscounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCostsAndDiscounts", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred financing cost amortization", "label": "Amortization of Debt Issuance Costs and Discounts", "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs." } } }, "auth_ref": [ "r362", "r481", "r678", "r679", "r812" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of intangible assets", "label": "Amortization of Intangible Assets", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r11", "r58", "r62" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r127", "r156", "r183", "r223", "r238", "r244", "r285", "r327", "r328", "r330", "r331", "r332", "r334", "r336", "r338", "r339", "r451", "r455", "r473", "r531", "r617", "r698", "r711", "r841", "r842", "r859" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r149", "r162", "r183", "r285", "r327", "r328", "r330", "r331", "r332", "r334", "r336", "r338", "r339", "r451", "r455", "r473", "r698", "r841", "r842", "r859" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsNoncurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Noncurrent assets", "label": "Assets, Noncurrent [Abstract]" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r777" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r778" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r773" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r773" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r773" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r773" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r773" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r773" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r776" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r775" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r774" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r774" ] }, "us-gaap_BaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BaseRateMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Base Rate", "label": "Base Rate [Member]", "documentation": "Minimum rate investor will accept." } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Basis of Presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "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": [] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItems" ], "lang": { "en-us": { "role": { "verboseLabel": "Preparation of Interim Financial Statements and Other Items", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r111" ] }, "us-gaap_BuildingAndBuildingImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingAndBuildingImprovementsMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Buildings and improvements", "label": "Building and Building Improvements [Member]", "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition, Acquiree [Domain]", "label": "Business Acquisition, Acquiree [Domain]", "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree." } } }, "auth_ref": [ "r446", "r691", "r692" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Axis]", "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r68", "r69", "r446", "r691", "r692" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Line Items]", "label": "Business Acquisition [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": [ "r446" ] }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaInformationTextBlock", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Unaudited Proforma Results", "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate." } } }, "auth_ref": [ "r791", "r792" ] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net Income attributable to Cactus, Inc.", "label": "Business Acquisition, Pro Forma Net Income (Loss)", "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r444", "r445" ] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues", "label": "Business Acquisition, Pro Forma Revenue", "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period." } } }, "auth_ref": [ "r444", "r445" ] }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "lang": { "en-us": { "role": { "label": "Business Combination and Asset Acquisition [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair value of consideration transferred", "label": "Business Combination, Consideration Transferred", "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer." } } }, "auth_ref": [ "r1", "r2", "r13" ] }, "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Add: Contingent consideration", "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable", "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination." } } }, "auth_ref": [ "r1", "r2" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Change in fair value of earn-out liability", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r449", "r811" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earn-out liability", "label": "Business Combination, Contingent Consideration, Liability, Current", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r3", "r75" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": { "xbrltype": "decimalItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement inputs", "label": "Business Combination, Contingent Consideration, Liability, Measurement Input", "documentation": "Value of input used to measure contingent consideration liability from business combination." } } }, "auth_ref": [ "r471" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisition" ], "lang": { "en-us": { "role": { "terseLabel": "FlexSteel Acquisition", "label": "Business Combination Disclosure [Text Block]", "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)." } } }, "auth_ref": [ "r123", "r447" ] }, "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets acquired", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Finance lease obligations", "label": "Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Lease Obligation", "documentation": "Amount of lease obligation assumed in business combination." } } }, "auth_ref": [ "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. 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": [ "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other", "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Receivables", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "documentation": "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 expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accounts payable", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date." } } }, "auth_ref": [ "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accrued expenses and other current liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other", "documentation": "Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Deferred tax liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date." } } }, "auth_ref": [ "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Identifiable intangible assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r70", "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory", "documentation": "The amount of inventory recognized as of the acquisition date." } } }, "auth_ref": [ "r70", "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTotalLabel": "Total liabilities assumed", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities", "documentation": "Amount of liabilities assumed at the acquisition date." } } }, "auth_ref": [ "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net assets acquired", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net", "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r70", "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Operating lease liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities", "documentation": "Amount of liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r71" ] }, "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right Of Use Assets", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right Of Use Assets" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other noncurrent assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r71" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r70", "r71" ] }, "whd_CCUnitHoldersOtherThanCactusIncMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CCUnitHoldersOtherThanCactusIncMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "CC Unit Holders other than Cactus, Inc.", "label": "CC Unit Holders Other Than Cactus Inc [Member]", "documentation": "CW Unit Holders other than Cactus Inc [Member]" } } }, "auth_ref": [] }, "whd_CCUnitsRedeemedForClassCommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CCUnitsRedeemedForClassCommonStockMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus Companies LLC Agreement", "label": "CC Units Redeemed For Class Common Stock [Member]", "documentation": "CC Units Redeemed For Class A Common Stock (CW Units Prior To CC Reorganization)" } } }, "auth_ref": [] }, "whd_CactusCompaniesMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CactusCompaniesMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus Companies", "label": "Cactus Companies [Member]", "documentation": "Cactus Companies" } } }, "auth_ref": [] }, "whd_CactusIncMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CactusIncMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus Inc", "label": "Cactus Inc [Member]", "documentation": "Represents the information pertaining to Cactus Inc." } } }, "auth_ref": [] }, "whd_CactusLLCMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CactusLLCMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus LLC", "label": "Cactus LLC [Member]", "documentation": "Cactus LLC" } } }, "auth_ref": [] }, "whd_CactusWellheadLlcAndItsSubsidiariesMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CactusWellheadLlcAndItsSubsidiariesMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus LLC", "label": "Cactus Wellhead Llc And Its Subsidiaries [Member]", "documentation": "Represents information pertaining to Cactus Wellhead, LLC." } } }, "auth_ref": [] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment in accounts payable", "label": "Capital Expenditures Incurred but Not yet Paid", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r41", "r42", "r43" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r39", "r151", "r665" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValueAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents, at Carrying Value [Abstract]", "label": "Cash and Cash Equivalents, at Carrying Value [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash and cash equivalents, beginning of period", "periodEndLabel": "Cash and cash equivalents, end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r39", "r108", "r180" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net increase (decrease) in cash and cash equivalents", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r4", "r108" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r753" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ClassOfStockDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockDomain", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Domain]", "label": "Class of Stock [Domain]", "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock." } } }, "auth_ref": [ "r144", "r157", "r158", "r159", "r183", "r203", "r207", "r209", "r211", "r217", "r218", "r285", "r327", "r330", "r331", "r332", "r338", "r339", "r370", "r371", "r374", "r377", "r384", "r473", "r576", "r577", "r578", "r579", "r583", "r584", "r585", "r586", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r605", "r626", "r643", "r653", "r654", "r655", "r656", "r657", "r788", "r813", "r819" ] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r754" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r754" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies", "label": "Commitments and Contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r29", "r86", "r533", "r604" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Abstract]", "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/CommitmentsandContingencies" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r117", "r321", "r322", "r660", "r837" ] }, "us-gaap_CommonClassAMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonClassAMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class A Common Stock", "label": "Common Class A [Member]", "documentation": "Classification of common stock representing ownership interest in a corporation." } } }, "auth_ref": [ "r872" ] }, "us-gaap_CommonClassBMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonClassBMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class B Common Stock", "label": "Common Class B [Member]", "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation." } } }, "auth_ref": [ "r872" ] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash dividend declared (in dollars per share)", "label": "Common Stock, Dividends, Per Share, Declared", "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r122" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r701", "r702", "r703", "r705", "r706", "r707", "r708", "r816", "r817", "r851", "r870", "r872" ] }, "whd_CommonStockOwnedPerExistingUnit": { "xbrltype": "sharesItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CommonStockOwnedPerExistingUnit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares owned per units held (in shares)", "label": "Common Stock, Owned, Per Existing Unit", "documentation": "Common Stock, Owned, Per Existing Unit" } } }, "auth_ref": [] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, par value (in dollars per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r91" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r91", "r605" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares issued (in shares)", "label": "Common Stock, Shares, Issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r91" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares outstanding (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r15", "r91", "r605", "r623", "r872", "r873" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, $0.01 par value", "label": "Common Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r91", "r535", "r698" ] }, "whd_CommonStockVotingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CommonStockVotingRightsPercentage", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares outstanding, percentage of total voting power", "label": "Common Stock, Voting Rights, Percentage", "documentation": "Common Stock, Voting Rights, Percentage" } } }, "auth_ref": [] }, "whd_CommonUnitsRedeemed": { "xbrltype": "sharesItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CommonUnitsRedeemed", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "CW Unit redemptions (in shares)", "label": "Common Units Redeemed", "documentation": "Number of CW units redeemed during period." } } }, "auth_ref": [] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r759" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r758" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r760" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r757" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income attributable to Cactus Inc.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r34", "r164", "r166", "r172", "r528", "r548" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Less: comprehensive income attributable to non-controlling interest", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r9", "r78", "r81", "r164", "r166", "r171", "r527", "r547" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income", "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r81", "r125", "r164", "r166", "r170", "r526", "r546" ] }, "whd_ComputerAndSoftwareMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "ComputerAndSoftwareMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computers and software", "label": "Computer And Software [Member]", "documentation": "Represents the information pertaining to Computer and Software." } } }, "auth_ref": [] }, "srt_ConsolidatedEntitiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidatedEntitiesAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidated Entities [Axis]", "label": "Consolidated Entities [Axis]" } } }, "auth_ref": [ "r186", "r451", "r452", "r455", "r456", "r490", "r661", "r840", "r843", "r844" ] }, "srt_ConsolidatedEntitiesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidatedEntitiesDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidated Entities [Domain]", "label": "Consolidated Entities [Domain]" } } }, "auth_ref": [ "r186", "r451", "r452", "r455", "r456", "r490", "r661", "r840", "r843", "r844" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Axis]", "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r186", "r225", "r236", "r237", "r238", "r239", "r240", "r242", "r246", "r327", "r328", "r329", "r330", "r332", "r333", "r335", "r337", "r338", "r841", "r842" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidation Items [Domain]", "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r186", "r225", "r236", "r237", "r238", "r239", "r240", "r242", "r246", "r327", "r328", "r329", "r330", "r332", "r333", "r335", "r337", "r338", "r841", "r842" ] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Construction in progress", "label": "Construction in Progress [Member]", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerAssetAndLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityAbstract", "presentation": [ "http://cactuswellhead.com/role/RevenueNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract Balances", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/RevenueNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue", "label": "Contract with Customer, Liability, Current", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r386", "r387", "r398" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateNonSegmentMember", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate, Non-Segment", "label": "Corporate, Non-Segment [Member]", "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": [ "r18", "r237", "r238", "r239", "r240", "r246", "r822" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Cost of revenue", "label": "Cost of Goods and Services Sold", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r104", "r522" ] }, "us-gaap_CostOfGoodsAndServicesSoldAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSoldAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Costs and expenses", "label": "Cost of Goods and Services Sold [Abstract]" } } }, "auth_ref": [] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Axis]", "label": "Counterparty Name [Axis]" } } }, "auth_ref": [ "r184", "r185", "r344", "r372", "r489", "r666", "r668" ] }, "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": [] }, "whd_CreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CreditAgreementMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Agreement", "label": "Credit Agreement [Member]", "documentation": "Credit Agreement dated May 31, 2011 [Member]" } } }, "auth_ref": [] }, "whd_CreditDiscountRateMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "CreditDiscountRateMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit discount rate", "label": "Credit Discount Rate [Member]", "documentation": "Credit Discount Rate" } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Axis]", "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Domain]", "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer relationships", "label": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r74" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Debt Disclosure [Abstract]", "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/Debt" ], "lang": { "en-us": { "role": { "verboseLabel": "Debt", "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r118", "r181", "r340", "r346", "r347", "r348", "r349", "r350", "r351", "r356", "r363", "r364", "r366" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument [Axis]", "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r20", "r88", "r89", "r128", "r129", "r186", "r341", "r342", "r343", "r344", "r345", "r347", "r352", "r353", "r354", "r355", "r357", "r358", "r359", "r360", "r361", "r362", "r482", "r675", "r676", "r677", "r678", "r679", "r814" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails", "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Applicable margin rate", "label": "Debt Instrument, Basis Spread on Variable Rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt gross", "label": "Long-Term Debt, Gross", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r20", "r129", "r367" ] }, "whd_DebtInstrumentCovenantLeverageRatioMaximum": { "xbrltype": "pureItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "DebtInstrumentCovenantLeverageRatioMaximum", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leverage ratio", "label": "Debt Instrument, Covenant, Leverage Ratio, Maximum", "documentation": "Debt Instrument, Covenant, Leverage Ratio, Maximum allowed" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Face amount", "label": "Debt Instrument, Face Amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r84", "r85", "r341", "r482", "r676", "r677" ] }, "whd_DebtInstrumentFixedChargeCoverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "DebtInstrumentFixedChargeCoverageRatio", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fixed charge coverage ratio", "label": "Debt Instrument, Fixed Charge Coverage Ratio", "documentation": "The fixed charge coverage ratio to be maintained under the debt instrument agreement based on the ratio of EBITDA minus Unfinanced Capital Expenditures to Fixed Charges." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Long-term Debt", "label": "Debt Instrument [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r186", "r341", "r342", "r343", "r344", "r345", "r347", "r352", "r353", "r354", "r355", "r357", "r358", "r359", "r360", "r361", "r362", "r365", "r482", "r675", "r676", "r677", "r678", "r679", "r814" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Name [Domain]", "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r27", "r186", "r341", "r342", "r343", "r344", "r345", "r347", "r352", "r353", "r354", "r355", "r357", "r358", "r359", "r360", "r361", "r362", "r482", "r675", "r676", "r677", "r678", "r679", "r814" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Long-term Debt Instruments [Table]", "label": "Schedule of Long-Term Debt Instruments [Table]", "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r27", "r64", "r65", "r83", "r84", "r85", "r87", "r120", "r121", "r186", "r341", "r342", "r343", "r344", "r345", "r347", "r352", "r353", "r354", "r355", "r357", "r358", "r359", "r360", "r361", "r362", "r365", "r482", "r675", "r676", "r677", "r678", "r679", "r814" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax asset, net", "label": "Deferred Income Tax Assets, Net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r438", "r439" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax liability, net", "label": "Deferred Income Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r438", "r439", "r532" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and amortization", "label": "Depreciation, Depletion and Amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r11", "r228" ] }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeGainLossOnDerivativeNet", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Change in fair value of earn-out liability", "label": "Derivative, Gain (Loss) on Derivative, Net", "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement." } } }, "auth_ref": [ "r849" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r397", "r681", "r682", "r683", "r684", "r685", "r686", "r687" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r397", "r681", "r682", "r683", "r684", "r685", "r686", "r687" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/RevenueTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenues Disaggregated by Category", "label": "Disaggregation of Revenue [Table Text Block]", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r846" ] }, "us-gaap_DistributionMadeToLimitedLiabilityCompanyLLCMemberCashDistributionsPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DistributionMadeToLimitedLiabilityCompanyLLCMemberCashDistributionsPaid", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Distributions to members", "terseLabel": "Pro rata distributions made to other members", "label": "Distribution Made to Limited Liability Company (LLC) Member, Cash Distributions Paid", "documentation": "Amount of cash distribution paid to unit-holder of limited liability company (LLC)." } } }, "auth_ref": [ "r122" ] }, "us-gaap_DistributionMadeToLimitedPartnerCashDistributionsPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DistributionMadeToLimitedPartnerCashDistributionsPaid", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash distributions to unit holders", "label": "Distribution Made to Limited Partner, Cash Distributions Paid", "documentation": "Amount of cash distribution paid to unit-holder of limited partnership (LP)." } } }, "auth_ref": [ "r122" ] }, "us-gaap_DividendsCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCash", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedLabel": "Cash dividends declared", "label": "Dividends, Cash", "documentation": "Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred." } } }, "auth_ref": [ "r8", "r122" ] }, "us-gaap_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Dividends declared", "label": "Dividends, Common Stock, Cash", "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash." } } }, "auth_ref": [ "r122" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r715" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r748" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "whd_EarnOutLiabilityMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "EarnOutLiabilityMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earn Out Liability", "label": "Earn Out Liability [Member]", "documentation": "Earn Out Liability" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per share and weighted average shares outstanding", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per Class A share - basic (in dollars per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r173", "r192", "r193", "r194", "r195", "r196", "r201", "r203", "r209", "r210", "r211", "r215", "r466", "r467", "r529", "r549", "r669" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per Class A share - diluted (in dollars per share)", "label": "Earnings Per Share, Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r173", "r192", "r193", "r194", "r195", "r196", "r203", "r209", "r210", "r211", "r215", "r466", "r467", "r529", "r549", "r669" ] }, "us-gaap_EarningsPerShareDilutedLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDilutedLineItems", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]", "label": "Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r203", "r207", "r209" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://cactuswellhead.com/role/EarningsperShare" ], "lang": { "en-us": { "role": { "verboseLabel": "Earnings per Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r200", "r212", "r213", "r214" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of exchange rate changes on cash and cash equivalents", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r474" ] }, "whd_EffectiveIncomeTaxRateUsedForNoncontrollingInterestIncome": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "EffectiveIncomeTaxRateUsedForNoncontrollingInterestIncome", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate effective income tax rate, if-converted method", "label": "Effective Income Tax Rate Used For Noncontrolling Interest Income", "documentation": "The effective income tax rate used in the calculation of income attributable to noncontrolling interest included in if-converted method of EPS calculation." } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Stock Option", "label": "Employee Stock Option [Member]", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "dei_EntitiesTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitiesTable", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Entities [Table]", "documentation": "Container to assemble all relevant information about each entity associated with the document instance" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r713" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r713" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r713" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r787" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r713" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r713" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r713" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r713" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Equity [Abstract]", "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r15", "r145", "r167", "r168", "r169", "r187", "r188", "r189", "r191", "r197", "r199", "r216", "r286", "r287", "r385", "r435", "r436", "r437", "r441", "r442", "r457", "r458", "r459", "r460", "r461", "r462", "r465", "r475", "r476", "r477", "r478", "r479", "r480", "r488", "r569", "r570", "r571", "r583", "r643" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r756" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r720", "r731", "r741", "r766" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r717", "r728", "r738", "r763" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r762" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurement Inputs and Valuation Techniques [Line Items]", "label": "Fair Value Measurement Inputs and Valuation Techniques [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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurement Inputs and Valuation Techniques [Table]", "label": "Fair Value Measurement Inputs and Valuation Techniques [Table]", "documentation": "Disclosure of information about input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis." } } }, "auth_ref": [ "r16" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Significant Assumptions to Determine Fair Value", "label": "Fair Value Measurement Inputs and Valuation Techniques [Table Text Block]", "documentation": "Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis." } } }, "auth_ref": [ "r16" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r354", "r401", "r402", "r403", "r404", "r405", "r406", "r469", "r494", "r495", "r496", "r676", "r677", "r688", "r689", "r690" ] }, "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://cactuswellhead.com/role/FairValueMeasurements" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurements", "label": "Fair Value Disclosures [Text Block]", "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": [ "r468" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Inputs, Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r354", "r401", "r406", "r469", "r495", "r676", "r677", "r688", "r689", "r690" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Inputs, Level 3", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r354", "r401", "r402", "r403", "r404", "r405", "r406", "r469", "r496", "r676", "r677", "r688", "r689", "r690" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]", "documentation": "Schedule of information required and determined to be provided for purposes of reconciling beginning and ending balances of fair value measurements of liabilities using significant unobservable inputs (level 3). Separately presenting changes during the period, attributable to: (1) total gains or losses for the period (realized and unrealized) and location reported in the statement of income (or activities); (2) purchases, sales, issuances, and settlements (net); (3) transfers in and/or out of Level 3." } } }, "auth_ref": [ "r17", "r82" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Changes in Fair Value", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability." } } }, "auth_ref": [ "r17", "r82" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in fair value", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings", "documentation": "Amount of gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3)." } } }, "auth_ref": [ "r472" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Liability value", "periodStartLabel": "Opening Balance", "periodEndLabel": "Balance at December 31, 2023", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value", "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r17" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r354", "r401", "r402", "r403", "r404", "r405", "r406", "r494", "r495", "r496", "r676", "r677", "r688", "r689", "r690" ] }, "us-gaap_FinanceLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Finance lease obligations, current portion", "label": "Finance Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current." } } }, "auth_ref": [ "r484" ] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Finance lease obligations, net of current portion", "label": "Finance Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent." } } }, "auth_ref": [ "r484" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments on finance leases", "label": "Finance Lease, Principal Payments", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r485", "r486" ] }, "us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vehicles", "label": "Finance Lease, Right-of-Use Asset, before Accumulated Amortization", "documentation": "Amount, before accumulated amortization, of right-of-use asset from finance lease." } } }, "auth_ref": [ "r789" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instrument [Axis]", "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r289", "r290", "r295", "r296", "r297", "r298", "r299", "r300", "r365", "r382", "r463", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r545", "r673", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r825", "r826", "r827", "r828" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization period", "label": "Finite-Lived Intangible Asset, Useful Life", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accumulated Amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r154", "r316" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remainder of 2024", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2029", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsNarrativeDetails", "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r314", "r315", "r316", "r317", "r523", "r524" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross Cost", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r113", "r524" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsNarrativeDetails", "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r523" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsNarrativeDetails", "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r59", "r61" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofFutureAmortizationDetails", "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net Cost", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r113", "r523" ] }, "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNetAbstract", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Net [Abstract]", "label": "Finite-Lived Intangible Assets, Net [Abstract]" } } }, "auth_ref": [] }, "whd_FlexSteelMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "FlexSteelMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "FlexSteel", "label": "FlexSteel [Member]", "documentation": "" } } }, "auth_ref": [] }, "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency forwards", "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure", "documentation": "Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into." } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r724", "r735", "r745", "r770" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r724", "r735", "r745", "r770" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r724", "r735", "r745", "r770" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r724", "r735", "r745", "r770" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r724", "r735", "r745", "r770" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Furniture and fixtures", "label": "Furniture and Fixtures [Member]", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "us-gaap_GainLossOnDispositionOfAssets1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnDispositionOfAssets1", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Gain on disposal of assets", "label": "Gain (Loss) on Disposition of Assets", "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee." } } }, "auth_ref": [ "r812" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r153", "r303", "r525", "r674", "r698", "r831", "r832" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "whd_IdentifiableIntangibleAssetsAcquiredMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "IdentifiableIntangibleAssetsAcquiredMember", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Identifiable Intangible Assets Acquired", "label": "Identifiable Intangible Assets Acquired [Member]", "documentation": "Identifiable Intangible Assets Acquired" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_ProfitLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Income before income taxes", "terseLabel": "Income before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r101", "r132", "r223", "r237", "r243", "r246", "r530", "r541", "r671" ] }, "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Net income", "label": "Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest", "documentation": "Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r125", "r183", "r190", "r223", "r237", "r243", "r246", "r285", "r327", "r328", "r330", "r331", "r332", "r334", "r336", "r338", "r339", "r467", "r473", "r541", "r671", "r841" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_ProfitLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Income tax expense", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r134", "r142", "r198", "r199", "r231", "r440", "r443", "r550" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Net cash paid for income taxes", "label": "Income Taxes Paid, Net", "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": [ "r40" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableTrade": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayableTrade", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable, Trade", "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 15.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts receivable", "label": "Increase (Decrease) in Accounts Receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Deferred income taxes", "label": "Increase (Decrease) in Deferred Income Taxes", "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventories", "label": "Increase (Decrease) in Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in operating assets and liabilities:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other liabilities", "label": "Increase (Decrease) in Other Accounts Payable and Accrued Liabilities", "documentation": "The increase (decrease) during the reporting period in other obligations or expenses incurred but not yet paid." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders'/Members' Equity", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Effect of dilutive shares (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r204", "r205", "r206", "r211", "r408" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r727", "r735", "r745", "r762", "r770", "r774", "r782" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r780" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r716", "r786" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r716", "r786" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r716", "r786" ] }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssets" ], "lang": { "en-us": { "role": { "terseLabel": "Other Intangible Assets", "label": "Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for all or part of the information related to intangible assets." } } }, "auth_ref": [ "r313" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, net", "label": "Intangible Assets, Net (Excluding Goodwill)", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r57", "r60" ] }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest income, net", "verboseLabel": "Interest income, net", "label": "Interest Income (Expense), Nonoperating, Net", "documentation": "The net amount of nonoperating interest income (expense)." } } }, "auth_ref": [] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for interest", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r175", "r178", "r179" ] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Inventory Disclosure [Abstract]", "label": "Inventory Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/Inventories" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "label": "Inventory Disclosure [Text Block]", "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory." } } }, "auth_ref": [ "r301" ] }, "us-gaap_InventoryFinishedGoods": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoods", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/InventoriesDetails": { "parentTag": "us-gaap_InventoryGross", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finished goods", "label": "Inventory, Finished Goods, Gross", "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer." } } }, "auth_ref": [ "r803" ] }, "us-gaap_InventoryGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryGross", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://cactuswellhead.com/role/InventoriesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "totalLabel": "Total inventory", "label": "Inventory, Gross", "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r806" ] }, "us-gaap_InventoryNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNetAbstract", "presentation": [ "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of inventories", "label": "Inventory, Net [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryRawMaterials": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterials", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/InventoriesDetails": { "parentTag": "us-gaap_InventoryGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Raw materials", "label": "Inventory, Raw Materials, Gross", "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r805" ] }, "us-gaap_InventoryWorkInProcess": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcess", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/InventoriesDetails": { "parentTag": "us-gaap_InventoryGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Work-in-progress", "label": "Inventory, Work in Process, Gross", "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r804" ] }, "us-gaap_InventoryWriteDown": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWriteDown", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory obsolescence", "label": "Inventory Write-down", "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels." } } }, "auth_ref": [ "r302" ] }, "whd_KeyEmployeeMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "KeyEmployeeMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Key Employee", "label": "Key Employee [Member]", "documentation": "Key Employee" } } }, "auth_ref": [] }, "us-gaap_LandMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Land", "label": "Land [Member]", "documentation": "Part of earth's surface not covered by water." } } }, "auth_ref": [ "r847" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LetterOfCreditMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letters of credit", "label": "Letter of Credit [Member]", "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)." } } }, "auth_ref": [] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letters of credit outstanding", "label": "Letters of Credit Outstanding, Amount", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r24", "r183", "r285", "r327", "r328", "r330", "r331", "r332", "r334", "r336", "r338", "r339", "r452", "r455", "r456", "r473", "r603", "r670", "r711", "r841", "r859", "r860" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r96", "r131", "r539", "r698", "r815", "r829", "r854" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities and Equity", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r26", "r150", "r183", "r285", "r327", "r328", "r330", "r331", "r332", "r334", "r336", "r338", "r339", "r452", "r455", "r456", "r473", "r698", "r841", "r859", "r860" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesNoncurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Noncurrent liabilities", "label": "Liabilities, Noncurrent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPMembersOrLimitedPartnersOwnershipInterest": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LimitedLiabilityCompanyLLCOrLimitedPartnershipLPMembersOrLimitedPartnersOwnershipInterest", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Ownership interest", "label": "Limited Liability Company or Limited Partnership, Members or Limited Partners, Ownership Interest", "documentation": "Percentage investment held by members or limited partners of limited liability company (LLC) or limited partnership (LP)." } } }, "auth_ref": [ "r48" ] }, "whd_LineOfCreditFacilityAccordianFeature": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "LineOfCreditFacilityAccordianFeature", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional commitments", "label": "Line of Credit Facility, Accordian Feature", "documentation": "Line of Credit Facility, Accordian Feature" } } }, "auth_ref": [] }, "whd_LineOfCreditFacilityAccordionFeatureMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "LineOfCreditFacilityAccordionFeatureMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum borrowing capacity", "label": "Line of Credit Facility, Accordion Feature, Maximum Borrowing Capacity", "documentation": "Line of Credit Facility, Accordion Feature, Maximum Borrowing Capacity" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityCommitmentFeePercentage", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commitment fee", "label": "Line of Credit Facility, Commitment Fee Percentage", "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used." } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Borrowing capacity", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r23" ] }, "us-gaap_LineOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit", "label": "Line of Credit [Member]", "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars." } } }, "auth_ref": [] }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLosses" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts Receivable and Allowance for Credit Losses", "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]", "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses." } } }, "auth_ref": [ "r823" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebt", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt outstanding", "label": "Long-Term Debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r20", "r129", "r353", "r368", "r676", "r677", "r867" ] }, "us-gaap_LongTermDebtTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtTerm", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Term", "label": "Long-Term Debt, Term", "documentation": "Period between issuance and maturity of long-term debt, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r853" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term Debt, Type [Axis]", "label": "Long-Term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r27" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term Debt, Type [Domain]", "label": "Long-Term Debt, Type [Domain]", "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": [ "r27", "r63" ] }, "us-gaap_MachineryAndEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MachineryAndEquipmentMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Machinery and equipment", "label": "Machinery and Equipment [Member]", "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment." } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r323", "r324", "r325", "r326", "r407", "r521", "r568", "r595", "r596", "r648", "r649", "r650", "r651", "r652", "r662", "r663", "r672", "r680", "r693", "r700", "r845", "r861", "r862", "r863", "r864", "r865", "r866" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r754" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r754" ] }, "us-gaap_MeasurementInputDiscountRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputDiscountRateMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue discount rate", "label": "Measurement Input, Discount Rate [Member]", "documentation": "Measurement input using interest rate to determine present value of future cash flows." } } }, "auth_ref": [ "r852" ] }, "whd_MeasurementInputExpectedRevenueVolatilityMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "MeasurementInputExpectedRevenueVolatilityMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected revenue volatility", "label": "Measurement Input, Expected Revenue Volatility [Member]", "documentation": "Measurement Input, Expected Revenue Volatility" } } }, "auth_ref": [] }, "us-gaap_MeasurementInputRiskFreeInterestRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputRiskFreeInterestRateMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Risk-free interest rate", "label": "Measurement Input, Risk Free Interest Rate [Member]", "documentation": "Measurement input using interest rate on instrument with zero risk of financial loss." } } }, "auth_ref": [ "r852" ] }, "us-gaap_MeasurementInputTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputTypeAxis", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Input Type [Axis]", "label": "Measurement Input Type [Axis]", "documentation": "Information by type of measurement input used to determine value of asset and liability." } } }, "auth_ref": [ "r470" ] }, "us-gaap_MeasurementInputTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputTypeDomain", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Input Type [Domain]", "label": "Measurement Input Type [Domain]", "documentation": "Measurement input used to determine value of asset and liability." } } }, "auth_ref": [] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r323", "r324", "r325", "r326", "r407", "r521", "r568", "r595", "r596", "r648", "r649", "r650", "r651", "r652", "r662", "r663", "r672", "r680", "r693", "r700", "r845", "r861", "r862", "r863", "r864", "r865", "r866" ] }, "us-gaap_MinorityInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MinorityInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Non-controlling interest", "label": "Equity, Attributable to Noncontrolling Interest", "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity." } } }, "auth_ref": [ "r31", "r130", "r183", "r285", "r327", "r330", "r331", "r332", "r338", "r339", "r473", "r538", "r607" ] }, "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedLabel": "Member distributions", "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders", "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders." } } }, "auth_ref": [ "r122" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r773" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r781" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r755" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r177" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash flows from financing activities", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in investing activities", "label": "Net Cash Provided by (Used in) Investing Activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r177" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash flows from investing activities", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by operating activities", "label": "Net Cash Provided by (Used in) Operating Activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r108", "r109", "r110" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash flows from operating activities", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income attributable to Cactus Inc.", "terseLabel": "Net Income (Loss)", "label": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r102", "r110", "r133", "r148", "r163", "r165", "r169", "r183", "r190", "r192", "r193", "r194", "r195", "r198", "r199", "r208", "r223", "r237", "r243", "r246", "r285", "r327", "r328", "r330", "r331", "r332", "r334", "r336", "r338", "r339", "r467", "r473", "r544", "r625", "r641", "r642", "r671", "r709", "r841" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Numerator:", "label": "Net Income (Loss) Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAttributableToNoncontrollingInterest", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Less: net income attributable to non-controlling interest", "label": "Net Income (Loss) Attributable to Noncontrolling Interest", "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r80", "r126", "r163", "r165", "r198", "r199", "r543", "r810" ] }, "us-gaap_NetIncomeLossAttributableToRedeemableNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAttributableToRedeemableNoncontrollingInterest", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income attributable to non-controlling interest", "label": "Net Income (Loss) Attributable to Redeemable Noncontrolling Interest", "documentation": "Amount of Net Income (Loss) attributable to redeemable noncontrolling interest." } } }, "auth_ref": [ "r103" ] }, "whd_NetIncomeLossIncludingPortionAttributableToRedeemableNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "NetIncomeLossIncludingPortionAttributableToRedeemableNoncontrollingInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income attributable to Cactus Inc. - diluted", "label": "Net Income Loss Including Portion Attributable To Redeemable Noncontrolling Interest", "documentation": "Amount of net income (loss) for the period including the portion attributable to the redeemable non-controlling interest." } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Recent Accounting Pronouncements", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r754" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r724", "r735", "r745", "r762", "r770" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r752" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r751" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r762" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r781" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r781" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash investing and financing activities:", "label": "Noncash Investing and Financing Items [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NoncontrollingInterestMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncontrollingInterestMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Non-controlling Interest", "label": "Noncontrolling Interest [Member]", "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest." } } }, "auth_ref": [ "r76", "r385", "r816", "r817", "r818", "r872" ] }, "whd_NumberOfBusinessSegments": { "xbrltype": "integerItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "NumberOfBusinessSegments", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of business segments", "label": "Number Of Business Segments", "documentation": "Number Of Business Segments" } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of reporting segments", "label": "Number of Reportable Segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r821" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Total costs and expenses", "label": "Operating Expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Operating income", "terseLabel": "Total segment operating income", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r223", "r237", "r243", "r246", "r671" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities, current portion", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r484" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities, net of current portion", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r484" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets, net", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r483" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Segments", "label": "Operating Segments [Member]", "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": [ "r236", "r237", "r238", "r239", "r240", "r246" ] }, "us-gaap_OrderOrProductionBacklogMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrderOrProductionBacklogMember", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Backlog", "label": "Order or Production Backlog [Member]", "documentation": "Orders, production or production backlog arising from contracts such as purchase or sales orders acquired in a business combination." } } }, "auth_ref": [ "r73" ] }, "whd_OrganizationAndNatureOfOperationsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "OrganizationAndNatureOfOperationsLineItems", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Organization and Nature of Operations", "label": "Organization and Nature of Operations [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": [] }, "whd_OrganizationAndNatureOfOperationsTable": { "xbrltype": "stringItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "OrganizationAndNatureOfOperationsTable", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Organization and Nature of Operations [Table]", "label": "Organization and Nature of Operations [Table]", "documentation": "A table or schedule providing information pertaining to organization and nature of operations." } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other noncurrent assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r155" ] }, "us-gaap_OtherCommitment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitment", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total TRA liability", "label": "Other Commitment", "documentation": "Minimum amount of other commitment not otherwise specified in the taxonomy. Excludes commitments explicitly modeled in the taxonomy, including but not limited to, long-term and short-term purchase commitments, recorded and unrecorded purchase obligations, supply commitments, registration payment arrangements, leases, debt, product warranties, guarantees, environmental remediation obligations, and pensions." } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r6" ] }, "us-gaap_OtherComprehensiveIncomeOtherNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeOtherNetOfTax", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income (loss)", "label": "Other Comprehensive Income, Other, Net of Tax", "documentation": "Amount of increase (decrease) in other comprehensive income, after tax, from changes classified as other." } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other noncurrent liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r28" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other income, net", "verboseLabel": "Other income, net", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r106" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r754" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r722", "r733", "r743", "r768" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r725", "r736", "r746", "r771" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r725", "r736", "r746", "r771" ] }, "srt_OwnershipAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "OwnershipAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Ownership [Axis]", "label": "Ownership [Axis]" } } }, "auth_ref": [] }, "srt_OwnershipDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "OwnershipDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Ownership [Domain]", "label": "Ownership [Domain]" } } }, "auth_ref": [] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r750" ] }, "whd_PaymentsForCapitalExpenditures": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "PaymentsForCapitalExpenditures", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Capital expenditures and other", "label": "Payments For Capital expenditures", "documentation": "The cash outflow from payments of capital expenditure." } } }, "auth_ref": [] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Repurchases of shares", "label": "Payments for Repurchase of Common Stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r38" ] }, "us-gaap_PaymentsOfDividends": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividends", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Dividends paid", "label": "Payments of Dividends", "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests." } } }, "auth_ref": [ "r38" ] }, "us-gaap_PaymentsOfDividendsCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividendsCommonStock", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Dividends paid to Class A common stock shareholders", "label": "Payments of Ordinary Dividends, Common Stock", "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity." } } }, "auth_ref": [ "r38" ] }, "us-gaap_PaymentsOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfFinancingCosts", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payments of deferred financing costs", "label": "Payments of Financing Costs", "documentation": "The cash outflow for loan and debt issuance costs." } } }, "auth_ref": [ "r37" ] }, "us-gaap_PaymentsOfStockIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfStockIssuanceCosts", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Underwriting discounts", "label": "Payments of Stock Issuance Costs", "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security." } } }, "auth_ref": [ "r37" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash consideration", "label": "Payments to Acquire Businesses, Gross", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r35", "r448" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Acquisition of a business, net of cash and cash equivalents acquired", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r35" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r753" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r753" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r752" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r762" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r755" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r751" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, par value (in dollars per share)", "label": "Preferred Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r90", "r370" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, shares authorized (in shares)", "label": "Preferred Stock, Shares Authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r90", "r605" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, shares issued (in shares)", "label": "Preferred Stock, Shares Issued", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r90", "r370" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, shares outstanding (in shares)", "label": "Preferred Stock, Shares Outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r90", "r605", "r623", "r872", "r873" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, $0.01 par value, 10,000 shares authorized, none issued and outstanding", "label": "Preferred Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r90", "r534", "r698" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r807" ] }, "whd_PressureControlSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "PressureControlSegmentMember", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Pressure Control", "label": "Pressure Control Segment [Member]", "documentation": "" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Net proceeds from the issuance of Class A common stock", "label": "Proceeds from Issuance of Common Stock", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r7" ] }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfLongTermDebt", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from the issuance of long-term debt", "label": "Proceeds from Issuance of Long-Term Debt", "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer." } } }, "auth_ref": [ "r36", "r576" ] }, "us-gaap_ProceedsFromSaleOfProductiveAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfProductiveAssets", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from sales of assets", "label": "Proceeds from Sale of Productive Assets", "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets." } } }, "auth_ref": [ "r107" ] }, "us-gaap_ProductAndServiceOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductAndServiceOtherMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Field service and other revenue", "label": "Product and Service, Other [Member]", "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other." } } }, "auth_ref": [ "r847" ] }, "us-gaap_ProductMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product revenue", "label": "Product [Member]", "documentation": "Article or substance produced by nature, labor or machinery." } } }, "auth_ref": [ "r681" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Axis]", "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r248", "r522", "r562", "r563", "r564", "r565", "r566", "r567", "r664", "r681", "r699", "r794", "r838", "r839", "r846", "r869" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Domain]", "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r248", "r522", "r562", "r563", "r564", "r565", "r566", "r567", "r664", "r681", "r699", "r794", "r838", "r839", "r846", "r869" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 }, "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 1.0 }, "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "verboseLabel": "Net income", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r148", "r163", "r165", "r176", "r183", "r190", "r198", "r199", "r223", "r237", "r243", "r246", "r285", "r327", "r328", "r330", "r331", "r332", "r334", "r336", "r338", "r339", "r450", "r453", "r454", "r467", "r473", "r530", "r542", "r582", "r625", "r641", "r642", "r671", "r695", "r696", "r710", "r810", "r841" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Abstract]", "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "whd_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortizationBeforeConstructionInProgress", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less: Accumulated depreciation", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization", "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease." } } }, "auth_ref": [ "r790", "r793", "r835" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "totalLabel": "Total property and equipment, net", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization", "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r793", "r833" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "whd_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortizationBeforeConstructionInProgress", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Gross property and equipment", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization", "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r789", "r802", "r834" ] }, "whd_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortizationBeforeConstructionInProgress": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortizationBeforeConstructionInProgress", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net property and equipment", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Before Construction in Progress", "documentation": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Before Construction in Progress" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r12" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnet" ], "lang": { "en-us": { "role": { "terseLabel": "Property and Equipment, net", "label": "Property, Plant and Equipment Disclosure [Text Block]", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r115", "r137", "r140", "r141" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross property and equipment", "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r116", "r152", "r540" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Property and Equipment Net", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r12" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r116" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Provision for expected credit losses", "verboseLabel": "Expense (Recovery)", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r174", "r292" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r750" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r750" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r323", "r324", "r325", "r326", "r400", "r407", "r431", "r432", "r433", "r497", "r521", "r568", "r595", "r596", "r648", "r649", "r650", "r651", "r652", "r662", "r663", "r672", "r680", "r693", "r700", "r703", "r836", "r845", "r862", "r863", "r864", "r865", "r866" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r323", "r324", "r325", "r326", "r400", "r407", "r431", "r432", "r433", "r497", "r521", "r568", "r595", "r596", "r648", "r649", "r650", "r651", "r652", "r662", "r663", "r672", "r680", "r693", "r700", "r703", "r836", "r845", "r862", "r863", "r864", "r865", "r866" ] }, "us-gaap_ReceivablesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Receivables [Abstract]", "label": "Receivables [Abstract]" } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r717", "r728", "r738", "r763" ] }, "whd_ReelsAndSkidsMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "ReelsAndSkidsMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reels and skids", "label": "Reels And Skids [Member]", "documentation": "Reels And Skids" } } }, "auth_ref": [] }, "whd_RentalEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "RentalEquipmentMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Rental equipment", "label": "Rental Equipment [Member]", "documentation": "Rental Equipment" } } }, "auth_ref": [] }, "whd_RentalRevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "RentalRevenueMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Rental revenue", "label": "Rental Revenue [Member]", "documentation": "Represents the rental revenue." } } }, "auth_ref": [] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Domain]", "label": "Counterparty Name [Domain]" } } }, "auth_ref": [ "r184", "r185", "r344", "r372", "r489", "r667", "r668" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r718", "r729", "r739", "r764" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r719", "r730", "r740", "r765" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r726", "r737", "r747", "r772" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Retained earnings", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r93", "r122", "r537", "r572", "r574", "r580", "r606", "r698" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Retained Earnings", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r145", "r187", "r188", "r189", "r191", "r197", "r199", "r286", "r287", "r435", "r436", "r437", "r441", "r442", "r457", "r459", "r460", "r462", "r465", "r569", "r571", "r583", "r872" ] }, "whd_RevenueAsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "RevenueAsPercentage", "presentation": [ "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue as a percentage", "label": "Revenue As A Percentage", "documentation": "Revenue as a percentage" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "terseLabel": "Revenue from Contract with Customer [Abstract]", "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total revenues", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "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": [ "r224", "r225", "r236", "r241", "r242", "r248", "r250", "r251", "r396", "r397", "r522" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://cactuswellhead.com/role/Revenue" ], "lang": { "en-us": { "role": { "verboseLabel": "Revenue", "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r143", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r399" ] }, "us-gaap_RevenuesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues", "label": "Revenues [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "ABL Credit Facility", "label": "Revolving Credit Facility [Member]", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Right-of-use assets obtained in exchange for new lease obligations", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r487", "r697" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r781" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r781" ] }, "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockConsiderationReceivedOnTransaction", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash consideration", "label": "Sale of Stock, Consideration Received on Transaction", "documentation": "Cash received on stock transaction after deduction of issuance costs." } } }, "auth_ref": [] }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockNameOfTransactionDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of Stock [Domain]", "label": "Sale of Stock [Domain]", "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement." } } }, "auth_ref": [] }, "us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockNumberOfSharesIssuedInTransaction", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares sold (in shares)", "label": "Sale of Stock, Number of Shares Issued in Transaction", "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction." } } }, "auth_ref": [] }, "us-gaap_SaleOfStockPricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockPricePerShare", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Price of stock (in dollars per share)", "label": "Sale of Stock, Price Per Share", "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]", "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities." } } }, "auth_ref": [ "r68", "r69", "r446" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Purchase Price Consideration", "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]", "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts." } } }, "auth_ref": [ "r68", "r69" ] }, "us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Rollforward of Allowance for Credit Losses", "label": "Financing Receivable, Current, Allowance for Credit Loss [Table Text Block]", "documentation": "Tabular disclosure of allowance for credit loss of financing receivable, classified as current." } } }, "auth_ref": [ "r55", "r830" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Basic and Diluted Earnings per Share", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r820" ] }, "us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareDilutedByCommonClassTable", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table]", "label": "Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table]", "documentation": "Complete disclosure pertaining to an entity's diluted earnings per share." } } }, "auth_ref": [ "r46", "r47", "r203", "r207", "r209" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsNarrativeDetails", "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r59", "r61", "r523" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Total Intangible Assets", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r59", "r61" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/InventoriesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Inventories", "label": "Schedule of Inventory, Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r21", "r97", "r98", "r99" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r12" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Preliminary Purchase Price Allocation", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree." } } }, "auth_ref": [ "r124" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "label": "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": [ "r52", "r53", "r54", "r56" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summarized Financial Information by Segment", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r52", "r53", "r54", "r56" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Future Amortization", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r61" ] }, "us-gaap_SecuredDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredDebtMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Secured Debt", "label": "Secured Debt [Member]", "documentation": "Collateralized debt obligation backed by, for example, but not limited to, pledge, mortgage or other lien on the entity's assets." } } }, "auth_ref": [] }, "whd_SecuredOvernightFinancingRateMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "SecuredOvernightFinancingRateMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Secured Overnight Financing Rate", "label": "Secured Overnight Financing Rate [Member]", "documentation": "Secured Overnight Financing Rate" } } }, "auth_ref": [] }, "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate", "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]", "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg." } } }, "auth_ref": [ "r850" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r712" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r714" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Domain]", "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r220", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r246", "r251", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r319", "r320", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r674", "r794", "r869" ] }, "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://cactuswellhead.com/role/SegmentReporting" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting", "label": "Segment Reporting Disclosure [Text Block]", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r219", "r220", "r221", "r222", "r223", "r235", "r240", "r244", "r245", "r246", "r247", "r248", "r249", "r251" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting Information [Line Items]", "label": "Segment Reporting Information [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Selling, general and administrative expenses", "label": "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": [ "r105" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r10" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r694" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Award Types", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434" ] }, "us-gaap_ShareRepurchaseProgramAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareRepurchaseProgramAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share Repurchase Program [Axis]", "label": "Share Repurchase Program [Axis]", "documentation": "Information by share repurchase program." } } }, "auth_ref": [] }, "us-gaap_ShareRepurchaseProgramDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareRepurchaseProgramDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share Repurchase Program [Domain]", "label": "Share Repurchase Program [Domain]", "documentation": "Name of the share repurchase program." } } }, "auth_ref": [] }, "whd_ShareRepurchaseProgramMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "ShareRepurchaseProgramMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share Repurchase Program", "label": "Share Repurchase Program [Member]", "documentation": "Share Repurchase Program" } } }, "auth_ref": [] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance at the beginning of the period (in shares)", "periodEndLabel": "Balance at the end of the period (in shares)", "label": "Shares, Outstanding", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "whd_SpoolableTechnologiesMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "SpoolableTechnologiesMember", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Spoolable Technologies", "label": "Spoolable Technologies [Member]", "documentation": "" } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Axis]", "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r147", "r220", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r246", "r251", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r318", "r319", "r320", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r674", "r794", "r869" ] }, "us-gaap_StatementClassOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementClassOfStockAxis", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Axis]", "label": "Class of Stock [Axis]", "documentation": "Information by the different classes of stock of the entity." } } }, "auth_ref": [ "r144", "r157", "r158", "r159", "r183", "r203", "r207", "r209", "r211", "r217", "r218", "r285", "r327", "r330", "r331", "r332", "r338", "r339", "r370", "r371", "r374", "r377", "r384", "r473", "r576", "r577", "r578", "r579", "r583", "r584", "r585", "r586", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r605", "r626", "r643", "r653", "r654", "r655", "r656", "r657", "r788", "r813", "r819" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r15", "r30", "r145", "r167", "r168", "r169", "r187", "r188", "r189", "r191", "r197", "r199", "r216", "r286", "r287", "r385", "r435", "r436", "r437", "r441", "r442", "r457", "r458", "r459", "r460", "r461", "r462", "r465", "r475", "r476", "r477", "r478", "r479", "r480", "r488", "r569", "r570", "r571", "r583", "r643" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r187", "r188", "r189", "r216", "r522", "r575", "r594", "r597", "r598", "r599", "r600", "r601", "r602", "r605", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r618", "r619", "r620", "r621", "r622", "r624", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r643", "r704" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Comprehensive Income [Abstract]", "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r187", "r188", "r189", "r216", "r522", "r575", "r594", "r597", "r598", "r599", "r600", "r601", "r602", "r605", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r618", "r619", "r620", "r621", "r622", "r624", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r643", "r704" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r721", "r732", "r742", "r767" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock (in shares)", "label": "Stock Issued During Period, Shares, New Issues", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r15", "r90", "r91", "r122", "r576", "r643", "r654" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity award vestings (in shares)", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r15", "r90", "r91", "r122" ] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Issuances of common stock", "label": "Stock Issued During Period, Value, New Issues", "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering." } } }, "auth_ref": [ "r15", "r90", "r91", "r122", "r583", "r643", "r654", "r710" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity award vestings", "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r67", "r90", "r91", "r122" ] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Authorized amount of stock repurchase", "label": "Stock Repurchase Program, Authorized Amount", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock authorized repurchase amount", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "documentation": "Amount remaining of a stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock purchased and retired (in shares)", "label": "Stock Repurchased and Retired During Period, Shares", "documentation": "Number of shares that have been repurchased and retired during the period." } } }, "auth_ref": [ "r15", "r90", "r91", "r122" ] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Share repurchases (in shares)", "label": "Stock Repurchased During Period, Shares", "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r15", "r90", "r91", "r122", "r579", "r643", "r656" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Share repurchases", "terseLabel": "Share repurchases", "label": "Stock Repurchased During Period, Value", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r15", "r90", "r91", "r122", "r583", "r643", "r656", "r710" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity attributable to Cactus Inc.", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r91", "r94", "r95", "r112", "r607", "r623", "r644", "r645", "r698", "r711", "r815", "r829", "r854", "r872" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders\u2019 equity", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Balance at the beginning of the period", "periodEndLabel": "Balance at the end of the period", "label": "Equity, Including Portion Attributable to Noncontrolling Interest", "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity." } } }, "auth_ref": [ "r76", "r77", "r79", "r145", "r146", "r168", "r187", "r188", "r189", "r191", "r197", "r286", "r287", "r385", "r435", "r436", "r437", "r441", "r442", "r457", "r458", "r459", "r460", "r461", "r462", "r465", "r475", "r476", "r480", "r488", "r570", "r571", "r581", "r607", "r623", "r644", "r645", "r658", "r710", "r815", "r829", "r854", "r872" ] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/Equity" ], "lang": { "en-us": { "role": { "terseLabel": "Equity", "label": "Equity [Text Block]", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r119", "r182", "r369", "r371", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r383", "r385", "r464", "r646", "r647", "r659" ] }, "srt_SubsidiariesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SubsidiariesMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsidiaries", "label": "Subsidiaries [Member]" } } }, "auth_ref": [ "r848", "r855", "r856", "r858" ] }, "us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity", "label": "Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]", "documentation": "Different names of stock transactions and the different attributes of each transaction." } } }, "auth_ref": [] }, "us-gaap_SubsidiarySaleOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiarySaleOfStockAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of Stock [Axis]", "label": "Sale of Stock [Axis]", "documentation": "Information by type of sale of the entity's stock." } } }, "auth_ref": [] }, "us-gaap_SubsidiarySaleOfStockLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiarySaleOfStockLineItems", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity", "label": "Subsidiary, Sale of Stock [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental disclosure of cash flow information", "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r761" ] }, "whd_TaxReceivableAgreementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "TaxReceivableAgreementDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Tax Receivable Agreement", "label": "Tax Receivable Agreement", "documentation": "n/a" } } }, "auth_ref": [] }, "whd_TaxReceivableAgreementDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "TaxReceivableAgreementDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRA" ], "lang": { "en-us": { "role": { "terseLabel": "Tax Receivable Agreement (\"TRA\")", "label": "Tax Receivable Agreement Disclosure [Text Block]", "documentation": "The entire disclosure for the tax receivable agreement." } } }, "auth_ref": [] }, "whd_TaxReceivableAgreementGainLossOnRevaluationOfLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "TaxReceivableAgreementGainLossOnRevaluationOfLiability", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Gain from revaluation of liability related to tax receivable agreement", "label": "Tax Receivable Agreement, Gain (Loss) on Revaluation of Liability", "documentation": "Tax Receivable Agreement, Gain (Loss) on Revaluation of Liability" } } }, "auth_ref": [] }, "whd_TaxReceivableAgreementLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "TaxReceivableAgreementLiabilityCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of liability related to tax receivable agreement", "label": "Tax Receivable Agreement Liability Current", "documentation": "Amount of liability under tax receivable agreement classified as current." } } }, "auth_ref": [] }, "whd_TaxReceivableAgreementLiabilityNonCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "TaxReceivableAgreementLiabilityNonCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Liability related to tax receivable agreement, net of current portion", "label": "Tax Receivable Agreement, Liability Non Current", "documentation": "Amount of liability under tax receivable agreement classified as non current." } } }, "auth_ref": [] }, "whd_TaxSavingsBenefitRetainedAsPercent": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "TaxSavingsBenefitRetainedAsPercent", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tax savings benefit retained by Cactus Inc", "label": "Tax Savings Benefit Retained As Percent", "documentation": "Per tax receivable agreement, the amount of the tax savings benefit to be retained by the entity." } } }, "auth_ref": [] }, "whd_TaxSavingsPayableToTraHoldersAsPercent": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "TaxSavingsPayableToTraHoldersAsPercent", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tax savings payable to TRA Holders", "label": "Tax Savings Payable To TRA Holders As Percent", "documentation": "Per tax receivable agreement, the percentage of savings in federal, state and local income tax or franchise tax that the entity realizes or is deemed to realize in certain circumstances." } } }, "auth_ref": [] }, "us-gaap_TechnologyBasedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TechnologyBasedIntangibleAssetsMember", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Developed technology", "label": "Technology-Based Intangible Assets [Member]", "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights." } } }, "auth_ref": [ "r19" ] }, "whd_TheCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20240331", "localname": "TheCreditFacilityMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "The Credit Facility", "label": "The Credit Facility [Member]", "documentation": "The Credit Facility" } } }, "auth_ref": [] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Axis]", "label": "Title of Individual [Axis]" } } }, "auth_ref": [ "r824", "r857" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Relationship to Entity [Domain]", "label": "Title of Individual [Domain]" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r753" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r760" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://cactuswellhead.com/role/OtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tradename", "label": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r72" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r780" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r782" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "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://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instruments [Domain]", "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": [ "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r365", "r382", "r463", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r545", "r795", "r796", "r797", "r798", "r799", "r800", "r801", "r825", "r826", "r827", "r828" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r783" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r784" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r782" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r782" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r785" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r783" ] }, "us-gaap_TreasuryStockAcquiredAverageCostPerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockAcquiredAverageCostPerShare", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Average stock repurchased price (in dollars per share)", "label": "Shares Acquired, Average Cost Per Share", "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased." } } }, "auth_ref": [ "r66" ] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unbilled revenue", "label": "Unbilled Receivables, Current", "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r779" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Use of Estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r49", "r50", "r51", "r135", "r136", "r138", "r139" ] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Axis]", "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Domain]", "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "us-gaap_VehiclesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VehiclesMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vehicles", "label": "Vehicles [Member]", "documentation": "Equipment used primarily for road transportation." } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average Class A shares outstanding - diluted (in shares)", "totalLabel": "Weighted average Class A shares outstanding - diluted (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r202", "r211" ] }, "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesIssuedBasic", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average Class A Shares Outstanding - basic (in shares)", "label": "Weighted Average Number of Shares Issued, Basic", "documentation": "This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic)." } } }, "auth_ref": [ "r44", "r45" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average Class A shares outstanding - basic (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r201", "r211" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Denominator:", "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "7", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "8", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "b", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r4": { "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" }, "r5": { "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" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "SubTopic": "405", "Topic": "942", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2" }, "r9": { "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" }, "r10": { "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" }, "r11": { "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" }, "r12": { "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" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r14": { "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" }, "r15": { "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" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r18": { "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" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-13" }, "r20": { "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" }, "r21": { "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" }, "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.19(a))", "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.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r33": { "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" }, "r34": { "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" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r38": { "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" }, "r39": { "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" }, "r40": { "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" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-13" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "272", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r52": { "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" }, "r53": { "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" }, "r54": { "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" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "310", "SubTopic": "10", "Section": "50", "Paragraph": "11B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B" }, "r56": { "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" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r63": { "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" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-21" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4I", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r86": { "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" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r101": { "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" }, "r102": { "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" }, "r103": { "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.19)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r104": { "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" }, "r105": { "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" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r108": { "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" }, "r109": { "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" }, "r110": { "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" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r112": { "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" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r116": { "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" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7" }, "r122": { "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" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r125": { "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" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r127": { "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" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r130": { "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(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r142": { "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" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r145": { "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" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r171": { "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(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r172": { "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" }, "r173": { "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" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r176": { "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" }, "r177": { "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" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r180": { "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" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r182": { "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(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r290": { "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" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r295": { "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" }, "r296": { "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" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-2" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350-30/tableOfContent" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r330": { "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" }, "r331": { "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" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r344": { "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" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r354": { "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" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r365": { "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" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r374": { "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" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r377": { "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" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r382": { "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" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r384": { "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" }, "r385": { "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" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r396": { "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" }, "r397": { "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" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-4" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r473": { "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" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r488": { "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" }, "r489": { "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" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481435/852-10-45-14" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "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" }, "r519": { "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" }, "r520": { "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" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r522": { "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" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1" }, "r525": { "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" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r527": { "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(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r528": { "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" }, "r529": { "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" }, "r530": { "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" }, "r531": { "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" }, "r532": { "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" }, "r533": { "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" }, "r534": { "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" }, "r535": { "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" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r537": { "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" }, "r538": { "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)(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r539": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r544": { "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" }, "r545": { "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" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r547": { "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(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r548": { "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" }, "r549": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r569": { "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" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "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" }, "r574": { "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" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r580": { "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" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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" }, "r590": { "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" }, "r591": { "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" }, "r592": { "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" }, "r593": { "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" }, "r594": { "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" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r597": { "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" }, "r598": { "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" }, "r599": { "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" }, "r600": { "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" }, "r601": { "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" }, "r602": { "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" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "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" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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" }, "r627": { "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" }, "r628": { "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" }, "r629": { "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" }, "r630": { "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" }, "r631": { "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" }, "r632": { "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" }, "r633": { "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" }, "r634": { "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" }, "r635": { "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" }, "r636": { "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" }, "r637": { "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" }, "r638": { "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" }, "r639": { "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" }, "r640": { "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" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r643": { "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" }, "r644": { "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" }, "r645": { "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" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r653": { "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" }, "r654": { "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" }, "r655": { "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" }, "r656": { "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" }, "r657": { "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" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r664": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r665": { "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" }, "r666": { "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" }, "r667": { "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" }, "r668": { "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" }, "r669": { "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" }, "r670": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r671": { "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" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r676": { "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" }, "r677": { "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" }, "r678": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E" }, "r679": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F" }, "r680": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r681": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r682": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r683": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r684": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r685": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r686": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r687": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r688": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r689": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r690": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r691": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r692": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r693": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r694": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r695": { "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" }, "r696": { "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" }, "r697": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r698": { "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" }, "r699": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2" }, "r700": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r701": { "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" }, "r702": { "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" }, "r703": { "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" }, "r704": { "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" }, "r705": { "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" }, "r706": { "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" }, "r707": { "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" }, "r708": { "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" }, "r709": { "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" }, "r710": { "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" }, "r711": { "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" }, "r712": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r713": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r714": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r715": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r716": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r717": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r718": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r719": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r720": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r721": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r722": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r723": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r724": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r725": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r726": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r727": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r728": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r729": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r730": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r731": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r732": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r733": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r734": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r735": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r736": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r737": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r738": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r739": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r740": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r741": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r742": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r743": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r744": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r745": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r746": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r747": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r748": { "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" }, "r749": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r750": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r751": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r752": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r753": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r754": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r755": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r756": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r757": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r758": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r759": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r760": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r761": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r762": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r763": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r764": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r765": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r766": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r767": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r768": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r769": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r770": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r771": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r772": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r773": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r774": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r775": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r776": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r777": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r778": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r779": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r780": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r781": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r782": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r788": { "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" }, "r789": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r790": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4" }, "r791": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r792": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r793": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r794": { "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" }, "r795": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r796": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r797": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r798": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r799": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r800": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r801": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r802": { "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(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r803": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r804": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r805": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r806": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r807": { "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" }, "r808": { "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" }, "r809": { "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" }, "r810": { "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" }, "r811": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r812": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r813": { "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" }, "r814": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r815": { "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" }, "r816": { "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" }, "r817": { "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" }, "r818": { "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" }, "r819": { "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" }, "r820": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r821": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r822": { "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" }, "r823": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-10/tableOfContent" }, "r824": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13" }, "r825": { "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" }, "r826": { "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" }, "r827": { "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" }, "r828": { "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" }, "r829": { "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" }, "r830": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r831": { "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" }, "r832": { "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" }, "r833": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r834": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r835": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r836": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r837": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r838": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r839": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r840": { "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)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r841": { "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" }, "r842": { "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" }, "r843": { "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)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r844": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r845": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r846": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r847": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r848": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r849": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r850": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480682/815-20-25-6A" }, "r851": { "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" }, "r852": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r853": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r854": { "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" }, "r855": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r856": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r857": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r858": { "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" }, "r859": { "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" }, "r860": { "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" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r862": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r863": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r864": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r865": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r866": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r867": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r868": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r869": { "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" }, "r870": { "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" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r872": { "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" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" } } } ZIP 76 0001699136-24-000065-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001699136-24-000065-xbrl.zip M4$L#!!0 ( &M]HEA/1MF:JPP .9- 8 83(P,C0P,S,Q+65X:&EB M:70Q,#$N:'1M[5QM<]I($OY^OV+.J8N3*E 0[]A>5Q$L>]F*C0O(9O/I:I & MF+5>V)%DS/[ZZYZ10""!99^-R5WBBFU&TDR_]],](Y]- \<^/YLR:IW_X^R? MQ2*Y\,S086Y 3,%HP"P2^MR=D&\6\^](L1C=U?%F"\$GTX"42^4J^>:).WY/ MU?6 !S8[C^\*M7XYXO696FA8M-2MULUIJC2FK MC/36N%&I5N%GM?YO_0@>A=O5,WZPL-DO1PYWBU.&ZY\T=:U2GP6G0]WC@D]=O^@SP*H"K,8W.7Q00JDHR'*1_Q M@.@E33_[A/?';*69HV("_ 7>[*2B56LP_8Q:%BBA:+-Q &.U1F),,A4/)I@U M0?9,9'-;UO%KG=NVX-3>QF-I@\?&)H]EY/&RVQ\,2?O:N+F _T,R[)%A^P_2 M-SI&]_?VYR\&:5_U#0.OK8L@FWD0527%?5/3:RGN]:K66N?^S] /^'BAAKAK M@3!.*C4-=/5*$DEIO8H2&4ZY3V)>]Z*(ZA,547A5\K*E\N']NTKUM W1P<(( M(3]])" IAUJ,L/&8F0&_9^22C41(Q8*46P459T8+0EV+4,>#D-2A9A#Z!=)U M3:U *+E@-IU3P8CIB9DG:, ]EWP(IHS(%3K1*"-#^C"C"R:.CS\6"%X?]MOD M5\^VF/ A*@%)?,PA\L'C>-4'@Z)!"!//Z 0B0N#!,%"[9&!M$=?'YX&\Q*01 MAT@ZWMF>P"U:'A=H:BD'*&N-M -$@V_K_F!>W6'[RR"G;U\H&T^:9MLTU R)2PV"FW 6+I/@8Z3.301X>V7B/8&QEG6=&74Z+#,#.?>K:]*'IS%V3OAR.?6QSG!85F MZ7#L"4?%DB4%]9@ :OX5W8(+PP\ -0#MI("#;C$\%F@L51!9<5_I3/ M4.V@?A]NX&[,"M!?P(_LP9Q2=\)P== T87^%8'INZ(R8P(4R)K:YPQ'NV9R. MN,V#!811Y'V1N=!2+K&X.N0KSKF,Y7X(0"M; MNYB1*Y+0XDE2:ZQ# RFXJHZ2VY= RFO94OH\%0'/!$U04'(4#>0N'%LF._ ] M:@*$LZAK,C+GP90,,+-Z;AX9E+5Z2@8U*9>]R@!4$2L6>,J%]; R3*M/JZ3L M7HV]+=8;&OWK >E=KHJ,9U=TM7RNK3>T?7HV,GG3^U8@0[3FRU[?*$3)%-,& M!#P7\CZ+BHQ5?G.XSQ1.\V!$D(GG6?+C/;5#B%HC7\&,^(0!'=T*%W*E*M,AZ- MO35R8&G-$).:IREU*\6;Y8M:K%=S^TWOQH:>GFAU[!R=:LI;A?:@V=!SE ,<'%^Y0@(D MA>JO#6EV^^TVX?)[[K_ADH/>95]RO>?F&JZ-I@65K!4*:6!0#\U@(@^2A?2V MJ,"1.0,NP"!4A5%]&(7X6%4$V0 4/X9'$(KUX1E?)4&BEXL.D()>X'I"-D9F MX9$Q3]MRP-?] %;&&8*-\KPFC;]4(E1S-/)5&T 9!/8J@*P!EL-4 M0-CB#HN;]3L4J.$U8<"4;OBG0,NCVA]AQD7.%CKOJEL8;,5/52UDH9NS4UK9Z":W6YT_5:!I$6/<*1\DX(]"J+ M;FYFU:J[$=N:N>Z?W BRB3@'^ G @Q'V2_=SKQ^!FQ'",^8HA 0?Z.HQ'%GG M1$X+8=L,;32WP(J6J&[3EX7$5M,'V,EV.]YH-N6S6L@=M><4,> 6Z9*W7-.:FS4O5C';NS>OH/$F M:+RR;S-KINJ806K/@B[TXJ3O(FNU?<#NHD>W9O5-T=*X18V,K M+&/KA>Z**HEF=K[0LM&3SNWF^;RPA##G&5ZNRU[T9A@IK7H5VX\JH.._)D#* MCO75M\Z'+:WZ2#X$S,+'W)3C;Y(.C0>38:O.3W0E<&L)T!9MRK\ ML>5F>J[%59:#7P.Z:F$HDU=&+I@#5W!\',)'F!"L>[6SK/H+<+LLMF1C+BZU M-IH=?MS9$S0ZR! 1 ;60LRK/MG;F:JW9UPKKK^S3N&FBN MMF]SJ:6,N_Y(6C/< '=$ECOW^Z<8#'RXWE>CB9T9;%T'/ BQ#8!C3-%+ER<- MXCYXTK)8)IR333"*K3[TB7MYCB&RR[S[)1EG8ZJEK.YP*;/!,F]XY6[B9O]:#D6<7H MQ^AC-GB:\%S(E;:]0-^ZO;A4Z01)0S(79!J=*E G><$M!;;BY(X^'AI93B&? M33"8WJG MI7(E ^C%NZWK0*^\3\Q5PP-+QA]&Y^O0N-@\":#ZEG/!(4:"-D80(^7)'B>T M SZ3^XB/V=MRMR$33^#="4GGE&[JT%Y9K^S8:'NBT')M/N^,&KW^;:_?'AIX MWO6V_=WHYV&K]CR CZR_'$C/N?'>:7>&7P<%TKWIY"QS-LA\,0:SCLR_P,F) MSPNY$T">D:5>A:)=YO;^7;5QZLOO9&!Z08#=6[BZC?:7^G[ ZKN!,"\5N(WV MI)P.F(\AOK2RDY&.T3M@^B\@B>QVI&LJ(%64R^IH_2O$DA\I<;2O[=C#.1)YY_IXX#2QRT-;7*ED6OS@@D'0N3/7%$Z M30GE@)EY/&%IK^5IZEP')F4W.I?K'7*ECGKTO%T8_U_M7M?31C9VKYP4.Q37)X;+Q&0!*4<$\CV< M;I=+P<),YQT\Q6( M2OIXTH^:OC\;-X!C2/?F=V,PE'5KIW=]V[[Y_G^;N'^T('9XS= #4.8KM$8/ M@*O'@]RM8+[\JQJ'Z[ZONEE#OOT*IP0E?DSDAU\ M%^Z3^CMKG^3?=_L/4$L#!!0 ( &M]HE@%MRY(5? )JI# 0 =VAD M+3(P,C0P,S,Q+FAT;>R]:9?BRK$N_/W\"KW8][CW6H+6P%B]S5UT#7MSW5U5 M+JJ]K]\O9R524L@M)*RA!O_Z&Y&2& 5((""!/,NG=P$:,B.>&#,R\M?__3ZR MI5?J^9;K_/4O:D7YBT0=PS4MY^6O?^GTKKO=O_SO]G_]^O^5R__WZ],WZ<8U MPA%U NG:HR2@IO1F!4,I&%+I#]?[:;T2Z=$FP<#U1N5R=-NU._[PK)=A(&F* M5DTN2W[UKC3%;!BDVBR;5;U6KM9K6IGT:X/R@)B4-/NM1K-9EU^N!H:JJJU& MM3PP3;5@[)/C;D[X7/EQ7W];#FVY5 DUN? (XZ/M" !4!<> MJM;*2K.LJ]/GS#WBO>_9\>M5?>9!R>6^%TRN'Q"_SZZ%+^%Z34\NPH>8TTG- M/%.I?XY^C"]-F[C::K4^OR.!DN>9=.%AR43AA[D7 U'29[..(II25K2RJDT> MXKM536VL(HL"9(FNF)VNM>[R!=;!4'ZNN1Q_[A-_"'>2XMC6.. ?AK;[U?X874B_ZT3),Z[$_X_1ZTB&<9T>O?@R,.=Y1O$_B01/&99-,AU#H]16M3(2 M9MO7)^IT^OX[^,:?O*%9:B/UBWK!(USNFO.O:)7:?]]A!AUXNLG>8).7>:H- MK'=J@AZW49RBM^E*J'1 @3$&]5. C=)QY3/5#$.2F+1NF[XA?Z;NAQSXQI7(5SYH-'6>=?$\9 M,)-/EHF?!Q;U)#8DFFH5KKM_FP?LXLWMY*OYIX\9QY)/H,J\ .')4%%65/A? M-4+8$IXS[5-?/]AT M22:W<$0LQ^[T0/ M^O5SZO,GI)@,(P-S(DL3Q/2N M8GTXM_R4;OT+$B8OM# IB_/O*+__FZ5WE0&W,SVQ6$VR)S!"4Z"(L8[_LZD?O M)C\J:WQ122_'=GU7*H'![:&@3J8'WA(,:_929@%)X'I;$G3I?OSRACKNR'+2 M'IM5?6F:_5F(GE,W3NR'HO6?=-T_OYGG0>^]6M"AZMP2] M#ZI/5(4W@OM>CWJOED'GZ1S_6CR).8BZU+U'GZ?*#ST[/_0" M^<%=&+R:'V]#\^H)'D+L)_I*G9">IX1P%]CRPY$CR0]^]Z:R.8\8_/P1# MZIVGP.P]YCX3]AQ)>O8>0I\('41HR[,2.9- >-_<.9+LG$G8O(D[^5][^^\0 MUY;=T=AUX*.?]FHVIE,)V#7N O;]9$@$J\L:=[F G#3OF*:%Y3_$?B26V76N MR=B"6.ADZ,]=[)^3_D\T()9#S5OB.9;SXI\,X;D+\?,"WS#"46ACW20+7/ Z MCP[Q::^TZQCN: ^9@#WQ@KO@/B=3?0[)R3^3G+GCG ME/PF&D_*C>< %_XD.#GT/'AC'?P[DV-XZ!US2SR1] M<59J=S^E/#K_Z8N+SE05R>I3SY0<(U-5)/U//6%RT$Q5D80_]>S(L3-51?)" MI$J.2G[^LQ\7[=EIQ24E]3/)G9RK9U;&O^!\^4YK1P45%9//JX_RE+ND9@E O_3X17_ M60(.W2H>&,=_S'_L0(0'+O$?KE^>/S-7&5A8OK7*?V;@HI-P!;*Z=O*YB*-L M!"B._J>>?SCP1H#B"'_R=05'WPA0'"_X3Y7P$67MB?R<]1?<:6K3SI<179=Z M#&+CC/BWY!$Y>@QRFP_X&OJ@AL&]-0"I/C.)TT8A=S9][P64'B!)HY6U9L;( M9/;272*3&K>!_[&8,B],LW3>24]P&Z=S ?[C5#W7N W+'ST7)A)\/-H N(YC MH@D=XS.^?F#;^'D+^HTXYJF4(]6X#8_Y(GF!>Q7KW(:IN4C^-;1L/!4%KDO^ M[(+7[KXR'_-D2E/KW :M)\.-(F6#VT@V%S>^$V,(1MS[F+WP9"2"VPB668=/3@3NW M43!_9"\2[:<=YT[;]9Z>;W/:X>ZA*5_DB1SG$?7>A9YC!:%'X<([ZQW_.AEM MWSB/4/?@+"A2"DX[OD7]@^N&84 ]=#'=0?!&O)/9^MHX[E'=Z3PS0C]P1]1[HC8[QMH?6N/3$0AN0^ 3X461#!,ZGWX,5'.L'SOA+C)ZBIDY$';H/KTV%'D=+!;;2= MBQV8\^C&+R5PW>(=K$K2HR=3;]?D-OX^$;9P4*;:Y"Y\QY,",27BVI:)FVAN M<5@6G6'6-3&"T/^#VO:0$O.;;707?O5QS:G&;)CH6BX7)*!)>W";!>(37-QH ^S/R^))1Q5UF MCRM'1&BP(K'&;=IRE09['M+#JZ[LKL\E8XG;G"M76!(Z*B^NN$T:'Y'-_P"; MBJGG)[#'"WMAB<^^W?5-ZXT^_IK#NI]*JGO2<\8)<>!++6?B9\"?R0.R=YQI M<9Z+D99+QS2W2Q1'LMO[T9Z;,;W6%^JY M V_R2]IU(0/'DP%N%YK.R@X(J '4N%M].I=4 M0>:)KDI71W/KO'B4M;4[LXQQ@67&JL+MLM:I@_A4M1H/C=%G"8%5LEHV0D27 M%M-@6U7VOIBR!2+T8R""NVP\2N+#FT,]W+6\6%J!G2^(<[[RR5U">BTWOGV[ MWC,?]@A MMSTNX-*B<,%M(O)R<3%?;:$6Y3NKW.7;[U]0_'"OPG:F)RS+R+]VL?[ CZ'/%\H8&3RFW1;6](//I$QZ%G M#(E/69K19>LZQAG*H'))3YDYDCAI,9=\H=GF3D6D[C+^>=1FARSSO<>BWV ?-=XMK"&B:K&7<)I_V6V?"#V MS''%;8)J-?>1X(N_WKZ/J1%0\PG,A1/2?[C88;Y0,W:>[.!4;VQZ]K8 M[&!R*M[9;K#2NWF:@]Z?B3!,>Q5 >WF2H!CJ-KCBIWR2D>F7,DR:URESSB MD3G'DASN,DI9F'/M>F,7V$/O7>>L\TA5[O)(?+)G_]+SV7J_@@# #3V#^M%' M/"J(#=ZT7MN_PC^,:U9#K?4;#=IO:;6C]OM[7=4-KF=6F:>A-Y7]0'T[O M\8,/&[@WLISRD&+WR:MJ;1Q\>;/,8'BE*LK_*LU?1[P7N#1PQU?U<0"_^6/B MM'_M>Y_AH='?DV='/R9W&N!W>%=_ C@H@\&7 4RL/" CR_ZX^LLS\->7[NF; M].2.B/,7V2>.7_:!%/&%OO4?"H.!<;&/;_% %>6+#2Y/,G!54_[7%R17V:0& M @#@<14Z0"2\"L9*N!F+-/3HX*^E/VWF%H2LS^BZ2>Y PM /;<&OG\D"M6=H M'K"KXXGV73R)O SSME_P8TU5GH(-[8"9(@+^6]-+"9./APY62Z89(#,9H8-"8F":8U"M%4N$Q MR3L^L\FGR<04ZU6@!9M\1 >#8@%K:27 X5W;@*JV *I&"JA*[1_WW>?;&ZGW MW'F^[2T)73(:7D;;N[W^\=1][M[VI,[]C73[?Z]_[]S_=BM=/WS_WNWUN@_W MQYM"*],,_B#^$% 3N([\WW]2Z\J7F\IU1=*46K6UWCZ'C'M5["8CNOC$F-2ZNG$-MHJ/ M%6,E9E,'<$%;5WOVP2/]3I8>?SSU?G3NGZ7G!PFL_S.8^$@%J[KT\"2I MM4_F+]+#G?3\^ZTTXQU,/(/.]3/^K+;TZH1>2*G,SIIZ"'.[D3B1_7$]*1A2 MZ=\)@J0HP)/8.<+)](JUC%E"D]+4=!V!*ODE\)%1[38*EN?E#YLRET?PB"'> M5C;)1_F#$J],G40>]5+[.Q9D12C455G"-,DJV3PJ,];!NLX/K%U/F%YA>@]A M>I\]>!OK2;C:]@Z([4^,;S4VOM6+,+[/3YW[7A=-K+"^JZUO, %18GX'GCN2 M6$PC!:ZT/I;E4P5CAR?+QZ2X=&>!@KUG)ZY><6'%N'8I;EE2'VD6D2Q1'#5< MJE#+>E-O*:?A&UQ&CN%88I@QPY07>$_TQ?)1(078BBH M<)1LRB:#GV[?80YLQKA:X4UF*A%?\L?4P#4_4[(LX1WA4-?/JTKP+6,_B D98/(X3N*2">^XG.F476CU+ZA-GDC>)C["D][*Q_[] G\ M3-Z[<8V#P8@\[VDT2VV]5M9JS;J*W737T*YHE()V.4Z<\HG!3 )_W,4N<]*_ M0L_R3"W&L_[#/O^P#4\YB+[MD'=HQ3:S'C_^#I_RIB7BW2NV6IDC?Z;_.Z&/I8M% NWM!S8J=&+F:,'[Q&\ M&C [V9T>/"_DF;X3_Q 2?#SS!"(HH0RF&J 3T_L7X%0PQ]?.X'?FKRHZ2*EU15)%=D%#7=#Q*YI2T#DI:U1>EXI>\M3?? M7(#'X]!U%I)S>$Y'7:N7F\UEX\E_7F2:\_GO/S4UM?'%EP)JTS'.4W+81&4) M,&B'""0)(BHB&7/B)W(C2T7'!V9B#S2#QP[^C1-;U*.F- X]/\0,5^!*< 5S MW%7M4_\7U"NX]- Q@JLSR_GHS4I+:^9*U*Q.X-3KM4)2/FJMHJH:9X-"2NE; MY*&X]_I7+$;BL74(?$J,H63@ 5+;F,]SH(1'F";O?8SZKOUI.S?B#.AP'R\% M,$#0=V.(#1(ET)%O0PN^F2K2/+%I(T8$_$COQ1Y;&Q)->LH.P"S(5#_C;6&=%:Z6*0CAIE(3YO@-*!L?[3]7Y&PB EC]BC4_CNTT*4%3[9/XPO@P;%7.ZDA:; MJ+J64'5"U?&CZD"Q$,F&F5")& :H.FR583*9]]!E2OU6 N264W_P1Z CX2U> M8NA!7O"4^@]T%>%IX% AT5ZD%\]]"X;)KQ5P&BD;FDD'EL.JL]EJ#*;(-9CE MB@&RG]4OR64;+U@YO,F%Z"3&%Z\8:W*EYBMGEN_5\N=[ M5SVJ4=$;Z_?&9$ZMMBJJUBJF\!!NJ-?WE*5-K2XXC1A\6BCO78-\O;C>1TH( MSBYBDF?$%TVC<3P.]5NZ'.^_)"$OD0O=Z+1@6K>;%7?8Z2QS\?RX5OVRS\*B MHV;CTTSX!;#P]#G76^7$G!GW\AHG1I>D[^G&K:%X\/.FO:$Y1+[8JMI3@.%M MNGM\X2!,J/(;(\IU1)/-8-1R@/'D5B8&:R(_+'5*C5>M05I6CN7BP%HY+DNE MA7X4-<),60^-M,V]$'CBN^P/?/F;!:_&<-2!J;FH0U\MGUF_^-PF=$YQ_PM> MC(?CF,0S?0EK/RTSO<0G60SY1.:70>:BP+P)+)'(V"J1X0^I;4]2#I\ ,"R? M$.TSS!"M_U*1_DG]XZ>>>\1#&# U"OIT'IA.."J;+NN(B@\$YP L/CQ+F< 4JWQKK3;FN*QGG_S7[_-WIR,XM27D2#65G&RR/WX%.,154[2 >.1:*D;UUY[GS]=HL]BZX?[I]O[Y][:3[$_A:J MSTR1-BNUG'7T*Q=[6I5ZHUK(HW!0ZY^T_=ZT33W5#JYU%(ZTSOJQ9-^K8MFW MU2IMCQ3G@,?@=N9EK[6"5^EN%UJ0TB9I/5Q#@BWPL2 M S]ZJ?W8>7J6NE)9NNO>=^ZONYUO$L1;#T_?.\_LD( M%,$B,#9C\+B],PI1 M9<)>%0'(>JF-)PM):N50)DCPK2"^W4T2^\*/.#8/\_H1P#YUO1\A)(]/R6O6 M8HVI"8UY_+'DX]MWXI 7IB@9ZTYU&G%SC9.>@R_=6+X11HV=<;VBXQ#[P[=8 MUG]JV:Y=QXS6O/&:)^J'=L NB<\-=1UA\D[#Y"'3U::P><=FVW99K21,T(71 M._Y8 MA&IE7,:^D4*W\C*6/,QKQ;JU*G3K\<>2DW&XLNP!;YA>??1<@YJH2H7B/!'% MV=JL.'E/IHMUGQ-8]\%^NM'"#Z[\/#S_?OLD5GV$Z3J6Z5)K8MGG9!GWC;X0 M.W(V6(,4X6V!S--J(DP[-M^VD[QFHC([0F<>?RPY.8?9+.F.&('K"75Y M*NJR*=3ER0H=[D$7R^2\C"4GXWXX,ZW_>\2.]F+=_CO$$YYF>J!BTNN'S[98 MQ.ZH4*XGHER1S4*Y'I]OV\EH-5:N-:%)53FB:C, MJE"9IRMYC5AEUH7*//Y8_=9YNNO>_27-\3_A37+(I;C)Q<.XDX.=MS)P9_LP$QZZ&,[1LMAG4A]NNX!.,(^03X [-S0DXSH MQ!0IFG>T?XG-C_A^.!K'GUD9_B!$QPJ/Y&%/PFMFGQ8_"1A*7@F0!G63-)CACJ+*?^!"#,2YQP-BJ&1$;4ND#S>7HS9XQYEO\S&FGH M&.#" >D0T+(T@7>.V'D:LY?VZ8<+/S#J MN:S8-L8W?/*!*>S H'B0B!BE]26-[S@K?X@0EWY2.D;! %*84>= 7!P>1(O# M;!0N2]$9TSXN,Y,VJ6]X5I_B+.'M"68?0;ZDKBPE)0+2[(KSS+D:.(^.XX3$ M7M!($BBCOTV.8_N@"':&[!MJ4#PY6])5UNY0ES[A0^+WLB_F'CC169MF$L,; M7@'74"O:8A?& 4KN-I!Y'J*CR6[+R6G@"?Z96AG(F>$LY\5S+V(U MGCL.%!VY'DTT;812^'(.I#-LC2FP3%B\*:)G&G4DUX!)R'A1C+/(SV *8U:\ ML>$N3@[\$0^5'WL;X 1?Y,4;')DN9E(";T/%B>T_@3@#SQW!+%R?)IHP&C!* MS6I!S=0#D2?3W5FKE^69N0.UK=$8P&0F!\NO,7H,GO&]\.6_<1O4P$INH!9* M7&!Y-/C OKS1R60IDH.*?\5/">N)[;-3TA(=%;T#/CGQV>F39LV@/WWZ[Q#O M??/P0#6'P, MY8AA^,WR9\YT@^F2,9#18()GDS<9GV[BWC!BC=A S1#(@GVIQR8V+EZ/.)F9 MUCD]GD9W1F4Z.[&$=7Y$)YG9%3K UMB)*<2FUY9GA"-L\6G@*C3&4]$)2SBR MY%"Y1>ZOEH*]1YA;5-?O5;ZL0L)<782Y(LSE.LS%'1=1J-6-_K.RZ=:B9L@H M O729FH<:>[HB,91;F6V 7GT;UKOH!0%F9$,K4UD4#@"Q77G^OE'3XYQ<7]= MD3KW-U+OQ]=>]Z;;>>K>KLYT<#.%A_N;V_O>[0VV@NT]?.O>=)[AP]?.-\#V MK=3[_?9V3;Z&EUE\"AT2FE9 S5_.K+=L0ZG46K5".L*J6J7>TG,]:O7W-;68 MXPW9H+;H4WNP])]'-Y1,(;W5 M.E@DF,.Q"CAENOYC+'R%F\S$)+?0\YVKUB?'S MQ7/!/RO'0S8,2L$UW,>:]EXU> =B<'00,Z[[KIQXK,?CTYTDB*(L<\79 WE6 M@?<70.T^Y8R2<=8DRRTG _9_/,M)^MSC@](Q#;B;O"P0(#=X]G7_$33>@NTH MX_57]4JC=K2LY37QARPK;> ?F%I[)7840:')2M%12J%??B%D?(4XZ3@F_N=V"I).<$T\ M#U<+_H''&64[44E/3E32U5);;55EK;9\G-3\@6/;\ 8M3"X>Y;=G:2I)2,BY M2DCM"!*BX9ECNMQH:9Q(R,6X/YWHW%%?\B!T F[V;2I+#F4U <2VW3=9J,(_;,\F))+[5UN:GHRT?7H?W/-8T-HK#7 M:51Q&O7JLD#(N!*-)2K6*[4_-CBL6C[(IFKJTU9GFZ"XQ*][&FS),FPAHC3D M.J9?=M-BZ=ID;W8^2^@AD+1)&Q2().P9JM1DO:ER@B011+*3H;'*P?4LNBE/ ML$Y8LCK(IRTL&]1N0LJ/WSS7]_.*!VYA4JJR4FUQXBX6F6 4V-F@:'?#3C-2 MK77<++T3U6%X4EO+A\^?]F^KZI6M.-IZ&\,HBK']6JW&HLKW\(;_ST\;C1&^<-C[B,5:W)-67GE=W3]>:/H_;C4SB= M%\E&EDN,+F5W4 [A0^2_[VH#+B,=N<$&3.B<)EEYQ067$*MR51.)[7-$T@;M M72B2< E1EZNM.B=(.K2[?0PL=)V ."\6[H)*4[#"OTAW!Q\[FX M"<>$"[N;GMT6^7A"IZ++BE94PD^XJSRA9H,NW1(U-84WU%Q,)OB&#JB'/84" M\AYYJ"(+7(#Z3,C:=;#YV3-YG_@6>44##WY15%G112W%.>)H@T(M#D=:5"#9 MK(FLZZ&SKJQF#0A>=*7$F8O&IB3KM*KH?D+;O%*AE]HMN=KD98^9<%8/F5LM M D!5!%!M]T+'T_5;N2U,6Z=F-]%CMWH@[K+0V3?5#K=16 MY5JC)C>;13GP7-3=K?'NA6P)V=JJQC"O;-69;&F:7*L7M7+#5WDA_Q%/>J.Q M;Q;I6_;TT.'H*.)"&X_I0'_3#7%=-;V-5L'>=/&CNY@48]).RYZB0O34.L_M MT)/6(6/R@=O=12NMRVH4E+&SQF.$CNWV%-0:I7:]+JLI?5!.-FDC).)<)2)C MAY#=)*)9:C=4N5G=V0L^LRS4L6VA%]*U^]>S>T1BH6RS:4%JST0>6\I2J]2N M-66M*1HVG2.*-JOC0E!45P!%BERO\8*B@J(3]MX&TZI<>Q^WQ'/*>"QCHF$_ MMJJXOHQEL@V:]6OHP^-]_]H=]2V'[?C"LX: (" 7U_&):>SK1&P^MA0:%3>& MR:JZL]#PX]@+F&55O8>#&:N$D9OJSLU$A+=Z6V.%^T:G! M6*8X[4LKD1>/LN.PA/^\G99_&YI7S^1]VJ&RDU!T5S'3(S&K[=Q433C2',)I MA3;?'YRJG,%)Y/L!,7$#@7@[N=N'(4>GI,N3'$>LT$6UXVY>^&RKAEU%J59J M-V1U]]V.PLWF$$<;W.PB<51''&F[-^43?O3^6GS,I)B+U,F7X>3D:O.QJS0U M2NVJK+1XR1@*=_EH;3YV15(3D:1IHEDJ?S7IQ:[\;>J)>.Y2M4$_[[Z,@WVL M6XI<;Q3EXV1CU0EXT1>+N0V:?&?,-92H&TV]SC_F+J:$=6Z7_"0O+7;*[V.G M_(P$Y=_FW, U1+E1%:U.SQ%*>3?+[P8E#:%4:^[<=_%TW>CC*-MO>=;])B=3 MBGSSH=8#[UUG2]<&EP1KBJS412_3<*7MP;X2D?>Q5P>RC5$4JZZ"S%U6*?\(L/N.:WO>RP@VME MK;ESQD*XQ!RB:;MUO^W1A(VG6[*J\5+;<^8M_M/[^Z4M[@EO=YOV?K,)O*UE M A?Q9$41A17GB*(L/?XRH&A@O5.S_!_JNSJ- II!+:90Y%\SEFQ13;%0M/^M>\A:W8=TZ[-Q?8] MIWR&X=VWKAS+AC=X(5T4UAGN=ASS>I:W$ZG4([R;AW=(>J=<; M$H^N=?BZ]W?+QP;';V'0>B3>@]<+L!CC'\0.Z?2IL0E6)G"LK9> 5>.I[6L\ M]5);J2C+_L#2%]*8>-(K/DV65L[ Q[?XN8\$GQT[&ZC?"8.AZP';S;P^3F,- M@=.'M_&$Z"*'AQE(1081R$#Q:+@2F;PL-^6WF-I#&/@!."(@S1MS %,8M0Y! M]:[OAXL47S>JEI)[5%M -?>HU$.,:BLVMB! @&'1S=C,@%Z+T25JZS8=C*AR MV"W5,,]KIMVSI^I:.F^I.I'M/6#F8#?L5'G##B]IWN,V!K*)[TL=(,!HY#H[ M^;SU#3[F-7M%3@>SM:7#V]C+8 [A[3;6"^',P'?T)5OY7=WZP<8&?JZN',[1 MS4OT-*=M\Z3R>[EYQ[72;=LX.+ 6I7:])M?4Y96$98JC5[9G[.PRE?PNJ2-U.?-FO1?BRS7VXCZJRI3/;VL]H#N'--@_E,:I*?G>V=;C!@3^K MJ;6#^;-YR;Z+LY7?J\T[NNV<+15;/51E15]6TH4XM'G1LP.-U?P.;=[1;4EC M+0>-]^707D9R+KO0Y,S,J:I(ZYXU4!L\-PLLVPY MDD'&5D!LD3;8\1RD"64?@;!=YSHB:VZS"8% M:[)U3HO :1(+QQP(:TH%-41 M11!4J+RA?=T(%E M6'GWK*DJ=@/65;FAB$YFYPBH#?IW#X#"IL"*(M>;9]:EX02.I$N. TU8F)P" MZH[&'AU2Q[=>J62[_G:[A4_78?FTDPKV8?SP5\H1C@F=V>;/ZUDJ1YT!OP&I M[VGP,'@F[[GEB.TFKM;J2U+TB_"(3QI@2RJY*( M84A32NVFQ@&""O*&(S!H M;"\PUSHXVC'LK]PL(Y$@\*Q^&+ >DX$K70-G0E\"KE9VZ>2PGU9HK;S;#*SZP3\Z$N&W@8GNP#H:0 ]+$G3BG*J M]PH]D7H& -V[3AEAXKFVC9W3+$",1_U=^KAOVBM^ :*V0#"# A7__"N_D$ M6V>=!^M5N;'[ 6*7%"!PUE>.50(N&)2Y*"&CS8_F?:4#9TPWQ!13,IG=1)L&-$8\DVG@R*KMRQ M_(HAE8B!J_[$^<#4H^,&Z%QX\+7#\I O'BN(]=C!#<&0^A2!8U+'IZQO(B,B MJR 8L ,\+!;\PA>L0UQEWCF9(4@\C"J&\V/79Z5]5^QP->N5?GFSS&"8H'CF MKIBWRO06TH<1A,'J6W@AM;K@I\W\BZ-%N; ::JW?:-!^PZC1:D/K]_6^KAM: MRZPV34-O*O^#V?WXIJ$W]5-?:+GO4?*S3 8PP2MBOY$/'T$YBT" WRS15]%K M!JGU\;J.C>NZ=PX&>Z-D)#N@65R/G>UT!8J >G@5C)5P,Q9IZ*%B_=-FGH*/ M\\P6=T' L)TBRLVOG\EBS\\U&D75CJ)2&ND;2CO7SS]ZX4/O&?[S_?;^N2<] MW$DPM8?OM]S/Y5/HD-"T0$'_LG*L,U"*0MRHV&"B-)EBK4 MTN+KK"W3^<:8IFC50F:[J?OQV9!+WYO8'5"$3_%PP'1GY(F^4B??+\E.4(+/<0_?H^>:H1%(7B3E.=>ELFZR.N'\<]H4 MSR>#K"J;-I Q6-QY[@C3'/C(/ZQ@>!WZ,#_JW;['J]\=WZ?P/W.+G3!:*ZK) MJZD[YY3YV:(H).9L)48]NL3HV.^IU@*)*:H:9#\2@M_ MYAOX<@FX=GP!5\$DZG*K*@[S/DN$Z<='F 8(:\A-M:@*'6%!SCA(O+.H#1"@ MWJMET*B?(>L\L+M)N8PN'>K&OB_[%WB]U*YJ5,4[!T&60-@481L;P>P? M855 F"HKC9UW.(F@Y&*JX[ULBPMB\^)ZZ3^^\-?0GZS*JMA8*[ YC\T-)U < M IQU *?6E*M*46><' &<)VBW=@^%CE1*Z/KQ&?/T?8Q%T_L\7CY/BVFB5(C?<^W<)TGHN#]. M4R 4W[G/E,CN\HBD#=YX@4AB9Z0K5YLZ';HA4[.6$#(.]K?)= MB..W896O0/E62VV])FLZWWZ?B"#VLYA7() T )(JMT09B @@-AN*'F5MS&3I MA3H46TR@C2#FR'(L/_!8$XBL&5/A#6[($L2T_BVB-(AY9X[.MQ&9<\L[]K]M MR=7"^DR+"(,K3&U8:]L3J*H,5*V4 [9Y M4)&I&3/:F((?=Z2)P7*EF.-"!6 M?*PZQAEX6ES9#8-):\3MVNM>B"^8\329&QC**Y/BWXCEX,$Q#\[TNWN:N^EH M%;ODZK*NB(,[SQ)7&TQ%3CRM/3RY6B_L\&019APDS."A--#(6X6Q2VOKLQ?W M]=+^,*;H CHOL0OHY[86#? !56S[6M0YHYG[F? >:,PCP]N3*W.+=*[;HFUVH[ M[VK/Q:L3B$4N%W193;>S^8Z=QM2/)SPNVX+>DNWE9*$3@' MK:OV5H=]H/NY0O4&[QY).2NE<^*;8P&BIA>V "'J'GC$T:8P,0>0,BC^:JFMRS5=]+G@ M*[5X@/W"J]Q[1)/4IX C&JM^*2#OHJW%GN. ).>3- ^PG!#($2>%7,?_RC@2 M7?>,_+A]#SP"%+4?%F5W%+&S7EM5T6%$= GIRNL);"]>=05"04W6]E\3(T+!D^J7F.X:?*.^ M?X5+74GNDP2!9_7#Z$3BP)6 (N69# 4[HQY3%&*3\&X&%'RR:0*I,T/T9[>8 MG%!=Q0YCE-NU440*@3L8@4LCPN16\*J[-"BYN[^@8A#Q?:, M6>[KP%_3#=&UX+ )__:CXP9MY^^JWA+/@0'[TIAZTK5-?%_J2/Z0>%0J2WWB M6\9V;NH%&,HSL86/U.LAOY=L8F/6)FJ+)C$!3G+[5\3*Q/HI4^M7*[652KVH MW; GX$ *Z/,TMZV@WRP&^G4&?=&55*PP;+:UIF6' 35S6MM<7M MPF[YGU2O_E3R/\O9OR+S/UFVR1QJ=-R@[?Q]TC_8!VI*!(9&7NB\7^I+;ACX M 7%P4NL30I=:D!#1:;U+MKR@D)"]$U']/ASUJ?ZX V\Z0% 8PC0%,K?%]!!PGIN0SJR),-.9,U_L1\5XL MAP5=C7F &A1K6H_5 7]()6(8[@C>_8&ZWW$#>#KFNV$P6#[_@N=OC8G'3FX, MAM2GB$\3=WPB61Q6VD+0L@PLASB&!9<#U@(Z@GGY"Q64,P2)AU'%C>=CU[<0 M45<>M=FQ#U_>+#,8)O(R@OIPP@ Z2MOX874VH(UG?D71XOB9C74 M6K_1H/V&4:/5AM;OZWU=-[2666V:AMY4_D>KE9*;AI-$RQC$OMSW*/E9)@.8 MX!6QW\B'CZ"<12# ;Y;HJ^@U@]3ZY&2&]J]][W-[B9DK*3D8[(V2D>R PG*C MQA57H&*HAU?!6 DW8Y&&'NKO/VWF:0/$D-4>@X!A8PZ4FU\_D\4\U!J-HFI' M42F-5)Q?=ZZ??_3DR#AT[Z\K4N?^1NK]^-KKWG0[3]W;WDJ=P,T4'NYO;N][ MMS<2_-5[^-:]Z3S#A]XS_.?[[?US3WJX@Y^^/S[=_@[7=?]Q*\%$'[[?7Q!Y:#GLMN^E+_*Q8 M;:/:6;#KC##1SU.-5%$BK10'9O&;XY\K\-/GY>\;S4J]JJ;^I%32OU_U*'A2 M(_V754]:_7U-;18VIHWOYMM#;- M2HD\.H]2Z3M<-_2E6S!'IO2=>,90TE5Y9VLDTZB*1C+?'0D(_0\ MZA@?4N#!TVR6QI.(^:_0#T91)B[C&N@)KD1]VLJ4S MO8O[CCF\Y0!G0G]P8E[&#R3]S29KY7:366Y9',I1DN';T%2 MFW$!\P314?C!" XMU*ZTW<=B>ZMPVA<5I6RBU/XR(41Z(Q4Y-8:,K?V4UG'4ETO>+6S '[R'=0* MB182?1BG)[=(:Z5V59=5M> 6J5R)-">.DMA%)'81K2"UGK8K)/=A&M MWBXD-K!PMH&E]_QP_;??'[[=W#[U_OM/34UM?)%N__ZC^_Q/[N>791O+JK&N MV,JV[K:3V "CJ15=U0O9;%*OZ)LWFV3\7F]4"QE3K:+7:YR-J5ZIJ?F>=)ET M:L"3&MR-J:85M5\9_]UU]G#99[[EF,YDC]*=&"L&.@0FWD_C\0RRUV'_7U- MQK@73A"I_40# E^:C"Q)[U!!EW;',,)1:&-XSDC#BCDC[,RM=D0))ND3%G5F MV2AY[G2[GU_49Q3K+B[L7RYYGMT@5D>W_PZMX&..),)^*_%RXLAUI%[@&C\O MU8@72 +>+ML!Y4==Y)EPCCWP&'OI4]8 ^(9QU(BMJ"EONZ?^Y,C6&;FA4X2U M/#O*"$!Q 2@^+CMT?=41&/>5V,0QL)A*NJ$&Q2Z7V--&6MMX(T,'T6S]1XY= M,9F-1GE;B[;6EP_LW#RTJ;,VYU5E^;R:A&5[I5)ZA47!)?DG5%ZT#30DW/V*5P?TFP5JG=U)9/8UO5E5 (G1 Z_H0NE\Q5 M>33 +:745ELM6:LNMP06!ECH J$+]J$+:ERJ A54@:S4JW*CL7P@LE &$V6P MH8KD^+OCQ57BJIU;2Z4?:8>:0<06VM+OQ;MRR<,G7>%G]7 M:4JVQ,+3X?4;7Y=[T5YP1W!'<$=P1W!'<$=P1W!'<$=P9V_LLB&O\]UR M7(]EN>YHYO9J&552N?W*">4.[.C86:GWEPNP9>LT1C4 K8ZI6R1(SI;,M(4VR7N M4NAP&EI_.RV\[[81W!'<$=P1W!'<.3YW*9&+QYKW.DWF_@+JHJ(14(F_$,Z57Z@?6 MNH:]9YE5S]L5HY&A0+?K^R$U;T(/RW)A5*X9-+^^!$4N!IX6A-%N]'8#^0>R09L=/$Q2I0,]IH$ M'8>>,23^FJ,1+RR-N$,ET-.$FBGE0&EXKP'>&\?/"(JDHL(QS&E+J M8% %4+@'BEB?%-P1W#E*=4]N)9MS :]1:FMRBX<%/($D(>>".X(['&CA+ W, M\[JZS5);;]2$FCTOJ&0Y@JY0>\UJ;O4&!S5=%U!PP]A7[B/G6-E-4B8E"FY$ MJEMP1W!'<$=P1W"'BQVI&Q(G6;;XLP6-_F))=,Y X(]+_ GM(+@CN'.\SC][U=W+ZEDMM1O-EE#.YP>P#4D: M'GP##?=15>N\P._0E4*F]7H4%%T3?RC!RRV3.J:/*+&!SZ;TZ<_K\/5(/8:' MM3CKWM\M @V@,W(=AI.;Y)W)LV[B5T_ H4S!H9?:2D5=3OE)8^I)K+!GFOQC ME+R,8B>QXB*X([@CN".X([@CN".XL\U*?VM]:#!QT]!1S.W45R&BE%M5#LX) M$J@1,BVX([AS?(V[(1>SF\*M<:-P+Z XYIX&DL4VP(ER&)$7%MP1W!'<$=P1 MW!'V3"F9"L^"EDZCG'UX=&7#/D)VUT,8^ %QD!2YY:15 M:M=K_"3=VF+?.[FCI-A:BD*BLI9[ * MV M3)TS=?DU=EHX8!9BZK,=Z:YJV^EAOH0^$/A#Z8+_Z0#N\/LC@(^BE=K6N MR=6Z=2*51!*>BJW$CIU2Z4@E *0BGDGG>NTF"]FN=+@M$/EB:ZDRW#\S3QUF8KHA8&)IHML^ M78Q.C$Z,3HSN9$=W666%-]2@HS[UDLI"[5Q/\2NFHF+3H4$[5U0T2^VZ(K?. M(2]Z H'4^<=*YQD.;93#O57Y87&O<@;!#@?"*2S++*(WG?FYJV71%5:KUVJ< M05DZ!^ 5EN5,+4N6LW(;W[JB>K+NVZW',]V;*H5DOM5I.# M=I1"3"Y*3'))R1$V;&4P%BRJD5TCO.NGE2-BN[X=L[=X=X#GI(Q<' ,"[K,;0.1=7JEDV02%EJ7D3>BBP,"K7C-9< M8,3LI]PGS>D-/(56KRV?)B9:MIT6JM*LP7:0^@>Q0SJ#J&70- $TRV&,0 R7 MB!%M0 5W!'<.H&VS['_8K&USVN\65DR !5>$!3\13 F)%]P1W#F /LZR1[5H M?5Q5<#5.5O3EVF@!J9.'E)JEI+=P2&$#PWI+UB_V./@CH.)[M.'$M/PH'8H- MS,]UUXDX9%%P1W!'<$=P1W!'<$=P1W!'<$=PY\@'8V_*7GRW'-=C]1M13<8- M-3Q*?(JG+]W,1BVKBCA^CZI C&O;3J?-PJ+8 7*$GL6_(;1P-<#HW@-N0 M]S M?VR3#QPC78U/<96XZI!774"]V3-YEZS1&-0"5IQ15M/>S[K'*$W$S9GR@JK/8$DFC[ MJ43>B&=*K]0/8-P75F)UR!V"[-^OQ*?FM3L:4\YCZDLEAM)'6Y-G6VSE*GS=:M^HOK5AW'O'VGGF'Y]&' '(*',=NQG7M!JQ85 MM>Q\*H' G] .@CN".SQSI\@$RUYT][)ZKI?:]=;._8L%P/@#V*9\# _. 3OD MJK%[R1>@P/ZX'6O;]; M1-HU.VJ. >4F>6GRL)OXW1-T*%-T-$MMI:(N;_R7QM23V%:L:5$4(Z6HUA$I M<\$=P1W!'<$=P1W!G4OB3KY=%8WUL<'$34-/,;=7WRJU&[*J+]>%B(Y-O*%& MR+3@CN .!UV\=]*X=84;C7L!]3'W--AEE]#))A_%VH/@CN".X([@CN".X([@ MSA9KWAO2#E%!^#?7]_'PFFNXUW)"(,?#F'ILY=&'*^P0*?3H>FPI,HC.M\$F MDZO.M\GM3>,>?$UNMD3-THE@4&@(GKE39%4,)QI"*[5;LBX4Q#E"<%.FAA,( MZJ5V39.U9I,3#)Y5NYA&*HJ^$ILX!I5(('TGGC&4=%66-$73=^D6TW<]DWKE M:%Y7.E#>=$, BH3327X-W/$5,L5W;KK43"H02X7.E45C<51:WM6^+6R^UU:K< M:@B+*RPN!_(A+.YN%G>3OBC(XLXJF8'U3LWR?ZCGINF7QB07*!2,4##'ER:A M8'92,#7E\ HF@Q?3++6K>DMN5I?SOT++""TCM,SQ29)+RZA<:IE6J:VU&G)- M$\&2T#(T/*=,["-1V< R\?JRTY*[2%R(LQ#G,Q3G7-*]];HNGB*>(IUS(4V(%5:W!(\:NS]K877G4)H'U M2K^\668P3"SOS%VQOE>FMY ^Z*8P6'T++TJXNM#T;.9?'"T:::NAUOJ-!NTW MC!JM-K1^7^_KNJ&US&K3-/2F\C\Z1 KQ34,OF<&8O-!RWZ/D9YD,8()7Q'XC M'SZ:JUFV <]FB;Y(K]5<6X< 53N*G5ORT1B)KSO7SS]Z M[J3K3N]WZ>[;PQ_\S^=3Z!!P;,%S^"6+0@%@PD"9>S45>>;+P8!M,O;I5?+' M%]/RQS;YN+(<]EIVTY?X6;&>0)PON'*,,-'/4Q&H*)$8Q(7P\9OCGROPT^?E M[QMZ16VJJ3\IE?3O5SU*52M5)?VG58]:_7U-;18WJ/4OW[!Y8#[$3NF;N8^8 M@J%N0W_)UM(04V+R2&QX"D&?AQZETG>X;NA+M^"=FTQ93S8US,50&7G#1S*" M/? *6]=:1I8$ON5 D.*&\%#37TJ#IV6!LL:#? - 4[1J(;--K<$]1W+I>63B M!!H%M[(Y$=@H>&"[;[XT\-R1Y$9[W"#PQW3/*SC.U-^@(C-0925*EI&VRC5A MR9;2SD9AD2I;&85=2]@O@V*';A2U?Q%*GWI*MZ@YV.R\V?9P5G;CA'.F_--F M>*34?;:IY=I&O#YS_^BY RO 7<2YL^]ZJ5UMR4UU>X^%T)PID*P82_] M#E)0O?#][\>R9T\46&Q8ML5Z'> JCS.Q<%+@LD\&NHUCS\66EJ;4_TCU&Z^. M[T85?O\1G)J%.+R,UU_5*XTH 78$@-S0L0=B&\$#XFJ)C' I^C_S9\CF/Z^# MP^8C!_<:9FD+?]LT/HZG,T/BW)JT5FJK-5FI+B_FGZP_(0"5N>_P/A"%VWQU M6567^Q%?C&WF4"T/J.=-ZR[ %ANN'Q2EG3GLXGUP[3PK,P^#NX3.UT!F'T3J MQO(-(%F0=@Y?HU%J:\V=Y46T?N<0-)O.X=L!-4W<([1\0-IQ4".W?2K*SSR-?%K..E=XMH7IW$=,-/F(#^"E1-_'U,#Z8@.<72N0;-?W-RY2"B=E8YXV(O&= MZ]VX83\8A';'6.F7-'$;4GUG-2N\V<, 9<>#C%9L8\V+&0TT:V,Y!W7V)QCQ MJ%*[SBMU M?[D%RLBJ:^01UCQ0*V<$$R*M$)4?_PK(#>N&_YO0\=]*JL[*Y9 MA0/+(7HV]AU?AL\R0G!9-$6+GK1WRM[;8.J0TS5_IC1_(Y8C 9.QG-SUB8UK MHP2L8'B4^O:'1?[M. M0N[HH)-G)'9N 6JP3*NR+$#"4>42684JX_U JHDZN:KLDB$0;NT6T+@>$N>% M@NZ5!L3RI%=BAQ1=6TH\I^R&@61;I&_95O!Q66YN@5[NU]"'Q_O^M3OJ6PY; MF(C.E7J!B _^\BTS/ENJXWG(#=8L(V),U^F,,*?V,%AQR[>$/?G=H!:KX]&5 MG<\Y$S[U2:CQ%2["P>"YA,"6 @C4EA?;3M4-/Q&5SS(9;,.?1U'?3TJ])ZI> M8@TVP"4/7'3'X:-!K5>VVYZ\>)0A8"MS<+(>5 'FX&UH7H%O]#2A92*<%P6NS6Y#"U?RY*K:.!M/_:2S)Y$= M]M&!G]F&PQ)C;'M&HM/%EIR])M!4M:(=#0/)NON,G;[$_%F1*Q/+28Z$R%,5 MFUMSZJ@Y%747AU<891ZQE#MC5@"8JA@[R/JH23!?S-/5/.,C=Q MF,6+&2*GR02N#NLBG76.D,F:S=J F9Q*MH[E!G*MOG,S#KX25:>M:1\].B:6 MR6K!'9]&<8X;#*FW6)!S0<[O8?1O3/IDP>\VXD#',1^0_%$]1IH<-=!9X:67 MAW!^^5#,V<"44V/CGDE9K8D=/!PI[$E^8DP^=DQ.G*RSLUMR(K-,):1^C"C] M[!$S?VC9*K6;LIJRD5*469XVK+;7U07@2E>44KLN:TT.<"7\Z$@M>R%-]:-G M5@V$,UUP(CGR;N;E"5OR1-SX-J5\;OE246\WJL+//A&8'4IY[P]Q&FKT9G47 MC7X81SLY! +&2%=CP)R*&1=$]8K$*5DF1 MJX6UJ-CS,9%GU28_VTD3EO-*_>).FLCB01[C_D/;_".HA([Q[]"*-F2R'=%2 M/RXGEUFO:/B*F7P,+=D?%"Y_!8'%="#!>SUJBITEVS;N(1^L&/_9[42D3&KY MJ0_J]6& 8A?_8F8O(M:56F%%Q"(/>!*A9%&PRF"CU&[(+86# M?(I(WAUJVT;!$&JR?O^ME&H+WG)R)^[^)MTI8;YH4&9=%M\C*G$57-=EM59 W+977)[?*8;9EANFAR(5>;#UQ6^&/H)NF(^W M@B&5+-\/@;FL:97M@B,24&\$*J$O.I04$7YU8_(^#+X!<9^!MC= VAR+":HN M.I*<,Y1RQ%Y9L)3!W.+.YUI-!A)P BA1>W9\S&+\-UYK'*YMXOM2!P@P&KDX M/-?X*3)TA9J(:T9:=DI:'@LAEIO/&DE;68B54,I@(+"_=[TE-QL[5\*?:'KN M&(YYO(J%FM9,/XQVN_60R_"BLA5D+!X@FD?)-H0;?F( VDM-SWH(95"N34S! MUE,Z8IS]\O*QJG>FJM6)-2J5;-S96 MC!:V'E!T#OH9"__UD*JU4!1I;&6YH;2.CZ)+J8Z\L7!%R#&Q/X7%>EZGI0HD M'X\8'KJV2;V+W!1=I.*=>B,3XN\0\&ELX[-:72[N$663IXVBS$YM(3#2L/I6 MKUUF1\TCJ5X_\*Q^B%3V4?..Z*B_FWZ]$)]DO6#,TO4[,>FS^\T:6<%TL_\' MR E,\>/;M^OOC.2X9#['C4>PA;DEB)U@6V_NHHB%"\PCW#8HXF/AKF[TQJ(5D.76*MSL M$N,3' M<(D+A%(=3_O4J^?C%D>H:'&[H+:Z6\ZGN+K]E_4EC45VS+F$&N+=2H@G"RK; MEQ!K#=9H7-4*V!3-167[OIOGG"8J#] _IP@P-DMM7=%E=?_-G(Y2U'ZBGO?M M8$ -UE&%OAO1J;T>":ADQ"> 9Y6MEH1&Y_V5YP1\>5AP0Z3HK&A'XI[7MNAJW$VQJ#.0N# N(CXYW,Y;SO&M0>A=;\FJ4L J E_6 MZ:2JR*<;=],LCRSUZ8OE.)CP@@AHS% AZLE7R69MCQ8GMX#AHK"NRXU643[@ MB44@YPVUJL83UJJEMEZMRK641"J7>T-/?.OE)J5-L*(RHQF?KS M_J9_/KJ$)U52 [/5JLI:2J/:\PQ\A#P*>5QP([D2R'JIW:C)!:02#QBL)8.( M6=!B[?%V\C]3%J#V9MEW/Y)AAL8Z4-%TP[Y-EXA\K ,;C8G??'PE0.(9$8$%VH"9W&:[P6JT55Y.Y"[ MQ A9.%-9V+!>GB8,RWAOEMJU6IT3M)]W^DF9I)]F;%A /0@Y=MG_<68RFS;# M\Y'932(;P6&-O+9 7O6B%K=/((TCD,[/U(JU3IN@7E5*;7WWE1&Q8RY?H97K ME%F<-7,B@6.F;N"X$F=@KH57H]*H<:NKHNV1^'?9'91#G\:G $EN/R!P(3N5 M8E*ZC;Z* Z]DC9S@$A@YRZ5D#[R%.C]M=;Y>FS,@/0Q^^-$)-0\QAKI.4O%T MYWJ3LY)9ZZ')5NN\$7I5Q0U^-57X0$)H>!>:#3[0(:5&0ZEI-G@Y4:P@=^I$ M[.RCYP(;@P_F2F')R1B7*]#"$L. 60;8S.N#]&TJ$MD7DKS;M%2]=+1FUS%" M;%/\-0SNW>"?--BF!4E5QZZ/]<*V7HGTMI"0(QG/O8D(Z]*C59=;6AXQ)_XY M0..01-HSYQF.B/=B.:PFH#$/:X-BAJ5H/JM*)H/W/*3,M+$N2I@U<-P #_'V MX&N'9;U?/&*#T?/8%N%@2"&L!/Z;U,&6$? 7JV\AP;0M.USN!_ %ZQ=2F4\] MS! D'D85/8*QZUO(N2N/V@2/S_SR9IG!, 'CS%T1N:^4Z2VD#R,(@]6W\$+J MVD(69N9?'"VBVFJHM7ZC0?L-HT:K#:W?U_NZ;F@ML]HT#;VI_ ]6(LY\4*G35@5K6C MH'G% 6V=Z^]V;;N>I>]M;"4=>IG#_\'S;BR;P M_"!=/]S?W-[W;F_PK][#M^Y-YQD^W'7O._?7WA+Q)1>4CO=F@=ZQ MP'X8)'V"&<6G4&+0WD[ $H(=Q^P!#*P!4-0).E%T Y-^!'5N6-1_AL=]M5E?I\3> MUB++;SDA-3M!_!V^C()M'B.ZO) >A3 +'%,J->003!?L%ILMVBZVD&&-I+N) MF>I-S!2+]QX0:%(7OIIF2^?(G$ 'OHP)$3U\0B D1@J)M-)V_%K@RD?T;PIG MZDL\6(WN_3&(/?$*?3W+R(!E-DEDS"PL5VJN5),32^1!!'*U_Y3F]TCC:%)1 M>CX8PDP!C2YX4?"?Z"=VDMC4@8I1>@T^; @J$5SDBO0)CU;1E"_1E^P[]HWZ MY1>&6 M>Y(=]WS(MXH'02I_PFE5(*/ M234%F[X5+5[!W#'*\*<$PF_MJ-\G_#?.ITU>E3S#1P(O#GDZEVOI!SYUY1R0 M8, !"N-UR N^,NH5/.7%S%.1YB[+\\4?4(X]B(LE8MNQ?RSU0Q]@XD<7D,& M6)Z_\FGH2H<&3@+^?W)G,(0 Y668?LLBT\')058 +4([D.?F-^.>1S.=0C6Z M?/7 EJ"%7T80QK 20!-[H1*TDL':4!%%'5PRN\-%QO_R9T2>RH3:^^*F-]F4,8J17 M8H=4^O.Z^/:1>CUT0A;CW,9LF-N]OUN*]$!^)]^ QZV+^ U\X?60B5)1ELL89[RA"9A3IC4%]FWD1*5[3.A+>2A]7D3V6/?@]&0&7@\/UZ(. MTAWH.Z<)Y/@=R;=O=/&;,)$OAI+X2S?TDF_9P]D)"#/@3% V%T/. ?O4C,&# M(]W1OA<2[T/2FK*D*9H^+Y")8+L.*WM?%#*9:3>;,@%BD3EP+(IS$^UR9]/W M7D"IO:PM"*@N[P4(/6L%OK.O)E;CS0J&TN\PYB?+?*'2$_6!309-#$ZZ48D? M-;EMBKFY&3>2&8-"9CL@D.,#8J#>QHYB.*IH. O#D)-<@^1Z+Z"(_A/9 MQ#?BSU %'ATIB66E9<3HGE'%;AB 27:8B4HQ+JB$/']HC5.-R1_4MH>4F*G& M$;Z:&E;VJF3Y9TJ[CP7U-&^=KX'XLQ.=$A5]BG'HC9DI'"G>_AFRE>?H]L]3I65U9?CJ\F:-]M^Z,<:>_YB4Y!-?8LUTL,0#QR?%O$ M20<3:(R3< 59;>#ER+BBUL?<$AZ].GW%5)7, ,"?35-)2P2.9HSFYXUI;C-U MLK.\GOP^SYL9T[F*UD/R"HX I0ZJ/IL:,71!UN:S;3DR:=/39W'?#-Z,UR:S MG<%!1>I1*MV[\*/&ZD$P-L(?X'$SNVL6+?7L$TY-\=X!*MTWI$F*3$RX OX% M9=R/73CDR$I'P*BC-(VB6VL&;N^P03!1^/#;_BH5.; _5=>2+,8SWQJYK,T_IF1I#!WCP M+R6#8-_H6 3P(1\ MX._@3R4!'&7.*WQB;AT3]PZ+YCZ3\H."*4P>[3]]0 M@\5;4$RV1L58;@ MNID,\F"C I@Z^/$V2@I>B@.4]'VTQHR-$@:>TYIMG6(B[4?D)TZF>HQ, M]:#V919^1'X"[! '+OB'-*%*E(X!:SD:Q\="#4F ^9FI*SU1B1&>,=]AN"^. M-?$>YS9G#L@,J@M)!P!CL\ E0Y2",(%KH81 M1EY?9 *E(? !;G[Q*)L2\,$ UPF?@=XF>256Y$G@@@P:%RM.WTP4$ @+NP!N M[E.D'5H%%/29=_4)VFW7F9J?$=@,UTP\$X@P)!_3/ :>_R(OTP4F@ZZ]A0_T MX-FF-1C@AP"5A@F!(># 86&DR1" %*;OU#-PA/YTF4/Z5V@RUPF-;Q#.I,$, M9M3PN6#*DM0EO&GB=&_ 4<*)R%48SZ\\9,)TD>H-!'-F[$U"+3Q27.*4I(:1Y2G"H)E?.,%UQ]C"W02".P&A/^B>%R9HN MRA>'4]MD 1(_,$XAL5371$IF>#B=\U<7_C.-U3N]KQ/GVP+Q!#%+O>W'F,7- MR7V=WH_);?=NA;V^K+3D)$\3;>&[B@TN8;D+KP+15[+ Q=>@DWG:?K87YX/J@II(P9?OBLN1;K%&F/12B M[OQHF1S,K$U3&_&!+K/A_M1>13[:Y"[,V.,Z9Z2\1A2@0Y+7 ^'6JZ+/"^N? MEUW64U]=UG/H"IT5Z]),@:];M=:.I-#7TO7?(4&QB4*%8 @0QD6?BG2;"-.; MA5&4[;M1+!J'N[,B%@D7"SJF'4BB/=UP#7D!K^.XZP> MF$W.]VFR HL#82[ACTH/$X@0>$94QFDGNQPPV3H"W_$)X/\OD^.B6.A1T'JIYIJ%L^DK005NC5_$QT>C)>&Q;L6^) M"A!5& -,I%"9/X@PP<"2>?KX&VK"C(F*@87IN;1\A12G*JIR1#?*'%."]A?) M,T:7- B0+>#RLWECQ:L3P$44%R&CM0*FVD=CDH0@R>TL-$9?&V3)CTU7-!.6 MVW*C5/(,I9<3)JN5Q:(2Y<+^WP.&%NT_F/2)*0>V3\US8VJ>1VCVXJ@0,!$Q MDT4D8&^ULN)/< MFL2?<#:;*!8B&2U?(4K;2%2?( M%DM^5A0&Q:M09ZB.4H":$M3.>X[IOF2V8D[L.W#*Q9S:EL6<\3(0&.,^ RI M-E5Q*2%]2DUB3>6X;'.ZBMJ9+N1M59 933-E\NL=7EZBXK1R$DPTK:T1F5 / MLVI)O1\JHKD5!Z91DG7D-]?[R1:CHXTZ:Y1AXM>WKB!4YR9&M+LI8:R,X?1%!;=5KM ML]N)JD(2F:'^;Z#',_:(K4]E" !3U]3*\E9V"?ANL]4\L!T>2\5&[OX;3=9APC$:D'PSKJ^?<8I2N&:X?X%W7L\2>WIT>F0!$!591D;+&DSBASAS#B$/X"B(LK\C !GX M/#/@YC#%E3-[]QB?HBP]@B9C*_A3)LW/+I=YZ!E#:D)P-JU#F%&C_M>/F4\I MQJ*:(]/+BYY,:K#1Q8Y).F8DG5/VDE'WG.2H&,M MC8&E-AG[]"KYXPLX>V.;?%Q9#F,,N^E+_*PXJX>IK(5=DPPYT<_3+%=%B3)= M<;>!^,WQSQ7XZ?/R]TVMTE2:J3\I%37G]S4UWY-6#4JM5K1&=>VC-K15R-@N M*>=E*7NJH]3I<;8>+[F$2F:UB%MZ3[H'Y6;5-FU"::PDP3%/9^!IOWY&:A9W M-@,76_DSSGH'\[:TE[\8QWJZAQ_<6G2LY5K**7D%G[[ 2R><(S86S B8CFE> M2=/H8<&-2AA2Z,CJ&/IO'%K*@B+RN:Q74EP,+#K!!Y3:G]2%_<*%-T \L=/: MCJ XG>\PID&#*:N',"&?F)'12QEA]1NDT6:Q^B/.M#]>XJ%;1:@=(^V1P!K1= MG(']N# 9DU5/R09$?ZZLU(S*]2.52?R4;5USV[W.+ZO>VX_IEF,&/A^3#U&-]RD!!?\B\;%0ZSQ %L#MYQQB$7=TV8.A"VXLM5T M+ W<4$?,?SKWFM4:32H?U_!ENF<4MZ+2?X>LJ\;2=L9(>%=PDJ5LZ\Q*5U03 M0Z*]!Q-(Q^4#TX(<(/)$WO[B3_?V3#9')#GY>,/0_R$.6^V,=X%-=K;_G]"A MDJXDM&<;:.-BOUDI&1$L?XUJ%X SJS?'#D*/"1,*3AC5LR7;H^)="_%7F:7=G0]CG% M95TV(ZB2,AB2^,SO'4[YKFN8!-;5G0]0Y.M8!:XEY8GM3$$6;Z=6Q,H+=W(8 MQ931E3/LS2V-.DAC4U843:S)' Q470?[ ;!=I45;^4SBF-7B"W',*HX)1W,? M,E2OEMHM56Y4A3D\'(I8.VIKV@QD)JD;;\:)]R$)8WD6TCEG+%EO\=QB6F,G MG#1U824/**5I)X )@WD6(IDP]]'&,P^B@'(\RKQ*,B.9]5);4^IR2VL*"WHP M6$V.6(R/MV4DF3\55]C.@PLJMCXM4DCG#])<.'HS?ZC90!NJ:,L+FL*&[BW2 MG&$X;M$GSHN%?^X@HL*6\F9+NQ.^YI?))EI/1=:5G6MRA?7,;CU9J FT%M'F M&8HCX^[]A+E;&LL6KI+4ZSNGA?@REA&R6IS+YS/KCA )Y>0TBV,:RQVJY<]3 M;HOV=.*_++B9I&O0G3,G+ C,"O0W=ZG(]IM>X_/\8S]V)Z=>/]Z M HE2BS$"#9=N]W[Z-S.K"@J!+DAJ"=2<.+%C6U!49>6]LGYI0? ZT$?6\ !A M;M>78^'O=9&GN.L MI36(%R=X6;9(^:U,[K!:J%/,";7F[@FXY1WC-\ZIU<.A0M=:N]H)G=S?[_;/ MG-15=$+[()(]O6N.+\8:-BE)J\@E;P75)FHO7W(/$=?!U;79Q8+W8AE"92OZ MY$G9E1O*8W[E\(@FYQSO/P>?_7<6U^G\J('*IZZZ!W:VLLX97EWWNI9N#0XN M?3JN^]ZJEX:J%WDN>2;4-G%E?<7FM9!N!U+F^2CDO<_51^"]C?NZU2GF'@\Z M5S]DWXX$]+8!'FH-\$;M.XJ9EH#K6 7Z%PV>16]QCMZU"L3!H;H(;"QM'BI: M*MW"EB>1Z'(<4\<^0M9?Z1TM/*_0T/[PJ:W83E^@IX3KYCNY /.!">2J$!L^ M<7@C%SOEI"8@:(2=N\( ^Y)1IYLD A%@U%Z03WSN+CFE44:]X$ZP0_H@ MAUGC$!G ;*$[2?"BI3:=(Z1;0^6+G:8L*U"&R@&6D@T M.KMG7K#$&;/IW"= N V=3!HO@"I?*JQ&#?%D;4R8WB+7LW\4!3-$M 4VB2R[ M)KDJ*+IXBEK-N/)JK,XY/8,X2?OT?3C,"%LKP6:\ EZ\"YGH-C=S?3>:P_-W M8)"$3.1Y/?\$*2^EG;J]"AT9,8]:^A+"D*YY^"'LK9FJ OD V![L+4=MG;!1 M>Q3X$L@(6^(A>-$#';9R.4$]%Y0,4#9E5ZWYG[D_F>RJMSI[B9HXS<(B?#]3 M"E)R<4VI(J5A.S5+77HV[_O- M7TJ;P=PQQ)/S.; D42:).:R;5*-1%(#^BEG6)O R)5:Z1PCI5\)M7+^6@UH% M]\+0K8/3](N9B8MHX10&W)=46CVJG4%KN,*M(&?++6N:@ E[0(%286RY,!.R M8Y1X7/&(%J($7QHA.NNJ4S*W09"GI-0=X;?D 2 MX)&]6B,J/:Y@B["/IOTQ M6T(1D6XX+K8)'(Z+/1*1/HEO)Z MF+.54J[:$A05CO(C;U:U#+#Z+/"]1]FT MR6>N@'EUW"GO?2U$KIRRU-#U(4@\1[3BE/1<0^_8_L' J4-E*)$R)PQ8$9VF M5+@Y&&1O:GFI@]#KE M/U5&KC.W#G7(<]PG%&>'6[]:#UN/>Q9G3#T[Q*=Y]AZ'H?,[RF;ALAZQ;Q-C/O;X6;AQ MS$\**>DHIV!HO"PWG87L_Y2>$ +=2DZ<1-*1D@7<-9#]?6BB[^#!Q82%N9^Z MU7O&;^GM\X>8M:*D]NS=,P(CTS6-XL7$M(D6+JM:A["3S;V'URJ-(IR>G+NN MG'A[CT;34NL@IPL;S["1%7WEJ(W.I[FR\DA#BZY&V%DD.Z8BL2)=)3D\TQ\/ MF,/U7.!Y?'5"B=W0C7[@XSBD :&*!LHN/8/-]2?9,!,\.]660>#E/X?%$)$+ M-+)#_AT\%(?= L)$X $K#:'2XW2DE"X'YREC&%TVRYK#>W14.[']'V&RC*>/ M&O;B2M2;V3/X0@#JYHV.&84NDL>3*<'B>*@-P"ZV>(<5J3,&3P#]F2J/*OH8X)CPELY'724F@*8)4N*M [8* HWK9S50].LE8_W%G@O@+$8OSV+5"A*.%K MNON,^B5.5+_\+"5KJ -TM[40_@I+>;!#.N%%EMVTQKW.&F@JZQ1&@TX6>EVC M/^H>Y61A;'1'=>O3T\ZIT7,:;^;,9WA0]=;V2(V!;:9(_:URZDK_\(5.77>H MK;Y$ZKSG2"Q$B!=X2P+F]EBX&?5,B/%GZ%*GW]DS73_UW18].&_(S5KLV)KL M$JFQJCC>HT>\5F4\AT/HQV5/?<#WDL^X]U\.I5F4"$&>A#)*RT*ARD=3@ZOKKC[H/3D^XS&.>4]WLZL5O&.9FP?N"F2_LR%TB>&42 MA?#^3X]WVLI3*T\G7'@E#(PM K6;):.8X_-L5BIC>/_Q"7$K6N%JA:M9Q@J! MP(LRI$J:FD8O@1FE"U*O_L/"H$S>QE=@OT:6:;UI[5HK>L]4]'KG"-#&'0S0 MCE Z> K!>PYUN-MR/=VV G>]!%EG$2&3&JX-#F[M=*3JVQ8K\[C11@%D)8(% MP)\.#.3'%FC>X2$@LRV_-(-?CAV>CKL(S],R3OT9YQA\LU?H5>09K#9L#=0% M\DW_2'%#D67Z5]>#0;&VMG%WBG:\L#)(+ZPT\@));[\+)!\E;M"F>R+C0;'$ M<3RH\3V1CQEFT5[W/VAQ3:BR5A;*KU7$',.&%\R"Y+,0*TL) B@("98F9"!; M_Z&23X*K,;1;_+6L$!A&\QTL3J7W7PB\(80?^BF@AFP06"PCQ@=>\I%2G#(J M^\8RWFE:?TW7YF!XB1BE:XX;LFFL>?8D".%O"0>VBFV@Q@S^, MIM;PL&KXU M9S:?361HOYQ 2M*7DL)0N 9Q%TIWHD1<%(I6-0CW8AQI[Q(-D69PALO M'HNI3A\K8X/(YC=E8BSF609A3(LVM*\,[W^([5G8HL9=H O1LO!>(%!> X]O MH=22VQJ,=,?11W@IN"XH2WA2B..41$A[^JK$5Z.J;?@ \.L/H,]TCF,(V)2% M_:BYBR4,!EN]$ 7;\%- N$;\[LK^A=2I)ME<+CT>ENB285&7J)PM<+!D!7]: M1?UZKXIH^MH%5$0/NX8YJE;S>@#6RNG+:FE2FS_^#.MJ,Z07K(@KJ_YZ)H20 MM]546CQ#@!<5?[&M VR/F0X\9DJM.##6;Y*O*J?$L8!BI(][QT+B;\]S:\5O MK: =7G!['$$;7UU;EMX=MN>W->&0/U< D-OCVH,M$9+T(^*:8LA<44)@EMB) M2N]VV^/92^2A797L83R$)_RFWAL>[,[4JP-AK17IAQPD_%YJ]'FTY=I5C4J" M(NQY=1&P0 2&ICX<%@%+SM->\M$E?7H84S4%4PTJEF'MJ-8Y6WOY'L@ M=6&V3I!@FEERPK,-$H]/H,L1S%VU^[_"ZLBAO0Y6A71Z>J=7+"?:S[,YWAZ> MR;=NI;B5XO.9U_VDN(]2W-<'5O\BI/AP^.!G!]D[/@ID[[B%[*U2<=7?K^+J M2XA=9.+'+Y[MQS>^\_[OQ%TBX,N&"JQ>IUB!!?]6XPHLN4JJ3DF7J&,%TCX5 M67RQ3:C(RBV9"(16ZP$9.8]$%D&,"?L%$,CYQ M"U\/"9W21_A79731J.U=$LHFG[F1J6XFDHTDJ?OF(TTI9#./XT/:4?9UHKNO MI4W\L&FG)TN>6-42H;4,7\+FQ>(@^+CG=3%BC7<7L+3B-JJ(0,8^V MPB:5.Q7[A=!8L#30>RU062MRSU?DQB<5N7&31.[4I4MGL])O$]=SJ"$)->A= M8&,&EH>C+?=4VUJ40>>4\F-289.E=\9UJ4II*YN.RDW;<2./R4U8X@0QRGAX M<#O.AM8XG4WC_F9/Y_"/X4HRZP!U^SQ*5@9;T'Z.+"!8 -7MZ)W1L?R5&D0! M+3=EW-0]*3=A)90UTL='0_)MFH-[EKMRC'G. M-QYDGY@=L:_XC<^S/R)V@P?V;QDV5KR93I-%0O@I-XL B/ ?.JRN+!_8DF.H M#_H'(SNU?FP=V6Q8$S8; IL-]'Z_=7!/IX:_KM0%M1[N>CDYZ?FB.;JZMLRQ M/ABW((P7R4TG/3HS\=:_.=*[O;I<:GXVR=H/20AL@#65!)\&^P5_/N1H['EX M)<.3'HU9>#2FCSOM5=6+Y*63'HQ9A.X_-H\%L-(T-_9LFO8V6"R3F(4B81O, MX@<[9&T1PC;I..FIF&5=7?=TTVR]VHODI9.>B5E=;$4T[C_7O*URS:1PY^U, M^03:1[P&5'+9YG"?][ :TV:+UK[G:_#G*AF\=VP9PFO'I+0LWI7U_W^ M2#>/YE;7O4:ZY>6C7&ZO(R_WD9=[>M<\^,9\6WQ\S"M"+(I>:\J> V-EF_XL M??]*O:>>QJH\D0P.KJZM[E@?CXI5'VTKJV;SX=-8A"?BPR'RH:GWQS7@PS;F MN,:N+FW$<;*( ]O+G*@ 3A,9*\!*5)79T==TU1\>H%VPCD8OB\35V MIXD\/@8>MRQ]:#6BA<*SB5!NUT#D/,O8I%(N^:05Y=T..'4#?70T7,LVP*@5 M,YVTHKQK4I.-(Z 67UJ48!I6_VR!PO< :QW+0X4\SMP^8#,MP.L)"'0Y&NF) M,F^(N/DT:8^N!0YFKZ>/C]TZJ.;0SX=CXK2:H=4,Y\^%/J%FP#J,7E_O=XZ, MS-,\..G=<)/[5K,[QP_V[1P?V_Z="V0ECHPVP1=W>T5C4.JPLJ M+4+D*<+R=5ALNQXB^]I3T)$AXM6_1ID7S'0V.(D+75 M@'S-D6$.>L="W^WVCX6^.QBWDSKUI+JCHX$GMY/:?5+#$_:C+WW,[#<3"3F% MA-:. 0?=5"JH>-!:52SH8["/$ANO<[HWY0GK1U%>HWP;1.MO.U=9\_,@FEIB MI\:*+0EW)B'6J>S(=<^+,*U M@)9&X&\]MB[^[1P,>5%IR^I]%-4*6V.% MK5(]_0'2=B0XK^[PZGJH6[U#:N1;P:L7"SY/P3N1W($W6EG&1E?7XZ[>Z0]: M$]=*VC.3M.VPEM/]D*VP4)6S5_M<7??U_K!88M3ZDZW@ M-4GP3B1W>_B3/1/\R9X^M)XYQKR1M M>T=H)UG; O!\;(^R9UU=#X=ZYW"'LKUR5DN?:7]^.I;/U+VZ1M#G0WRFEK[7CK1.QUCYV#X\P.WI_=/"%UX9>XS\'.WP/;8?AKAZ['&DG,7H> M#1%&6YIK'-WBCZC#XA$L?MM?HXX6_P!^.I;%Q],Y?=@M:NK*IP,M;UV(JMK# MXO>Q#U!/MP9MJ\N+9*8MC8".;??Z9FOW&L9.U>S>_OQT)+N'2!*FWFWM7A-X MZT2LM8_=ZY+=&]3&[CV'X]VWL @ON&M/=)].B+:T-CNZO>]AS7N;V&X.-U4S M]_NST[',?7\=@[6)[=KQUHE8JV#N9^Y/YKSZ#PN#,@X:7($R&EFF]:954I?( M2-T3F[QA:_*:Q4W53-[^['0LDS=J35YC>.M$K%71Y(WK9O*>Q3DN@JV?"5*B M'#>VO3IQ,&DN1_ML@5\_MILTP/8B3W%[\*#]K/<5IU:*GZ44'[-_Z=.[IP-L M]8)]@8M]@_:]E]B*="O2ER72IY'H/ZA8.M=ZWB@'ZU(MR)]62)]&HG>Q[GNHW,] MUL?#(\.)G%R&US0$4_LYU;]?THWG%?L?:78(?^0JFCE: "3 WDENJ+$HAGU% M=/$D8K/$TSQ@B\C0L.T2_P[\9,/S]ETZ F]BM83Y!0XR"W "+-J=N=0IJ>3C MLB^3'6&;IGS##\V-M(TML$:]W?GW#UK#)W?&('&RM M[K"&S\#Z57NFL9]+YD=,"]DTN/.)A# :]:,",L7SD#%M 9.>1QH#!G#X$CGS MI^M\@-7_4NGD+"_&_54RJ%/\/%N5Y-W$>)"18WAUW3.*GK4&/.KA5+&/+JX! MB1 ZU&5+BQC\YM_IVAWS@44\>LAV%K!!41S"S.Z9)%Z$SR.Y8)$DL\1T40S_ M65 O+^ ,UY\&"V9LYH>U+=&"32W1/B1Q$C*59._YO-;T2AN,BHWI!J-B8[KW MJ?S,Z MY&9&, SP.E.-MS+ 9V6J7.*$?-S6+HX_7NW79P.CW*[4!LZ.HUZ!W5TNHC#W:]L82-'A2B<.W9G.JK+^PQLE6J[_CPQY13\5[XZ:^GA??L M-_)EJPK8$&_5XB'+P;>+VOJK*@(V:"$TFB%@:+6^/P25Y^XS%G([%G,PM9N-4.\;G"S]I:Q_M7UJ'?$=FNM\7K*>V0;K->V=]J* MFJKY=]B_*(;?8L1Z>0"^#R,4'7O-^YO=, M'#R+[53>$@OM9*_8$UA6$J]_15D4;V%_IOH=LY,O!U#_%Z>+/.(.S?YD.&23 MX;3/>D-K,NE.NMVI-79Z(V?:'77^'R+(B)?FH5S"TKYCKR;@ROQX1=[,:]M[ ML!\CW"BUK,#U7ZE47R48)\OU/R?A/Z[+IKJA1$JPTRM4CU2CD"M:>'62JJEA M*=6'AEQ*I=*3=VP2OW.CJ1=$25A218)]O5:K2(;#8A7)&=:\LAD=HX_$QP6E MF[I:I;*I/(6OJF2MUMJBE3I5S?W)M+GM:'L767[\_<,J;WP*_+OO+%P@2;?" M&&1U6,/1 9;IB-,87UW[0<'\%,O#'!A7"Y(X K.'_*06^:U4P&%QV#LV98L) M"W,_=0U-;$"E KG>YOJX3RP&)1=]GMV&S''CS]D<(6)(_!W-//VD\87HGVPIZ[GQH_:"Z"UPV; S8XV85[P\+*TQ-+0\GJZ M_N+XT==NDKLD H^C8XYT[19(G43:IT^W&MEFJCZ, \W>4CHZV"0-^-_2,M$' M\((6UH86"47C2#<#&LFG":US!ZWLUL2/X<\CN ^\>=UXP MPTSN'-]R+7H$QIC:,<--\W"C@7>02_[GRV]!> >$OYW#2-I;V_^A:[\;-X:. M.[Q280EFW8^I$#=*8-O5$';,%PP*/?V/+F*0=V;!#7UZ&P;V+/^-TDZ4& MFUBM*':P1>AA45+BY>1^LW^ZBV3Q-@C# !=^:R_AE_BQL@+ 3G[]336RL&9E MSX/%PHVIN-70/OO:_R3>HV;U228MG0OW&DI*&MIW-@RY+ZF&9R05MJ3K[$,J M?:^ECLZX5$K);EHJR/;#W 7)I*V]MUV/ZG)Q6Y$)4#K)#I .6+$?1M-4-S#Z M!S8)$SL$9A]Q\ZYS@^?[C&\E:3]<^F\LO&-AJM]OP2;:OLNP6CH"_>K00Q1C M8/OLSW= M(;SW8VUD?*3@'M(\[IQ1F@=7U];F5:W77*F@5UNN><;E#O'<<.-JJZLL[5LR M^0M$'3=^RL(8;1CR,Y=A6+SCAT. M']3VRC<'OP#"9!.K:WY DV,_IXQ5##K&5OEN/)U&7#T/S ;+XA4 MWB&(!_N;=DB7&@,SZ+@+^TCN1 ( MMJ"5:(%JOX9DOP;)G' !'3A9J"IWB@@KH:+_1AYA,O^@$7,;"T_!(?['6"$A1" MZ.[>DQY >J0/N#Y$K7$0@H@JWP3+R<)[)NPVS!=XU/D+0CJ^6TUS:_YD@H;" M*9DE$*]7D[%N%;M\:X?AX]ZIBG%GJVW.)$5P'NY3M05MR;\<=4$0@G?+M"#/ M(Z4.![#;BI!J($^8G\6_ UMO$QS@W%F"TJXM\529>^^9J[JJ9?B%2'&]%=Z= MX"71I>TZ7$_=)9X=DH+A1([PPB,,"W,A52#27YI=8@MS%PDC<<=Q!T,IC&SB M84X(W$H^'72Y@R2FEY?V(^X(K@R5&CW"_P7^N'!!&;W@ @O*"/QVD%F0'U"' M='2 ZF$:1#%W5#&'HKUE_G0.3_PH2TBEFB=ZN4H\[F#G-HNR8QD%2N"_YZ!Z\[&-2 MZ2WFCK[BG]2-P8>9Z[_47J0)GZ\R3@$?%@>2(Y'"AE=HF[]]_O!UA]'R+)$- MO/22B )!9H/IF9(90B98+CUW2E:%;Z&A?2HD4='?Q"OJ.U$0#%:8@(9F:'QB M5 @X9Q!2<(] 1$FV5C]:QLP9YW+&+;Z475TO*DS0:1,6%G1F[M2@<+,]KS)A M^]SH&\BD[7SV_VV'=+\>-\!,->0K*U.1%OA.1K^H(G]%RPZDAAEQ!SX50-AX M994DCU77,WBZ]71!Y5=;3^4-Q-=7-)!"C]#V[S @#X-%9;KDH&#Z-*[ MNBZSA+\B=YNCIIMG':?:W[MX*^8_ DN.G8TDLS#"LLD55I[W9Z3S=1(6M1@^D5 5*""C:$&02++9(''"U+/RHE2]F$=R.VCU-02P6 M\ ,0P",/9LKHA&U&UX/E%+C8)WZ"LU3\N;( U"@'X/DA* ]Y2=K,JL;NA. MZ?",\JX1I:,H]O9<(.U:IXL"7Q0!1"N)B1XP[A3:,D MH11-DU!-6"$])^!F^2P2*3(0 )HSM)*%?'T^;,OT,)QR $ MC&/$62D2IYFS&:P;)B"LK9JKW]%Q ]__#B07]@G3@(>: MX@06WK/Y7TA@I2N-"7.8HW7SPF6+904(+?2''[L>1P[*Q9%JT*-O)58:=1:^2;DLEP0 ".$QH9;Q ML#C0_$"[(^X2T5UE;97+%%IJHG EWA<2]TE\_RM^7N0)4T75R?34>(WWBLLQ MC4XG;VOX8H#B5#>L?50EJ#0Z@5'>O_WX_=U-Z<_;CV<$N:-MY,:#>4SG47&- M-IW;(<7+N3W8QTAT=R3[!_SN+7WV-E H7R1YOT/U+"5@JEM(OH&.N'P@SA\^ M_#.>#R!W+EW<(2K,!XHF2,-U.T23U_CLUSPE<+>D;'(0,JY4O81<@( MQ\Z6G3\HQT;)\4!>/Y;(]0R&IZV'"6 FBXQ!98VGIS%[^9G%;A-/9Y-13>*T^4D/ \,-H,K4OP+?%:L2%:AX!"X M)H;'14 J)HHET6J)M+"P(E3L$,4"),Q#6-'0]B[/.5'/F('-9$4*MIRR8N@2"@6IP2<&8OPMXDI.7(&%J M$T'&1"VVC,:1!#0#!^P>GLCQ18JS^:]Z2;R.-($OY9WNB!O+E5KDMJA<+2HW MUQ>5G[H^?'T!\>92X3.1C@[O4&S1M]:5@[1\"+SR:4( M"<>C[-2LG,=WO" PNFITP?YHOX+]KV#3_81]"(/%+3R)'L^?H"!OZ8R#A84* M_GZG6-4._U;C"GZQPGV*^/G"FF)B%_9?02@22T%"J2Q<.,>Z!0'$RU@\=QO- M099>4; U%9O.;9UPTL$DN? ")P7"V0J@4CP]H6P1./=>).LL[:BCHX/B%027[F0$5@7]P96$H\P0LB/$=%%-_P4?5(#>TF7;W(5$1J% _A MK#OE2*4>2(#T,BC9@9D F$4LO5U>^I..+7(J*38NG8G29I S3F=*MK#2:T; MM!KY)RYS#.VKNI7*P.3:/TA7YI'7+)0-AR3&I<'J\^@X?Q:H%( 0Y]\A6&(T M 9+5R77(BM-\@*3R0)-+UNHR)YA%@7+Q-=N&H8_O&H1?/<04S;)DAB)V'EE M!A^"PA<7B1>[R[7C \? PB4WIBPEF7+=ULN8U8V%NXQ9/@J!;"_PF<0LYOQ. M%T^$G*&C&J'P,I*J(I.DK(%LN6;.FDLLQI-9$"YA$.-2CB_E"%"ADA'S#)+7 M"MG$1,+0ITHB/AP_@<>-G.!6I3R.Q&W<&;FR!73@+,L?$EZCD!>*I7"M4M+) M P$VFY$<855#3B7R7(2(K8%!41M+3<+%2J%Q'GE59@WMN8][0]+ ZYFXMG,@LD38^MNJ%J M\(A\"Q_O=G"=@P[:0H'D?1^X2//URMQG:05*;/]D$<7\C )/LMJI/I+KQ/=Q ME5CQZ<<>YN1$' K?OL-DE[\@4ZW9":P'5)V+Z_\3MXH!7:.YNUS*J!1TIN/Q MZVKY4#E(X@G>H(9)$(_RFJ)9XLU@&T3 3-GD*&:V0RN(*-^\M"EB+]<+-(UT M\8*!HXQYE5F43Y.8AA2! -*W%71QGP\&'%X? M3<&C1 N4JTTS<87/QLAI>QO)<&ZN4?=NQN;/SF^LX8-[>VU&L3(!. M)'Q;'/[@02O#\M6*-X\S>KD(_R^DK!S-OH]9^T(48Q6C&'03.$H]-3>@U,L2 M*SGIV$EULM7]XDUZ+;JXRU#RM9.['2+ECZ?.D;L/1/#IUO=CI&AV=0 MJF#G#RS#&EA'0;P?&V:G*MK^6A1^ MVSD8;\MQ"? U-/\KF;H?LV;ZS3X/! MM-OF[MI39.MJ2T'U+I%AXCP7A.U5,\B4?9)1+YK95K^6[2T>1 MJ[S^RX&*,SN;L>*V'$&]_RD*66XH'J?N-)=]458/D]@&<>ZZ0K.U=6:";V^BC07'_4[OZGIX+.34IV.[\^S&KZ=N MH-8:H&=H@,SS&R#$!NF/P0 =J]E::X">B0$R#S9 S! ]6>[^AJ@\Z??ZOK4 MJ8'8SQ;\?LV=IVW+.3[[UB"F=7Z+BT!.77W/H MZGI4!_:HK^UK^7-/#=@]OP8D[#!]9-:E-5++8ZH 4W"Q:H#?]17 M!9[?S:[K4\_F[.O#YM*Y ^*!Y]'+S-S2+N@$UM TKZY[ECX8C&O2Q*SMEG=L M:]@[V!IB^^-:-+FKKS5L&71/%=@_OPKL@@HT]<[PX)BW58'GYK U*K!_L K$ MY@VUX(_ZJL#S.]YU?>I(YP%<-BW#ZM?W^-U*F[2F=T".VH2RLZD/Y:47*QR? M0/76.I4X[X<[+T@'FT)@%N# MF@37U^TY7:?QUO:UMJ_<]@W.;_RPKL :Z;U.$4*X-7ZM\=O?^ T.MGZCUOJU M0?]Y@OY_T%7_G< F:XJY<1.7]>@FR"5LQ&TCGB@CL!&)QC&Q/=GS[YAMNLLL MUR=7 "O>(MY)Y791?7-\=3TTBD=?:?2^Z??LE6!T$1 MUW>V^@%H MI .SV6BDXVIHI.CD@"_^->U"<(/P>0@N]H,10I+U+(U M:NDBM1=E;'HJPR?:E)UF"N7L\OWKS=DI8)Z5 B_WPJ?EW%XB YN1H^OB#\LOU%Y?P?9-'V=K@HS\UU'[-CALBWBC6?@'A^%^"!U^TY5,:K[\@ MJ'#Z[.TMB'L0WMF^:%M9[-G\D!R6B(^O([(G> 2$^?J'\@+ 72 M/_U .'^R'X ;3I,% CX2N*HZ'OE)(>-=MV$A$V"!F9M"CH9L(0!#GV0;WO*O M?:7O@XANW((NWA)=NP51<1,:AVSX74BC)[U[W%D@Q#3Q)'">PWC?#D+?Q0<*E%(/PD1T7E0RVY!"( MH&)&<@X0%B V+_S-C0D$\1[!;)>P0=Q5+XQ.&*T"DA8'4 5$E8=02@HZRE&4 M+ A_>S&A)B\;Y(C>.2V*9Q8<]6D$N%8-&XHB/73$Z6P$ SG%E$Z*7268'5J2-+;PQ" MB 7HG#W[/L42J6*'3QPS_OZ,\\LZRE6..WMX.MK9%&R3I3O&E-?[S0='SWC& MNW$1 J>;;_^4?R7=(FP)E&N6E,5Y:6L'-/4^8C\+X\LE*>VXEC6-H$U&)8Z! MZ(1E<+W $]2H?4[FC9#@4=6LOCLG74EL*!PE8;GG[C+7#DWT#2XT-PI"U:"T M?576JW>\2Y*C3NWZJC3'.TY[@RLJ6#:.$JD>U*L>DPV,4*# -^:8VB@ODM]! M'K##'F+UDIWD+HF2,2DQK)3PH813 N^2F@](:V.//1U&] @;'B4;'!ITY@@. M%^=/P\C66W) :AN&CWOR0ZM/@''"'JDOT-NC]A!9^R[QD\/1[J7/1\T>$0Z; M=U0B\&%=F!?4=F13)DGD4A<\;E5%KBAM%2$M'X=5QYX(V/([E_PKJ")J+V9/ MI["4U'S#RAYDV[&T$R%UPON!#V2-PM)0(]=_6^0=M7O;2YC<< 0OG[I+(H!( M@Z7:D:?+%K9#[3.2U3E2^\<$FP*(KQ53;0H^.M>\J<_#N6G3UV7JD:MXSHIB M4\B)68JN6]@TDWOMF/'#]J",(+[!_ F? 2:K]JH3T-_I",2AV!-.YDZC9#:# M:1%^N_V3W!KI%074*/)1\FOF.TIVIZZ#W,=4Z91VAH-P[0\?'WRAMB*B#A)S MO/^3#PY?YCK)"3,G619I2+U'>>\5&;@0YD:(#'>V\ M NI/V/0R?9PR$$52(EP2 :@,VL0C8F?S:D&VV5B=GYP#3\8V+_CXDQ'Y4A5$ MJ?2,JQW2E*H8N:2R1"\&G@+G3:X\QL,P&$3V7D&E(0FT5GGPW27)3//X:SR> M+%-!T@;Z)N0(\-Q=25U@G#6Q&N8Q62 /)O%!-+U MEYT#*2^P].PIM4A!]U0&='A.(UM%?/KX]O-7[H#GG\ A3>O5 F;#VSYHWSY_ M^,IS4-&<:XW;W]YK_PJ#9*FT!+]Q,%1%M'L2D4_8+1DW%=L?54XHY([)AHDM ^S1YTP5DFII+H>&,6!1'2GC*C%]K^8 MQHFFH3O)PL9"EHR;(VR->1>@;N5O+*5ADIM_D_9+=*GA1+)88!90/)%VAN$M M/,K>TT&R84XHV\L$&TS*=D+"K>*6'09'2YWV,4(-B?V&0@:!Z.0Q6['DHO1M MM;'-RHN\,?@M_^;=I#_2GWPY,24SIB.QCO" MYJ9TQ/YX@UZS3Z3,SGX-\K[%P?0'#S"C]^#7Q8^_!S';>"PU+$G)#VMX+-7G MIU)\5?N=/PQ+SQ^V=:ZLBV'9D'52$\B8+'"J*_-A5%$8BBQ/0SKR$=3J MYU#\]@6$7J0I/GWYC5%J[=VY?#/Y<4O&[.4*K]@N9 :&ZRE7S0'$D>K]!MNJY59@)-":ND; MO?\Y^U35+%^W2.\9)2WIUVW0 MVR-NT.C(&X3'6T.C>,%^TP;5,=73K H@#V(<0>='YV;+_I@+MIM"Y#U10S<+!U*BB%*! MC><^($"TD")%QJ5GS24$^8(?S\8IKJ]_==TWC6Y1#*F5)*V/<@EXUKP,@REC MSO:);]O"@I949GRK]K/\*HHC/^?WL*@9\:H7V*Z294C5^$)T5#SNQ$7[R$A, M'CD. M%]AKX[LZG@.'P4]WP7OZ52/)2@>' DENJ$LI4>5[D.4/OM@NB.*MO41-F1(+ MQ',;R7.!Q-N9BDZDD MIIW.6UO"Q%_AJ2:?^@68H \>^_DM9LS3;J9@C?BQ8@V7M4.YV%^)K]2+X49G MB[.SQ>FTOU$,VI":B'+M_&"'SCX&:05"OCQ+P+G[78)6[POUQ^5&"99//T65 M3=$83U1'NMFO;H@P->K2A)2\L@BUTG;G7N#?\3[PV./7I[*6I6=S>=!^L$>- M@7D/'ADK=-:F]/=*I_BJJG:%JD4;44[5?^,A646B9MJEAS%/29(>8E2[WC:B,>(<6@[LCDM/:BD5S,L--Z>@S")[X43> MXF$;[B"C^O; OPE#W Y*!C]FCP@#=8.\3O_S;SX-3CPS1R\0Q>EK)PD?0"M" MD) 1"6(IF3-?30GQ]=^%=GJ@@+2RTV)FT2,9K\S<@=<(CV$G="JWC$AN,5$Y M>12-P;69[8:BZ6O^^%.57K$1= ?""Q[XH48"<3@L6+A;= HI*)[ZJ/Q,=BJ) MQ@\%;S! M?PH9YM3A>2Z\:(4;26WG5+5*LET3+KC>FMYGE31/!:. M(&JXI&V93."B]+2AL![>$CM?:LU/B%.#B>^FEK18J,P?I5[;GB>_HV:Y$CHZ MSZ4;/'$8EA7N33EGI\>8A>)I4XHY@KSNG<#^(Y2M2V^HBGG_6IP^P+?R\]($Z74L2O[,NR ^% E$] M,,DU0?CX^X+6@7D0!LLDEI! MZ/&2N@B-$_<1>0)*%&K3P1H^\(WAOQUW3>0W%%?S)_.\.1C-S8MY$!-;[ZH$ MZ[3TE<9XRPI N1Q1GGI<%8R5G0A<2HE7TRY1GPW_UG^ M2=C_]9[!)0007YG#9,VJ(LTU7-CF'L])B-G2M!!\LV+0I[F">=QCS M[Y/OZZZ_<,,M&RWCJRCFK9R#0B3FLB14FN+.:I&SXNC4?=^L<,35-UA2R#4- MO9Q% 5M.C+/"_[14>37XVIQZK*4\KV-[LP]LSY.+/,$Q!^;6J H4;3$:*5Y[ M*DL]B+C\')12*CSI5Y6_MCIMZ]FKX*A)GNIM@)Q:,XW!4\RC?W7M!P7.+K)Z M6*XSZ0+(KJQ>2UZK:#O>N7@/W7<:9RUN4@U+^41'KF/_4^[A&GXL*:U)J28' M>\>F'E:LE44N@ZOKCE'2YXB$>;^ICIYHJD.::@EL478XO_;(A]%E$SZVYFQ7 M:ODBME2S\3(<^\1PP<)> M%HL-U^UE^B%YDX>6($Z)&%6(O>+7Z>A4)9+WPQSAP?+*!>[:T54\U\D=>>6^ M0*<\,7\(;[\H>1E58PCW_0WX\0_LGH5ZP6MT,.QT)PFG^%(:8HKS[066FBAZ MR8Z4+]V4?0GO+,A)K/%OEIN<@E\-IC(*WRG+$"%U0CV M<1V??>U_$I]I UUXYL@/DT#4>O B(<+"2.)Y$-)=9N685=P[+7Z%B7L2-@7#,CB:%E"G\LUX;! Y)*$'*3" MLQ]@^##Q!/ +;*BX YT>\J\N,[LU)JYYLE5N2M_ O^.YK(L7JT.I,=,87$\3 MP25?$42,$K B9-L#KL%2# LL-<7O(3'ASV7U/?A\R'B2K4J0J^=6E.TBIU!, MQ\"54RJYRXV=+'Y>486XIHT)1KRC%6[!. M5Q=:J&RJ++]8L%SBB>3D5]>V+61MI+.FJ910T((>:5TWHDC@!KP)^XXJ M/#>4(O?[,/.1,2X+S/@ LA G]3&8A'#/5[=F)6[KE%/N]H["Z!4W=U!IH.1F4V[?!;P9RFYF_)"I4UQ5.8_U,I 15]*RA@Y" M1=>GS+&KX:JV)(Y4[U5B@10+=V";,S !%9Q$XDC MG*F">W81BN%AUV>1P[0 M@M^^,[0/XA!IMZBSI( H=;:9PY^M*'I;TPL9-7Z#57T/\O<%,9C.40S+TRM+ MW1"COF)_O#14S<[%)(#D+,&[VE2LSD.7#/ !S:G< (UHGP](9)0D'!K:B'V3 M,]MS'&O(5W)/DPO/<0B*/0N,8H?ZK-;_7BIVC#GY<>).SDS^\N9F?JQ*RW$= M6'%+,JF^K&AMN4YR)E8<=) 5U]\GN@"K1W1,B_7%Q6IY;I]2MX;KW+BJ/U+_ M)(?UL>WPFE!"!">7W@476309Y7&_R6$3>%?!.=052/P45DP% $K'YAHI_8"! MZ9:9J/'4O ![$M%'P?0&4XEV+V=(R"DS\N0D;LK&];4PA9LJ)'OK*R1WAT09 M=J[.55;93 @6!=\\UW+T=4K4^=AL"E8*:T8T(@)EKOR $ F+! MSS1(PHBI4(\&.(!I 5V:K)LPSV7W3-Y;(,S %%<[_0IAK7&DMPQ"RG; "86G MV&Q&L._\P $OOV';*VX:8#*P47AY-)#W*58>D;5.6&XGJ_U6"UX/06@:=AN. MT&3MIQX^V&Y(B;-,&40EVL JT096?;4!KDJC98&?EL)Q[ZD'K(;H 9$?BWFA MZUWB\NMGL!*Z)022C T(4&>X/FB(2$LBZ9?1+)0!=.W.O9=1Z1Q6A3"- M8A0Z%DA\FR[*PP!_)P&A!(;4D8DNV]&2^6$(+YW%"(U:Y'%\6_(N57SM%Y] MG7F:*6:&N+43;/(D0%%IMLIIZK9/BN$L.5QZ-N$%#\65%#\EWN_*]VM9FK45 M<'EJAR%U#$BOHE)M$^\) '_ [!G\A+RGBT9>2 0\RID*Z(4E;[S!C^KIK-^1 M:/>1"L,0JP MP@1,% 9_,7'F*$OK(WZQX6\.U"B12@T-EBW1Q+0L%[5F+3@SH5?X\9[*(95O MUUM;;M>G=E.Q+]B [P]%N#^2+'_%Q4UACMQG^8K'IZA:"8(T31OL=7@UZ%*? M@6)&-7^*D9#K)S5,B?H1F*&*JB\A_.:MQ_?2W(@X[9BD'2]0F-/CVW3OR%*( MDUI[.D<'4QDV1=R6S*1VKE-NVXKEV=ION(,0V(=>H$7N0J)Q+P*'"9#N34^@ M;8IR\-E9[;ALN0<.MAVGF0MPJ<%:8OX4;Z!C*@,XSXU3'!G^S^+8EP^0_\G8 M F6PEN=NR*1!./G:KKUSEYO0U.7K?<$(BERGP.M?0%@^#9RXB]EG]X(QN^ MNCZI=7KIC1A<)($PA['2T9<^QW\6Z8WQP.CW3^4_=0RSXK_W>[U*;ZR;5-\8C:N-M.[?+6-@#8\VI_[&D:A3KZ!]26/? MC;V]=WQL7'BLI%%L 1CFW@@SF.D)OH5NQA?9TRIC2++V$!!CJ MU:H']EGN[=J0]^* M--=MUM D317&.2R]U#53/#SRZ,K0.0>("VCTBG6 NW1'O_@]C(.6"GMP$E<'WO+%P_A$C: M-(;;%/BS<&;*@M5SNC(7SO#]LS#\B+IZ=(K5PP=Y+,W:JL/\DF:MM3);#L[" MEF-B2ZMU/ZZN;TO2B:W?\63\/CP'OV,5U-@HZQQ?9/=_4.YP?;'#?KGDS2ED MRAD7SC3R1QK%U/&P6!A0_S.VLCRV@.,LZ9 F6Y^Z_LHQ$Q:WJ ?-Z9%4_A2& M9\)?[W(0V>3T<]^P.N.:I9]-TQCU-F>-3Y#K+3[6B%SO>W%X]^RBHL]+AI?0 MM+>VAT>0QXZ'CI,$ZVA-(.4OJ\0[TN+515,O[5JMNEKY0?["4:$-W!G+#[J9 MF;>NKOOZ>+#N]OO3;#/^5&F[M^OS75U>+EV=FHO7;9EK\F2!@U6-BJ4:JNG" M.GX:85TCJ_^R7?]3$$4?1:N(CSX:97ALQZO]B@!C3[F>/EJ+7[&S!&^0ER>5 MTP8Z$L*!**VQ.I-7(0(!"#0T)T@PK""MV_HHA]327WU>IU MN]OJ=?E7;\5',7='MTY3?BNY"%.U''?8)_C)+=6X=@F2"F^ E:^OY?DB ?!4 MO#&05:<*^M$8T3*(Y2V%U3L)Q[PM-6CX;:GNGOWLV1WJM:]L&828^]UT@Q)H M5*B?'0[J>V=*K$U+%[?7;2F^PI)U-Z.I_9],7"\DB+7U*%V<5KLB4TOVD>UV M.8E1F@71HXK=1(;#J^OXH8@3G;4/$#.,>)$]M1-.N[11#S1LWLF+TU&SD,+@ M72%EUQ>H\W1[<^ZRF=+<0795@(=_P+/8+(H]\ '%S0!$2$H? M5TOY\388O*0T9K G>#D 9@%?PFEQK)W,$LLGN,H49"UR/?KRS(_IJM-MEP99O M]N.;;\L@\,CSHBLS,),[/-<[C'OTE'7H;E36@!G5LTTM D$5SK'C9)1^?^DN M$:5%F43*3-0M)F46'7@#[Z[*UJHQ*%C[P7[DB)]D>^15+6 FG3@I15_Q7.!5 M9[>[]<\6 J5?JR9Q%1S8Z9PY"36/7W%E/_K< X%]>/LH?BQQ:D<%]W6](]@, ME^]#"C[A9B1 +,!57TI<6ZL&&^]&HG* Q)1 LG=R6+IG..,'GC,ZG.^J'/(/ M+:,WZ![KD-\<'>N0O]:F^_K:N(^$X:X3>N M$=ZC1B!5G29X=LCIUW9+E&.'=:G.DFQGO?<+]?,NYRR[+/@Y$6V7PZG:ZZF& MG2"6;X:XH/'ZG'$E'T=;FHVBA'S^$P4*>\^%)]&T2P0*QB[CS6.^.#-4 YQS^9T6Q9;#<6ZY^?Q:RKZVY7 M'QY>TORD+-9 ([/I2L2XYM;F._9:D3 N^UF9(]V%.*"FNN'*X?RJ =%2ASW= M+$$7V,\!?;KZWY8K3\25@_.S)=:L6R.]USE67'1JMFR@,:MUQ%2>]?^]=T4XBUQ6"E6N(C*0F\)UK9("&6J:D/AO7.T[4L MM"\+#9^>A097UX.N;@[778:J!PLUT#S4VG%I4[TUD? MZ"''D/#AU;4YT+OC M@V/I-I5;2Q;:@FE1RD)%+AE!;-L;UYI%&F@$FI^*E27UP4I0VZ9FSR'LO2W8 M#L>P%V/P"$=Z9W"L>IDV]]I\MMMR)G $MAMW*!#I6<=".&ISJT\=HJ17WD[- MN[=!N SHZC_>WN*7(=/6DT]R*W6 -TRWSJSD2B6RWZNN47*K"]OGX0!7UR_, MERO7!=M(:Q%%-AQ5J4?'^+_SI*929B7B+?;-H0E_6PY5NV6AO-BK49SXA M&UD(@*,/N\7>#S7AHP8:O>:'9&TH5@>?^.D]XBYXQ);>/QKF9QN(-9[IGOY, M<=R[NNZ-]<&HJ>%_ TU2 X^*/LKNJ=P$Z9K/XO:@Z%S61NX&%_OW/!3^/?!3 M3^%W%I?)>A]3??5.^K<<\S2F8C>6J6@[!A"OZ)V25G5UXJ@&&H@&EII]IJS< MH=:A+10Z1BR"6Z&*=D[F\T(^08_^9UIM:5PNU?/1$X44% M1MK!6HRNKKMZOUOO>_D-M!8;K&?M,UR^T'3?: MCAM'"LYD+D9>3G+]!,@@DC6!'[TE;N?/?4=>?_\S#FT@H^O;X>/'F"TBT+H" MH=@CO\BFL?>HV7$Z $ MKB^T1Y#M-7"4'#0VA\%F:Z&PTVYVVAR6,6',AW5.[2C&5=/.:@]N/**'-+JS46^_SD:RA>07%GZ;VR7]C :=8E\?^+?Z]C.2 M*\)N,QJM:9^&1F*))0MO!KH]-M6;:DRE182TP-X/MYX=1=H-+&X!P@8S@^U& MP'K0P-/$HW84DT=08/(;AO;.Q>X1SOF6:\>[ MKU=.0RQ;61Y,,UG0'SQ/6P8QL) +?\2Y>=P.B)=(I[OP-',:UP7I3Z8E$2,B MN3-P_WPT_D"H!8OG 35Y2GOA<3Z2=,BH )XBF%;>5S"CWNVM]@>XU:OMK,C( MIBR6>X'XXFV.+PQ-F5\<4DO+1\$R>\TP@?5%N#X:XQ6Z-CB[!>8X13\AW@0Q MW7SB)FXC _"*L3^B"_PPH7G1YY<)&$48:(OH&-H';.X"[D8Z";4!%U\41B+@ M?#R _^"&8*KMY=+C+#P-75BE:Y-YYGKP#M:)+@1,E3>HX-\7Z35)E50#K*4+ M;W&XEL2K?8W:'C0Y2S]H? ^:5:>#C-6-[P@]_AV9J\01L7;L0=,<*TV=4B$& M#QY((+A0R;8Q$4G(A PYZC1GO963I@S=_YV:R36IS4S7,$?5.K>TS6%J<9:4 MSY.6W/#90[!&.\G5E@LP;<>9QNUS>=2[^T6G2^K(TK:QV8-H;1N;NERZ),DE MG]&.X5N'7U8\"J^?O"U-A?MP([['W_9=#I7EUW1_IX4!%3[VD.-#<4+K1<6GW5@T]J;NZ=PPQIE!X%.KY3Z$7A,W-\Z%US&44H,UGB@[>V? M*A;R1F&5[\%7YC"VP#\?J>*H?W4]TJW>P?BB[2VS.O)9%1OWQ(PVN+H>ZEVS MO7S6!H9[!8;BM*9Y!E'3UIK$JGG!9@<2NR_S@C1PN0)^F#MYY?.BO.P_5TMGJ;:1ZZN;DK+9[0J+::RO,HV!R^%]O7NL.*=L-.Y M8\^3';:T!GDJ=C Y$/>P5Q%VL/4RMN>/AJ2FZQHDD#)_GQ;"K]QA6%N-\\RR MH&ND=>L5X)!N ]K>+17\K M:O4V\=X8EMM^[?S4/(=XU7V]9Q[W4]'.O]?OUS4[L:CV?.3_M%&$?CIQ[QD]FO:BV><:Y3 M_BRV?.%J)-7K;)RYHE+W/@$_)2-NG+MEZ\D;8NB1QY2WFS M V5M0U81Z3-AN#J9X>I?77>,02WR8VV!>+V6L!=;CH[#E@-BRV$=V++V-NQY M%(1O-6X2H:!Y16];2][V0BSLY$$+-SAQS=>J)Z'0!6KK:DZ$B);+]/40]77_ M)%"\U7:MB8B\K>2VDGMLN36Q(/;!4JWUT+IG@I*%^&O? D$ M@9",MO-70D!U IQ6P;5*:PC*$;! #EBX"550X-YN@G8DY,=U-QL5M$@[TA!G M^LBCQ8GHDZTM01ZQ:&O&U&P.G3W=)@?R<,G"*P (0!ON#&R%& MN@,6%S5_@,CN?R=NR%(@8*'A=,+T#=D,5),_A1F2@0,:_M_$!D,5>H] ,L2$ MEW8(B6]UWMP&"UCWHTY_-=^D_TS7#5?_]8&M_DL2R7_ 31'_&"2A_%>:4'9_ M4>>PQB]R7TDO-<(++VD<-'ZP+CHJI75'R21R'=<.709C)+['(@0IANTB8Y=2 M2BA701/E!T$U#EVO(&(Z>%&?<%*?>!HQ DGH- NB#R MY&+ 6W\)U/P,FMZ>3CG1<0*);R<\JJP$,H"?ZP/=P>:!Z8QQ M"R;@]+$9GPC[N80'\^"_AO89WL/MM;V46@L;D:9GR!$X3,BQIV=AL(!/!A&V M.0#7TEU*'T@L(O76(ESANLGC"[;X%.Z+K=TCN\2/^)?0C7[PR<)N@.,&](B) ME1[F+C9%0'!AF)@[Q9<1 !D$S)V"4+GR.I68H<.B*;AT.+])<(^BF4E,@MML MAX_:[[ C7-=]97=V2*]_$!/_)";^+9VXKDJ0<$MQOMH,R!>$4:ZA@OC8%Y!I M[2-($XRAF3>&]A5?^,!?D./!X[AYU##AQO=Q)[@*,$#B- ^5#M*&$Y8HI.?) MPT4"8:.7Q. ZS6UU"]@]D3_;+-QF;% 13*=)2'C7- :ZOEHP@>]R=QO(G"P= MWMWB,9O(AAUF);I158>>_5!B 7:TWZ,=VC.8R_? TW;$F=1LA!),VY#(-[%^.K9>@B-C&J!806]T&E(L:^ZQ$OWMFH1,(? M+(X0>SSQA518'=-$!K#5/B:8NU@*Z/RL.PE7UPAS_A (I@.^">\P GM@GC=' MS2VG _/E2.F@]Y@N[^!C\Y'07KH.# 2!6!J5O:QZ\C#R;+@<^D Z:K598 MX#^,;T:Z1+XL4)N^]H%-P@3UB#7B44#Z97LJF/V#QWY^BQGSI :+7-@V.Z09 MP9Z13D4K.D,B\3 3ANIT*5!%ZYJ$(6T!2%<^ M,,T=:H=LKS8MZ$_&C05&I^B/T!IXC !QS]PF9X6,C(@<^&1@RQ8N&0H_0468 MA-B0QG=RLYL#C\'GF0],SQ@2)F,N,2=A!OD%U?O_\M>+-]\ MN7J)+A;$UD!S?$;8 .NJ(9C^@=R'X8F'ZLN*3 M$"P=W O@CDZ^&# MS-GT"&>V&!_">>&#]Z".%I0H\MD#3)PO$!^F%^'!10!_X7P@7)&*F\B#>TQ: MN;/'^H9<7]Ģ0PWAT,_4YXO/G;NP,,X]A@ST+?W[C![!)CL?R1NXQPNY_>E'ED-SDK0F?0(Q* ^SY M5YI7_H.97!4^S9>!'\]4)?4O47KX"+;'25"ODTC(4>>S:\5W)5R2J];+V:@X3,/<^9CH"MMD?AF9L^$ M?*J#1Z2T)@$:*K&+N$\B6$OGR-?8/+V<;>]NB6+J/2/99SCXE;R^(,=J!7Y6 M-;ZNC=:^(_@$"6NN'WFMD%5=2S>_ELX>:S&MG1:S?LEK%P.>T-R^I\Y[#L$_ M4"L?^".F#::J3T*9D 4ZB1ZXK937RGX$[^$H;QL=7]]V[,QJ_>8Z#BSK M/3;]4YP2SM\8\)(XT)F*;PL?148,3>-T(*B(5LBE@GAE@GV-,/4EFSI2JLB- MR.T2P[Y*@1JN:&O/GK6[Z+ (G"H09"4P MPMZ>Y.SQM" EPS2Z%IFSS3S\$>.*\RS5>*8'G"+:_%.^.(&QG-0EX)8*HEDG M_1[F_D"38>K.6PG=$Y_.2GTABZIG_)#.F5$(^ M-4+#MR'0=3Q%3%.ZUU'@=E5+8+2"Y&Z>6@-^CA?)"!"[Y<&&4JHSEVNEEK+L M#LL(@%V\@!]NB+=^L,<6\(DY[?F>^H_JTN*N_Q)>G0C*G:[/;$9(>!Q.@1#?B[#)+5O@P4VX/ MTFP&B#ZS06'(G](S/#!NJDV#)W%S"@$?V@6=,HFY2!2\[OQR@$X'9C'#.5) M))G"?+10#$"S]$,D:$ZN1!!*3\+V%@%Z]R1K/*2P,2D-?YKS:;#B;Z@Z37AD'/#$CCP?#?)S2 W; MAMSSP69FU;0D44)Q1HDI*?'@-UF5W4H)QF9]2PF^,A1P<('NF1 M8]50NBK:T25BB+P6=CGWVVPK+#P?X$V_!*B MFU'#M1W2O%S"=DF'Q!<+YDDC5Q3!_@XNT%R[H?IX6PONY26.M*86A, -\C4. MZ\[L-7)YI$@(&RRG43C ERG0W$&^FMZ,[ 63G]^)\;KE>W/:+NOC@='OFU6; MK ^ZQJ!K':LS>J]WG,[H'6/<[]9O4OW.\$B3ZH[[1YG4R.A96T>J%V3"CO!% M&Q\S^Q?3R+UZ<^H3T'>'5N#-Z@-.9_::+#TXI(WZP3W4FT6X=Q"8D/V4I0XM M[?9CNG.WH7\.74Z(ZG]^_ZBAKTV^M?;BEW],)M[+LR'3=)ZP/^G3XF-LD;[+ MAK[8MOAZHUH,A^"J'@0BL5WUUAC9I>7X7_$< MMX&^5_>)$GU'VO_Z"?2@8^UR#-'2BFC5:6FU:PS?VX6O:@%6FS;Q.V?)B3DP MK&Z_:LG)>&2,.^4_R:*%\C95W4UMJG+@Q]N.'7C91#SHK&="K$N M8KNL,^(U7UUKN%W_S?SP4?OO9)*K5LPV@_"7%^AV!;[V-H151G.L8@T7\"C> M,D@WF#)B8U$T3L3= ML,2=9YF6T_*Q-0;KI=)9)R$,LCL6+ .\G#Q%M!!$HIP&B"/I1X)BA%B--_?B M$#&E[KQ@DEYN-%+15^IV'3;U:!&6]>OF-:1T*I\\W04I3$"]% ,3?+#!'H2P M?73UBY>_>YPLQ 11'!"ITVW&*F&"_YR!H+Y2]R4%]W)8M'0)V](/$%33R;@% M*,X_+LB3(."FIY3)1PP'\_C'LROP+!0PK["$0-3?SSP7;[,!B?[X$>*^ER*E MJ"OB$L!\JJ%?+ ('IW0?H-*AZU?\;OTT9-ADF^^F@)D3VX;7RO!"SAP^1[?< M0GZGY($Q1!"E-PA_=1(&-E[04V\/](! 94/D@UM\? NU#:"_80Q#^:)I] M0UWQ.;RS??<__-X+7HEY3\+C3K7;(+W_0Y*DW E+O:K/[V_?I3XR\VVZ]Q F M>'E1/I(1*GV0]Z?PV8,N)18XR%TD"^I/@;HA1K!14 =F_U>4;=G@ G2' )#T M@@=J??%7 O^&4,P$[TX(''@ID*.7(DS:O>TE''82%40*S"DT!X<<100!C]VY MD;@N^P!3YEHFX+>:MEXF>J/-@P?4RKHV(;V(N-H"0E62Y5/V!5W+0.X54.N( MWSSA,P,R*#S&$63=A<3%EB99P+,32='>[7\IL5??2XFWH? =;J9@ 7S:S2^P M'U.)0?U> H\W30)O5"!V"5$D5VMGJUVJJTUAUO$JM$!OSV[@%>&\Z;)?$"[ M;WSUO^0AA **#5&XZ1X?LA 8;/].H*1MFP:((01?A9KL_;EO6&/N4X6_M*U$ MT[AN72N B%]\)&49:(C#X,Z !4!'X1CBRC1YH$(IEMVU5&Y8 I%2S)=4:;:@3D8R*J@\@2U/(-ZI1F?IHS:U!5K] M8(@(+XC[2_ S#_0I]&0#WYX0E"[Z^E,D@!!#^*!&^CC=/M^& MT=H(2#T%?]X'F? %&&=[^BAPYU[NB%2HO4AO++_D@!+E5YN1-X6;D%W:O)V[ M;*9EP/J?L?D#AHT^==92^!W[J>#D+"OAX7*;TOY#*OH0PK@H^HDQ, MBH\<6 74)B%[X6:((A234;2Z +Y##)67,HA""",V(Y/!8RQ\=\)F>!457"IA M9,0_I-W'Y#>PF0<(/8SFLUA/\31+?A2QO6Q"EN$WB**"SMR7:K9)1*7I$.11[4=BTQUBBZ+0W,:J(> MRRZO"VZ)Q"WVQ[RFR21#*C+)4/**>GII_?5.">YSG-1U.D:')P:J'-7U+:,W MKG:W>=/UZ>ZQKD_WS='E3FIL=$?51CK)G,:;+^0?PX=\B/>$_WG/MXMLOAI=4*.,R%$':?R^-'HF"C+HK_ G$/!K?'5Q^- M6/ZO8OE:;OV'J"@%'V2M*#6.2U[0@2L$6]APZJ5V=%G:3*)=3<>Q*HR?1F]M MSSUV2EL/G;%RLGW_2.\?Z6HB70(8&L-^;7BXO)AU;;N-?2YXM'=8SKPV<]C7 M.]:H3M=8VAM3E\MMHX[>Z]?JTE3+;1?+;2_Z>L\:O&P@GZ7O6]7J^'& M=(W.:;?E/.O\M4K@N6N TQ0_<4N+B]7(9Q.GEQ"B(9P^'NN=<57H@PW[?F)X MH4O?G9[>,ZUV=^JY.SU],-H3^:C=G*?>G+ZQ)Q#@H5MSS&R+:2EWPFIJ1K_G M>O+N93X%!0[ @JL?_UG#GFY:5=5#)4HTP/>_N"T=#0;MENYVKM2077TQ['4K MQWI5#M?JOJ%-W+..47W/3F[8&WC^]WFEQK<]![R@]]MSP+U=TP;JR+ZI#X;- M!;6\]-T9Z)W*@-_M[IS*O^CIW>&H/9BIW\8,C=-O2WLN\OS.1FVQ,2 M"= [TCN5E7B;3:_WIHYZNF691][4=E_/OJ\OP"$V^^U!2>.V;6Q8;<#\M$3> MA!;RS,+F%WV];Y[>PVP]_QTV9C!H-Z9^&V/NV["VW9HGEQG+J' YHX[!W[;7E>!0G\N!'I]9D5ZPU&X[86K)Y;\\(M/G, M>F[/8%3U[F*[-:=R,F!O>X<]@]N NT9-O-=^W,U\=<:PX1EE&'CC8=+U5H M5[>Z>X9J%Y/NN[3:IN%8[_2';WK"[.OCZI4HUS@GC9QVZS.J='WGE_- MVL?4NLM2M6<6JYI=O6=5!7JMH>-]H;LST,WE[RQN2]-6X"_'X%WO"3#2QL(UW=2!I7>&>^+?7U+<=&G[^L*T M=*N*S;[ /6WDMHV-85-CX5H;]$\LBEY3VVC9,CZ.0W>2\/:T<:#Y@0_+(^0P MCQ>F\WJEYQ8G=_11>T6EMKO3U4VK:NJZW9V3A6.Z-:R@OMN-.9E9'58!D&WC MY#WBY()!O;6G<1)I'_VI\33AXH4VM-IQ\?66N.Y('P\N,5G0LNZELVX/6+=W M[/* EG5;UCV!GS/6QWO<7J@UUUYZQN?T%Q,OJ/=@K7UC?Z']'\T/8FW!;!\F M/4O68]+OL'1%2KNPY4Z0H*.=$]-SW6ULIW:\&Z'_H *_NNX]]?_A/^1XPC> MZF&IT3*(W-@-0,Z99\?N/7OSX#KQ7#">^A:7^=>=[!5[ @H^B=>_4BC4/KW\ M6(3ZVTG%A6BA_N\\O52]M._8JTG([!^O[!E,]K7M/=B/$=)36=/"]5^I!%Q= M.U_A]3\G(>Y#\:OJ4'9X!Z.1M;2D"G)]!TCUVAS1U>XGHA:-^-J-86^F.]!O MM2&&H#27G P+IF:PZ;PHY'#!_[I6_TLM]@L*[1^5779F&P@#='':,O?\T^%21A M/%_Y5E=;ABYL+BQ=@+"!OSC)%!Z+ M; \H!N,],,^;,]LAB+AE&,#/*'P:R2L\R/Y.W"7AQ<+;J ?HU]PG0_C5]M(/ M&EJ!@JLH.IP:IC$L+KB4MMFW?NFMT'!HC'X5).P/#/,(%,Q6S(F$A%E9HJY% M'G(,O![,9A&+MCSYD.Z MW"@.25FF:'W:"[S"9G7>?/O7?]F+Y9L;^JOYYJ5*FHZZ?*1(R?H+Z_:"!_CG M"3" PR:Q_*#DAAG,&8:#RV;F"[Z8]7$\Z$P0*'L8E7Q)!& M7ELU44^5-R XK[8JGU,5G34>9WP#*LM'&+U5'ULBP=E\-_)9^#!1C842< M7D'6;)A4U^BF7_&"*$H5+?R.7YS.;?^.QIS9;JC=VUY"\\/?F!WZKX(D!C%\ M) 4EI_G!8S^_Q8RAA@+MQ?TG'&,]_51ZX+R,<7Y:\N5R C1?EC=AHYY7HC?- M;!>AZ&=^1$$F.AF/DS1;QB"UGF76>!?V+V5U;E:VV@2M^8RT&2[&."'=X81-NE^W\ M!5$,6KA,X8%# Z:0:P]A#CW7GK@>#W%R-A0O#X5LRMQ[\BKLNY Q'.TRU,WJ M_:ASJYC5^>SDN'45UU'5,!!!9P%T93?,+9G,FD!HC8.VT:E+OW\/_R/^8JCE M YH+,;4/XT7)Y"\VC7',&7/2Z"Z*T:PKLT0O#9@\FL/Z<5G2*\9)BW%OD3H^ MQ1F"UA!_!5.5W]=5!*;3@4_)8H=-SZ_7C\\OI69I/-?=GJO6V#+]11;9:63J/"-G/2= M= ^([ .*&B\Z$C8/!#]9P)8^@@KTZ3"3I#K3.SQUEQE!^,$-' S.')-&2\]^?.WZM!)ZZ8T82X@SLO#*Z161 MFO^<<;?1X1PN#L_$E\7/!OSTC^*_][O&V!J5_M0QS-)_7S?4V!B9XTHCK?_W MOGG)<^J.JHUTDCF-K8TC;3F6W7CB-2X\=F;DG_&*(BGHV$ZYCB7]1_I2 U6Y MPY'MC@>!3_S8(7NGG%;N6@M2[UU%N[C+8?O6U>Y&+J'#BU>F+H>,)PC:B M-8HTOVBWE%L^OIYHQ/)_%4^ \2&,*)7FI'EZ7- M)-H?<[S695?EI/[*S^C6@]@U$2S^N;__S,#R5ZL:#JD/O=""[0:599O#OMZQ M]FQ]7(,2[);;&L5MXYX^Z.]Y]ZKEMI;;JB)6Z /K])@5[ M(4Y3/,7R*K]G!EHR'NN=<56+UZ(OG.HN>%PZG=)]7JH#;T[H+>K\]K=O;66V@HNR;^F#8W/.& M"]^=05D$Q^Q=0$^_]NCB$H\N(G9':#*K]YV?Y"BCH>G1P4CO#-KT MZ.7M*W9;W3-[^BSVM8F;VM,'O6/+:M,VM(';-C3V/"UN8]E*=-X$,/;,(MH7 M?;UOCMI&2/7;&+.K#[L5TEKMSIQH9T:Z95Y *'N9F_.B/S9.K\Z.&C9WZV] MR[%LV\H_&5-9>K]R&?6E^=\7M:.]L3X8/?>(ZJ)VU+3TTA,>JBU$5MMN][I[&G: MV\UY\@B]:U9H\-UNR^FVI2VB>VHB%[H%/+/3!FS:95IOVN1I/;>GJ_>[59,< M[>:<3$'C[C3Z/*BMGMO)BM;:A(D6'!,V"T*UDT=[\5\MJ;*Z>P:'%Y-:O+0Z MN7Y/M_8%AGP6=7(-W=>QWC'WO'-W2=O:P)TS!\:@+9<[GZ,+$)TV=&U^Z/H[B]M*M4)=T\@\-IA9TWS?2PMI M^I9N';U8K=W7L^_K"TOO#:N?G5[2EC9QUWK&Z3'WCQFAFO6/4#^Q*'I-W==% M0MJ.X]"=)+%L^KRNX?-S"V0[^JC%]Z[K[HSU[O@"0J7+W!R(8_M5TXWMYIQJ M<_K&F7#QGU?<7+"KM_8T3B+MHS\UGB9\O-"V43LNOMY2UQWIX\$E)@]:UKUT MUNU9^JBRK]6R;KTV\7FR[HNN/K;&Q\L"U8%K+ST%-#YU:?T%M?>KM6OL+[3_ MH_E!K"V8[<.D9\EZ2/D=EJX(:1>VW D2]+-S4GJN&X_MU(YW3_0?%#_!?QWW M_OJ?\#]RG(4=WKD^K60H.=_U'>8#OXWHGO$3,3F-^-J-0:2FF]G>*FNC8&B2 MZT\LA*6SD:W(M <[TGXQAWVCH\%G/3?PM5D0:O&<:3,WC&+M[\0.8Q9JP4RS M.E9/UVS-8=.0V1'#?_O%'!L#^:JNP:O8J/5779N%P0)_[1G#G4;N&MKWN1O1 MA):A"]L,5-"Y\76(VY<>H]G3+.C*)BZ-,\'-Y[+ M^=.38F39*TY9.U#&%JO!#R,E[4EPS_ C\$5X I[%O=?<;"&&MMJT-*+B+IS$ H8[]N__LM>+-_8GM< 'WH,O>XD## 02KRU@[7/\/547+^C[.,8' MC_W\%C-@27L*NB@BS:4YB.D(+WQ@DQ"&?]2LD4ZCOP01*,6L$C9B8/0V2[

TE3&IB9H?^JR")M:7]B JY9"Z;-S>=S"\] MA2ZT-MC:.("MBF*V?)4L(7KG@+'NP[6^LK@#,U V\7!@9E-F.DZ#,Q#H%:-F:\'%HVHRV/ MS[BW$,G7HABU++T,?UBO*L3:>EA0M@RX8GE-4W#OV9L'UXGG(K.FOL63FJ\[ MV2OV) J\)%[_2J'X_O0)0HNWB\[30OW?>8HEM[3OV*L)B/&/5_8,)OO:]A[L MQP@31JH(@?RH!%Q=.U_A]3\G(2::BE]MHC06[YZ=6V&OSF<71P(<@BR^R(4) MIC&NXBFH,;Q;,I7-2K\T_:3&-#!J(4!2E'SY"BD#Q- ZP*)XHBI:-S]8H1NS M1:1%2W#)9^Y4*I U:ZY(;C70,$TE[0<_9S%"WB6:)B%FI;+\T0R\>&T_:G8"%!#;M!$@'EP8F[=W&2N!9\ MGEO4!9^&+*JY13[Q,9;G.97 %RD@6"^H CY^/(>P@__SC(7$54 KBDAHNV%? M/8B24)>+_<;O2>4/?[V#59&+'"4SV \7YP!#_/_M77M3XTB2_RJ*OHXXV+"- M)?E)STV$FX8;9NEN%IB8^V]"ELI8U[;DU:.!^_27CRI)MF4C@\&2QQL;TX M M5556OBM_6?1$FE*C=-P,Y@WL0YK^:08!Z4!F#&&13Q#'(AEL_]X#>:) SRQ" M_AP#A3/,6M$7NY*&KFLWL)S \Z FG@N".8@8"= MFW.Q,?$)A,OFM_*<'M?YKP]N5V\/NUTQ[-IMT>H:PZ$Y-$W;Z#NMGF.;O>9? MH+H_/*^?!;XL+% MGA7#HY2\Q=WB-*Y'A0(T+W@)*#(7[TM#^2(?\[BA?1$@"7C(I<4S6!@0Y0<( M*[[#95.0QMXC6(T?A$3TJ05DFH0^4.*GD.G^1"FY80C*RDK4BQ([?!7EG=T1 MN,("%@U*B&B_=F\-O3.?1[)^6B[G3!."XGX!T6"08H0E=>&A.HV '$R S.Y0 M]DK/6 \@^41$H+IINC:_+?-P0_L3XG\1R,S1= 8N.IJ--&SW?PK8@"A4^GC= M[*Q51"EEA/:,!ZC]'GM")DMQ6X:^%3AT.N6"RD>.TJPX&OL!&1XD#9M.8J5 M)%FW< P2&*J4W]D$E+\V0%I/?8]/+\@@PQ*M>XA[[M%V) ^#O-MD"N,9.V[M MQ+MH:'\D+$-C9 <%FWD?6-.:&AWY?IC]AB.]-G?*ISSN5/EAB3!E\CHAYIJ& M$YPK_-41($SP99C<3Y@MN!:>N/'T03Z3R 9+$$S)Y\D1I>9F:X\.7L2#"'T+P169X?C_2'"C\ M#GYPY-KPT@#SN;%'AIT)5:,AH_Q1)!'#.)RQ#,#R'#=$A(_KQ9B2C>C]1$SI M(,DY4 O"[J>0OA^(LF:VUHK$G]A_:^(*4IQ61(PG'MTP8CVV9&%2VT*L)JV+ MTLTYRK"H=7D >"-2'Q'DJ!(0W>8Z>X!S33=X.,,LC93@:25#Q M 5N5&BMY=: L60DGC%P!'./.:#7J6?(M86(Q\4W*+V'*3LJOS)/Z&KW QC?> MW0PRN1%YVK$P*OJ5ZCO*+@//@$/O.;2^L3]QI)Y?-63VI *8&OU4B_<*V)+S MOK0_\V\[.P--@[J+Q1CVWLNMP*\.&\O@"Q07Q#_@4.'Q'9 ,TUQYFZN"/[9I M3P+TAO0]O@A;3(G5EEE&5M]NI)K]DSVBII$1>$5O+ MGQ;J_-P#=%GO,)H(PE"H*(^T-O@"',3QVX"0=)8 ^P;;C;'Q7$ $3B+E]$'6 M9C,8!!@<"R'((?HI)CY78U!(V83GV0N4V$2AS)25H4DK@=. MTX0M4>68_OM\^(TA9#AZDEOLW=P.N'8I4/6Q9P&JO@9 M*4Q?AN\Q\E(F\H$?8-.GR"O)&3DL Z)RFZ,D]A#">/B_\!<8MD8I%K!E^+0 M7\"?NG8F$*GEQ"8R$#JG:IAK^-4!J0CPU6P4)96H^"DD\0JL!PWU5 "!D'12 MDL"HI@WC$'8\S UZIN2 C>1:4&:&XLG'[V$IEBJDPR@ E1;Z4$,,BOCT;X:6 M%Y;I)U]-W@>C8%I,#1/&^/8PCP)JN4P'L$!CC#<>%-5%4N4%;A$FY'%44H.H M'S#B@B@VM +.]=A^/(%OCWT_%,Q\ :V7DH"LQD,5&6+6,U=QX.J3'4^.9C'/ MXI'ZSV]ZDVFM?]0QN92TD MH+_TM1UW@^L_I\N:^0J!]' BX9O@>HI")HKBT;*^YG>1B$5[*5026J:9DUOKVR;4)(&F=40QJR?="0E M\UBEK3<5S7WJ&W=D-&NZL4%[UO*X%WN^,V83Q']7WE])FS2LS6<6#HJX(KW7 MR50[4K%:IYFBW9)\9T2)(5FZ(?(RQ?@LEV8% HNZ\01E,@?,7TBC*G"J!"TM MUZ.G<#BLA*-JECCBYQ?+=1>*2"IW&%S(7>(-ZV0@U[Q?9K8EP>LW;$W; KDS MS%Z62T?[A P,LEA!G,+'CI%IHZ!-\"CT8Q9 KK94/NX\!R\P%ZO,.3&?J/5$T"D__8R^ EM:$XW[L9K^A:LVHE")3M#_AERGM[*'1F!CV 6-F#ZN9$7L;:PP.)CS\M#IL+% M!AMBK:(5_)U *7F8AWR,+1[_,_QNF8_U3C\#%@)JP*=@[YR088%8UAJ&,14- MRS8==":.?\1Y/5\'IU@Z3^P>,O/ZJ+?G6NI0^2IU5]BX@# MAYA,%M\+4J@- MA/N>0?VHBCV2WGGR+92 ]< MYY<<%I 5J?\9KJP:SM$A14_J.^5%EEQ&8BI%L\'_9O_[KQB++2,JQ2!C!7^8 MJ-^_N"'"UTGA#X;8D>(KU_35G3D*I:=]"H:5CB;&Q 2&N1D#5Z@_Y)0:M(Q@:>%Q, :.8' M$6-@P/[2*[C4+YD822[6+S% RTGJI4 .0A?%355K)M4#KV#T?A48O97#Z+*T ME*N@KE&7.U1J5;ERDO,Y]%[*6=J*%59-3+$WFFW[@9,"IO7J;0=^E" DD#B)<11.3=I&PLW',RQR#Y57G]@&1D9@Q7FF!AA6 M8MT++L1-2T%]1J-Y^&WTB84=DXC[6),O ME#3GV>HKCDYS7N\$-UE? 852]* MA!'8.PB,LU5Z&8!FNLUV=IMGR38O8L^6R'0DCOG7E%S)GU(294E]+(%-F>9H M"(L*V'.+L,5>D-%/!>:(=I>7R?Z<] 01-QN"[T,]$+ $DK8^ =NZ'I6FRIY\ M,I*!IX>)RN89Q>0#\I1"?OP!/0QX*ZC^,!Y.P1G*7RH5N]IV/(W9UY2EF=/8 MX\(C!>5](YY L&V*]ZU1Q(?%4@2IP?!)V,2U2/![*Z!!$TIDZ(X#T:Z@_"#O M$^W#$'],RJT<"2]",DD'259Z$H!'%5U)S#AS$RHZB.ES8DX0];E,<$WZ6 MD!:Y3"D6NOI20RGO1-$ZA. ;8D(& B MDZOA? KN;D3+86@4V^9)#$)(%AH+!K%PF1V1D!WJN:2;F3E=>E) MF[@_4-C)O5MXH+;95 ^UV&DM=FLKM=BZ4<):[.7BJ1VYWM>#FSM6E9>7_&]= M^W[WV_F-=OGMXOO-U\'=Y?=O+PXZ]':Y@PY-;VA78)S'8H)+2)BP*BT-)-=OR,")5,!IZ M+(Y4>Q-$TA!N)AF"6\-PG&4"H:KE<1_-(#G4>WGJ1N^56XO*6'60D[O!+!EFL1%R5SEAS/1Z M5T*9#6A#[C$8C5F_@GK[%_N1H-_8X:YI3WZLA6-& (+4CF)T#+%;C*MB64H$ M2E!B!@UI6P0CIK:7R%P0N9$@G84S#-%L#<:3"J#(LA54F)&C MP?[P G'OAA$ESV[5Q1/GW&=I(7GR!SM5TITE M7.8&D$;J2:[T>*K=26?)R@_E"BUT3%EW-KS!0?\1".+#V)^HQDO'U,Z1]33X MS_X#>?>]3JW=[ZO3Z;0IDO+M,VV0X$,\KHVX2FC5F2DGWYOMFMYKJM;&] _GO:=V:^IP>V0["YT2"2)J8&"*185S9&+L)+9G5@ MHGJ_T34W@XF^ [:S!TOI;VE29G5T'A:R['?2T*JC!9*P*1XLCY90BI35ALI^BV78E+ MOJZEA>\*$==K](WWTHUY4WBI;MS PWI_V3\(_HH^065LF?&*72R=;=RXF4;! MQ9>;=?56IV8VC9K>?B&T]^WXMY*YI7PJ)]??ZG6C7]CQVM]F$E3$87Q:RW'O MUZ"C*!U+QU:K5%:%]$^Y..$@70?I.DC7H7'/ M('##'-JA_A9PAP+AFK&-X^CWQV@L4+/9:%'-/P(WUM5TB\)<2%VM.D M%W)JVP6^["4WF>7CIDM/^SWVA&S_2^!-WPH<:H?I!D)B8N-H['-7IH6KVS-8 MJ[29*') +CO21>">9MW?8X>H*"W^E,P,S\8SNG]9;S?3"YA32!YUQYE:CE#% MH@+;.V''&8*MW@*H]']M[B,&S&" M"=?U#YIG36'NPG9.O_D>\@FRACX(@H'CST"+74RL^P\:4PM8XS$Z';F/PH&E M34+Q@?AE5.\8\"9\M>O%PAE$\F]U! 2_=/R[8.I%18;7E_YE5U9Z[2ZNWZ_U.[-^#^#3Y$+VFKSWG86?^D. E74];CFI>F_P M;I#]U** VW)808![@7TR5!<.>%H^ -)3?^8AU6-X6]M(5YY;8 =P =B3*<-- MU#NDU>P=6<1+-^(> R"DRFW]GX?.=&EGNO96.M,9W3)TI@,BV'4@; ",?LJM M1I\^E/8W<(;G7EO+3Y_A-"+D-[-U!J/K'?IJ2@($F2EKC#)RVS MZTU]60]1D(+)'FP//(>LS/8UWK,^$OU&3R];'X)>MV%TUO>VV.Z![GLDHO/A MFU+5:-_\QFO/="NX^B_4,HJ2!AO=H;Q%O-GNSB#,AKZ]+=\^21);GT.7T>C- MZ,*3<[!;.2GF4THF<4;O%RO7M9!V[M/.)ZB- PRSQU$T"T]/3AX>'AHPS\:] M__-D$-AC\%G#$^'<6\&)8T76B=[I]W6SIFWW0XG2-J4H_& M"^(+/YCYZ>4!V<"CENEQGH)6#$SDZ#UL(*6>90L*ZQ.!H$[\OJ9T%S"R.@VY MH8YF$&)$LFUGJ%WX$ WTP+JR5O:/:P,/_E\8^_N7$6G0P-[B.O@+2;^Q8 MX1\$_#T%G'\T3.*K]LG#V*GC(4#3:'8?Y?I,$O,50OWY"3LCKQ-?OJ(@$:0N MW^NS"QGN\=#[+L(Z.*/_. AQ1878PJ.*IFGJ=3DSO2GE[X*N;B II+;24B[N MK$>0#;R!C^*ZP7T@9 ]IAY-U\_*G<)\UE#F*+*<^!.7STGMF89_J*W:-;@;V BDQN%K&!H>2*L?W^ZHXDN M5FD:^R\!QD$"]D$"B/\-R?\7!_XOR/\&6("# .R# + ),#8R ?UFYR "!IB M@PCLD0AL9 4.(H#QMMZX_':[:R'8Q=(OZ7!0^Y_/-U<0.881E0!_\>V88D;* MT^B?Y#TR\E-'?>KX\D82:S835J JT^EF1XM31U^LR-(N\%+4H;"M.)0C1=8] MW\^*5T4[SOS%H-DIJ;$V.<2I#.V1[6[/?ON[L]V=]>A[_O1).W^,A$W\=B!#V^N\F_E_.+PXL(%G@"U;U\AUR>[[OKV[96<%5G]'UX=>( M>,P/$(X8'2(/O+(<@F=5<]%H"\OV4KX:CUD? ?8S8+UM_]8+J_F_UY0*0$>8&)0N;JLML1+ M6[VV./#<<%QH??-,G*F)SZNQWP4V(K>,OS2 B44! M_^WE?W\;W/UQ<]NA<%2KO;FU7=DI\T8SNW'%1R M_9^?3C=8=^ECP)/P1+NU0>EKG[$0.7@/:$[9MA0"7K%]7MX%B$>]O 0>.U$V ME[,6G9QWG"R],>_>^A4)DK$K1N G@L](F9'OW..BIIV-+1=[,RFO\C,U]L&D MR!?9$J."JSVZ#ES/=F?69'G):RY/!!,;]IW!'!UM\L,7; MI&P>8U7'.-$!A3O5V"1?N)X%I@HLE;1/%5Q1QMPN+6>EN5TZ%)A?S=OEUG:? MFBZ!''$6NKLZ"WTR])TG^&<<32>__C]02P,$% @ :WVB6!)>1'%L#@ M")< ! !W:&0M,C R-# S,S$N>'-D[5U;=^(X$G[O7Z'E97O/&4+(I7,Y MG9Y#")GF#!U8H'MFG^8(6P9M&XN1Y23,K]^2;QA\D07)C'>8WC:_3^^9EX\=/[]Y]_$>S^>OM M>(#NF.$MB2-0EQ,LB(F>J%@@L2#H%\:_TT>,1C86%N/+9O.33]9EJS6G\X5 M)\-\\^G)\T\>S<:EK8)/AR=G5Q>?GAA_FU M9;3;[:N+LZ9EFNWF&7QLXM,/%Y+@XL*ZNFQ_@"^2Z;-[[1H+LL0(5'/MJ.FDMFM( ]=5R!'2-F;PK> M%.L5<=O91/![2_XN!1TWC]O-DW:*5$UYTCP^;6YWTA0Q6;*'YZW@QP;"0G Z M\P2Y!Z#OB(4]&T@\YW$6G!PF_;E]=7;6>I:-F]R#3\?SV3?FQV3X! M7] 0F^?!Y67#MV9$]Q)]V Q2O3Y$= ?V(7-0YOF"BM+_[A[:C7B$:W;R@\Z(VV)"#%-'9M17@FOK5;4L5AP 2Y)7[V.''9,K&CN3JU?&;."_^<:B%BG^VX-._@P"B NKA*_N8*-/Q$+Z MW4W#!1AL$EBHPNJ;Q-)5'TBH0_\.RMMXIJL\D!#[_UUO ]NZ>@.)X=G[N+PD MG\+OB$+0O/9UW"\*H'RI0?.(7\1QXX"?COU_;=3'BN<0<.I_\S[LC.B0.FQ00[IBE--WV&,HD"R]&YBLRZO#AKO2GA. $,)F!,$N$1\41)IBCDB@*V;W@E M;#S"'-1;$$&APR\)WC9C)9*G^R")WF])^5?=D9U,X?\OO8?I9'C??^@.O_0. M1#2#H1+)LW)(;EBCX3T*F+_AMS$WV&,T[GV&-OUOO1<',XN[$MGS?9#=DO2& M M'4E*_"]>"O^WU;E@_NU,/M\/AK\<&B]G\U1B?+G73 [\D2^@1DB..%EA[G>" M67U'$$Z7]]3!CD&Q'9O0Q8XY!$?G??CNEL=T+^Y*=*]DDDI=PV:NQPE\28A! MS$*A(!1+VOB"BT 6\H4A7UJ-H+ZWR?-$$&)WC-\]ZOILRT.92:V"JGV\"U7, M!B7XU B$CF$P#_QP3 Q"'_',)N"0'=MF3W(#Q&*\RXE)Q8"Y+M$8:'ILE;"U M=V&+^*.- '\DQ2(0R$"!$!1(J1&H?><1.L\XU8$L2:0$Y&07D 1UC0P]"HJS M:W"]'LP>*SFE.T3H+$C9#)0 G*;7G("3/PQB7C\@X%8C0()E&[KOS"G,"1T8 M^$)C#&23*\$XVP4C7-!C1BC@5",@[LA,8QCXK95F/M\ULR2KD4W'!.98CY0W M:T2@M.R'7%3 MZ6S$ @$/Y#.ID>7WJ9*.F$WUUHV#I!0@>G5U?G9VD1I*!]1DT?M(;IW"KJP" MZU0&HSK+4#X/)8*I,9E9JD7O WYU0D:KN*H+V3[,E5BFJE5[U&_KB'2BJJJ+ M8YI4B5*JC)7@44?KYQ1G=9$H9J-$)57U*JCTUA&ES)JM+D9%3)0(I:IG.>7? M.J(3%A)U\=@F4R*0*I^%]'6T>&;JKQVX%3!1HI$JK.54$>J(SFY10!>8''HE M)JE"6ZJT4$=Q88)>, M.#5(ESDN-4DP+%X$5 TY2KA3Q8H\N$.AO#F);NH?76P204Q1YS)!_C@,7$] M6^@O^(<(4?I#JCI3PA\BF2@2BD*IM?0!K8*S-OA[<5>BGJKX[%7/KB'8B8JR M-I09M$J@4H6AK9)V#0'(*4;OD445\E$"DZH1%5:U:PA49D4Z7K:F3&![]U=M M$ ^0H00X57#**XIO+8V^S*S*^9L'!);8/Q+!=>\) M,%]G*6NO?^R7\NPK0 EQJHA5:N@& E%28BUQESC9A5GC!!5/A^9R3N7QD[&S=A3]SQM?:8.TK0(EGJ@05[6?"B N% MR2$7B4-;\M!LC2*)=<9]_T&8QT")6ZHZM,&MWD,Q]]88;6R4G)0@I4HVJGMM M:HE8<#.,-CS;9$HL4H64@+Z6%L\\H10WL" B>O>5*2G4% T,1OJ0.BO.A72B["\B_B$N=U_*5? %*GTB5>TKY1"@04:?NR.^>Z]I_WE=R4F!Y M?IPJ\:3/BM5]LM\U_ M^'@]+>Z:NG%:_@J\G=;&P[<;**.G4R@6OL!%ZD,CY MPBVKENR).R:F]!Q3H#\V3TVJ$W%6IY9XR8(NB=8;MU^P<]TZ2UO&>?L"9""<0 MY9.7Z#VOB"&(&6YR?V,R[9>+ M0+&&VFQ>3_?RF5S)@5C%(3?D-D3X4_@$S(Z'\(2^HAM MSS?UT(H6ROQH;E]V50WCQ[)\:8>32O&PS6Q:A:&;C'UV3WI&(4ZQ:CH8;5E.*U2FFJ8)6P?HV&'3++(.)9E7H>P>^ MF9 ?W ZV,]9B5514E= L=8];?-O9_?8-;GYND%\5T^53U:D_Z*I,":0^L&(K MYO_\]A4(/2?$@#G!'$+XX=#Y0H1;L,Y;SM(8>0C?TB1[2Y4R:K+T-?!0@A?)S@1[GW?$L<8E$QEMO.CBS( MC @WBJKQ94A?4\55(&3?B#N.A1^8T_4X5ZA:ED-%ZZ/RA,'0VW2YV(?S6E=@ M>+YDT3',A)WY@,C7I\NY=FA]=>/WS_P)=4]5%ZI9]ASAM;\+)R>W8-M-5H,< M<%]8N/(-IR*K=F 2C_LR44FJ<14F>UF>] 3AX(D39HDG6(D5NN035$&?Z.;S MD2V/22=N:8?/0=!$LH;5K7R !(&PV5O*(T_$O",K3@P:%6#@4!- M0U[I.W[, N,_W\__ZGY5<]8HV'C$T<;C/KN6">**KKZ;LPI#RR*R)*I(7W/; M5V'8C0FQ73DE?*>F8ELDLVD5=)@NB$X](;=Y%711UOG]1U+NO4L04K^ IJ:X M7JQEV.[-_$+Y?GL%BF#\P%B^ZH'\)NN":"HXLS/E.-Q$UDG:BLDKD;CU8/(S MY,T*P>DEB1PLB[!Y^N:V;826B1J(=^8 M3'[\0*B,3B4H7WIOKUA!_]RZ:RS($G]Z]S]02P,$% @ :WVB6+LRQ];G M!P OB8 !@ !W:&0M,C R-# S,S$R-'AE>#,Q,2YH=&WM6FUOX[@1_MY? MP2;H7@+8CN78N8WM#9#U>G$&KLDVR?:NGPI:&EE$)%%'4G;<7]^9H?R2V-EU MKNVMLVB V)8X',YP'CXSI-1/7)9>]!.0T<6?^G^NU\4''989Y$Z$!J2#2)16 MY1/Q2P3V7M3KE=1 %W.C)HD3K6:K+7[1YEY-I6]WRJ5PL=#3/_'7_1,>I#_6 MT?RB'ZFI4-&[ ]4>-P'@[%1*:+>;S=9YIQFVSL_#9C.(3L\ZK7\&!]@5Q7T? MZ^8IO#O(5%Y/@,;OMCN%Z\U4Y))NT&S^Y8#E+OJQSAT.9K"S_^EU;&J29H+* MG"ZZ00LU.7AP=9FJ2=YE_PZ\JH5XJ%-MNH=-_NM12SV6F4KGW1_N5 967,%, MW.A,YC_4K,QMW8)1L1>TZE^ -N(@?#FK[$<]J :*R=.@T;P MV(/=; ]QYL%\(^,'PYN[TCJ\'HT^7/8OCK'-L\[MBS.?/M_R>GA7?"G*CFK@-M7/B/: MIB9",$[%<^$2 MZ=X<=M[V7IM'06-A\1\_>J^0483$64\A=MW6VT:'IF$D$CD%86"J8(;M5K-G M8**L,S)W?"/H'6.6HP11B.;B_M8+7$$J7(A\[DH&543(5,893:"-TA@3OM)?; M$,@A!&NEF9-()N]!4."7.BW>B] 8'#+E/(QCD$"H#.9=%,NQ.UJ"*UG,$A4F MPI;TL>H_ P.5$G(@4S;%!$VY?J9<@@[: D(VD/06:)J.T,TI=HO$>+X^#8RZ MUX:WT]>#-Q"QRC&B!(Y5!&L(-A3'9K/6KO(8N4,ZA7I4'J9EA#H1)6OAJB'" M%/%-@4$F?!)NTW0%P"KV]LG0B/%(D>(:290I"B#J-$*#A[-L3RAM(N)4S^P" MDBN6$I)N>KO1RMH:LNS"F UK7R6XVGL'KKM'D:!\$?S8LQ5\JE1/BU_'L<++ M(WO,81H):8 !@0%6XQ0H< (0A>-4V81ZD%B&W$?\1]>1LF&J;8G]B!6-3CTR M"J-#B/"V%4<(A @063[:PX)' \4X$/GY%+XH00F[@]4C^3Q MOF#UK'$>T#S@7A/K?@P9YZROXZE&Z324I=V]"^6U,8CE2#Y3ZM*@ F2DJ;+, MNA*GC%D.LL:R"5#+8J5:X 4ZL8F!H5LB7:8G6J(MY7VW)L5:2D4>2 M\@F=>3\G3:6E),O+TW)&9E;4%M @W%%SIP(+1Q66J20R1[?8B%6RQAX^]:]7 M+/AK#"2(?(O](7H9O^XOC,=[!./3]B:,=R:M#33O3G<[@QH7PE1%A%5I=2Z) MUZ5%G%/92 "6)EJ ">&MY%BERLTIHV\;EI86XXXAY5?%(]&ULI/3QT/E4%&: M B%MN0()0VTB-H +T GD6%BDB&QL@8*6#(E@<>W1BTM+%[C%X2XBC%],#=!0=OJJG3CEJW( M>P%/4C+785@:"OU:YMRB-=/6X7TZA$1=-D1%U8F-/XO9TB5&#".#/9&N#,<- M$O") !T6Y.72KF-O52+MLLP@[F/,0\1)@>>C(NPY[OOO(:V.!Y[(U_[C*5KB M_'4>)G6^G_T7GQ@N%T9MQ4Q$E.O@7)$4P>L%Y<9&W;JT3F+MZK2QRPS/-U!E MEBGG +Z0!L8::PAJCQ3:QTJ.$,+(NI98';^I@EZL._BM5&@^K[$R#_DXX?C_ MVZS_;7ZG,Q^J%!4BCK:WM%$.%2 ^JAR]W.[,0-Y3TO65&J==KC'Y&'-Q_O,B MU%4[$W^XL(729(0=+2P9[5F$5I4I=D&880%9\YG?8MJW98;PP$EB9ZI,LO6D M[/>RW?ZB;?]V0Y3"8X,$4L/8 ],>HH>/GBN8U7P&5/E4IU.@-)C+276";BJF MA*Q(]1RP=99HSXWR$8@1=/^5&J&Q.Q28W_N.=U%5ZQB1"*:.\YW*PD)W\:.' M1%ZDXZ<1%FVV=3N/'\[-GFYN-X-FV+ZEMM]"@]DYJ3]AD;S;.C"UD_N[@] MH8)/MU4\B.#QYJ-_ MW+U77KXY;./BX<]'#XD?.;IC5)N"D\^7)J=:/4RS!3I+9V9BX>7O1<=^O5O MT[IU*K_ABQ"LL:LW*Q;4O76MBD$B%F35?E(?ON1;\ MTJ9Y?YW\4)6OK]#THT_^D S3VD:0CI^\%[5@GM]SM^?]EUO8-ES_=I_W>O@:JXO-11 M>LWI<2-CN9-2XS_H]@H]N&6Q3@//=7]JV'4GPT3D&IU)5"Z_EC:>6=+T3CN$ ML^L\L'@:I6HMC@07,MAQ[=_ 2)R$9(RO@W<+EE$%%_069B(C^;NF(KER%)4L M*11[R)FLAK!*Y%@5IH M=B/V")FF\I6"'X>SQ>1\,AXM)M,+F)[#^/TD/(?P4SB^6DQ^#?$52L/9B\#> M"I#+J]G\:G2Q@,44O".X:LU;XQ;,P[$%YG5Z;O/-8QC-870VO5R$9[ )IP;1 M=P],AA;O0YB/9J>CBW#N3#_]'/X&H_'"2'S7];^M ED>(^"@C; ];[]&\?W=/^;EH-7I&AX6R'G5+V0=,G=?;B_?O>_FA">X;H&IHK]_I8BK[ Y/Y_T,Z_3>9 M3I;CJ,O*&1RA%8*:,;ZUZ:ESC?V(R2XD52:M32,FG .J83"$8])5@7E&B=%* M6$[RR+Q'@S&SIDWWXJH5+ZM"X%RU/M635MYJBO5L$C5957C M(57'M>=*W+*BMHZ?RWJ]UF'_X$6QV_)>E'W-;-?'@+I;F6W;D,NPD1F%3!\W M.HU:H2J.P"_NP'M\3C7U\I2@U]NQ?=%4Q'Q;1C+ MX]^;0KF[TST<*/OY:-=\!'3+K+H&;^.KY%3=8Z=H@6 %9S'4*/]I=;RML[:E M]8M4ON(/ VLQ8!J]15N$_R].3/]!M'N7DN$V4N ^\@SR_I-;@OMV:-L!_P6< MF[&5X M,S(R+FAT;=U86W/B-A1^[Z\X)=/=9 83VQA"@&2&$IAENH4LD-GVJ2,L.=:L M;'EED83^^A[)-B')9I?MPR9M)L-@'YW+]YV+A/JQ3L1Y/V:$GO_4_]EQX$*& MZX2E&D+%B&84UCE/K^$C9?DG<)QRU5!F&\6O8PV^ZP?P4:I/_(845 MG?YQ\=P_MD[Z*TDWYWW*;X#3LQH/(V]%O:#="H,P"%CKU*=-XK:)VSSIT*C= M^D3@12;C8=-\N><)RF+);F,N$ MI&_K.4ES)V>*1\7"G/_-,"8,SS[>EO&B'<%35L7O^2;HT5W,5UQ#TV_X#R/> M14W4-0+7,D,M-+L3>XA,,_5"P0]'\^5D/!D.EI/9%&9C&+Z;C,8PGDP'T^%D M\!Y?H70T?Q;8:P%R>35?7 VF2UC.P.O 56/1 @,1I:8%ZSY=9?/8;! @87 ML\OEZ )VX50@3MVVR=#RW0@6@_FO@^EHX#_Z$P;#I9'XKON=%.V3GJ5!1J!C M!@NB5B1EN3.[$VP#@U ;B:&AOE,$I9ZM 2 I!1*&,LE(RA&&,?-A311F76Q@ MSC*IT$@*8ZD2\%SG T12V549 I046&KB^IVH,(:F5R^&*'H=DE"O\SI,TK ! MAT;AS4'']]W>T/K:V">O=P0DAX@+M''+=5S 8.%:<6W",>&-[L*8I-<,)W62 M\#PWG."_64EQK$/,%$.'NSZ*N"L7C7V+X(5R/JG#0) 4?F,\8LI0ANSS!(8Q M9Q&,>4K2D!,!LPAK@JDJVR61];)<-OB2(.96I[=WT6>$4MP2'<$BW6T%C]K M\3HOQLFA=U2A^/'N'_+2;C0#P\,2.2\;(EH+[ [3-<)4Z;9R%?N\YHJ9PT)N MTH25;%O8:QZ2(\#&\5J']&C;KO=UOJWQLF>]TV: J3SMF0[X/Z33?Y7IY"E. MLZ08LR%:(:A)\:U-3Y5KPLTHS!3+35KK1DR$ %3#8+ M49!AGE%BM*)MNZ)! MRJUI,\5PU5H452%Q=%J?^:-6WFM0M9XY+FFR$JQ:OY**,N4@OX)D.>M67WJ4 MYYD@FRY/+4M6J5=:7TFM96(=W)B1$A)1.K'^"O'] ;7A%H=4C2=332O/I;AA M1<>:/I6U6HV3T_:S8K?A/2O[FMG QX""O

VY"+L)&9'+D_JS5KE4)9+ET_ MNP/O(=NF@AZ34_#RXQO+LG^!56AG/F[!&_"+_7=;1B41WX>QJ*A7A?+-07#2 MR^WG[E;Y .>>274-W-I7N2F;QX[5#+%*P2E4(/]M<;RN\[5E]4M,ON!O 6NQ MRS5Z"_>(_ANGI/\@HL-+Q1%#AB">P#EZ].-_6_''=H1_ >?NI4(F<[L3=143 MN//U;_< ]UZ%K+ !UOJIRC=N)LK/XI+DV%[._ -02P,$% @ M:WVB6#I)]GMH'P )3X! !0 !W:&0M,C R-# S,S%?8V%L+GAM;.5]67-; M1Y+N>_\*7.X3HI8L";=!@', :NE??[,.2(JD M2!$$ZI"'[Q?_WC;W_[^_\!^)]?W[QZ]&R1C@]QOGKTM,.PPOSHTW3UX='J M S[Z<]']:_HQ/#J8A559=(< _^C_[.GBZ$LW??]A]4@PH4[?=OK;[F?!LDU! M.?QAM3KZ^3T MW8]/WO[YF_=_DOV[N??^2?_;L[]D3Z6/_F?WU^]31_P,,!TOER%>:H/ M6$Y_7O8OOEJDL.JE?B-=CZY]1_T)3M\&]27@ B3_Z?,R/_['WQX]6HNC6\SP M#99'];]_O'EY]L@4TNIX^0EGLP\8\D]I0J_HYY./KM0UIQX_KW"><2VPT^?/%NG" MFV9578ON]"]G(>*L?W5RO(3W(1Q-]I9+7"V?'G<=K8])M-HJXQQ(E!*4Y0%< M9 D49L%0B&R,OBBPRM62V.HU7,(R]FH^^712MY!/<+9:GKY2A2M[P5Y)P%J6 MVW/S-"P_[,US_<_S_SVF%3NC#UWNK9Z&KOM"N\-_A]DQ3F0NBOF 8%&4RANG MQ6L2R)A2T<)E*W)C+C?L&Y,)_O>FLK0I0L@ M^W;-G;SCR?+X\+#_3)BN\/#T[TNW.&R%B]5B:)VLT4 <[0J7O906QT3,&TQ( MA,49OL;5*<\BBR"L1N"EI\@)< $Y&)=BM4U1L%%"C;1NWQP M>M]!RLTT?=#A49CFYY^/<+Y$VJ+VR2/L+O+(;+:HF*+-R!%AG%R5X)*#4%!' M[[P.2C96_P9D;8()]> PT5H?S8#R=K5(__JPF)%]?SE?8X7(UH6W+.,D,&"XH9F L@#WE-Q$I\Y*]!&F%!Y4+@V"TAZA$Q%BLYB@&E\68_*U[ MP-CE];>CFIHMM]^G\T77"^"$*>Z,"2X$>FR(H K%V1Y+!N^5=[%P39:C,5@N MTS F[VL$4-E)19YDKY40B% 29VOV'+((06F'Y#]1T,2'8V],NV=3)%P&^[8B M;X;SIXO#P^GJL ^;*9"FM4SK&.>I$A2Y9:VYQ: M8^ [Y(QIFQP4$ZU4,C8?%;4CDT[[>')6@$J<0[28($>>?2P&R68\ !_U?L/D M09%W#XINEV_K8SEBGX6H/0=6G $5(T7[3$9@7*F8LK4JM_;GUD]N0_]I+%I, M+%FK #*R BH0+S&)#")12.J]3,:TWGIOG06XVW3QK33[32IP:^$VS @MCK!; M?3F8A?F*EFY=7T=UDZ?O7TSG]3#L%88EOJD2W2]_++$G>J_0HMI+Z?BP*@#S M,SSJ,$W7NICGO<.Z+O_=_S@I4F'R2,:!L7H.2!%5%$;3^D<>6(G:#9!0&IJK M,9G]!D@<&0R:P7N?N K54;F*^DE ::W3#A@Z"N&B*!!H#4+.6*RGJ%^6UL'2 M=PD:DT5O *IVPF^&A]\6B_QI.IM-O Z\!!& ZY!!*;I__>FY2O?\3CXIK;05+ LBA(H]? M^@#>6_+XI9*:ZXQ:L-;[^U6$;*)\\W"4O[NP&QY=K\+\_93"OC, /O]\$AN> M;4P.A>4B6'"1MB/%"9$N.PM:>NYL412:MG9 -Z%K$U38AX.*YJH8(FE^&FN9 M$%/0'@&S+?4D "&0D8+@&5/*&L:&3),W*OTZK20Y"%]JXN.4-^E"DDP*X!X# M*3&38^68!Q9\8$:I@-@\UW E)6.*UG?$P'5%/#N(OAF\S\=GIVQ^.:4H11>8 M7F>Y.! !'LBW1C Z,872I\1-8S!\CYXQAU'G7O?8=8DW_? MXM2+I*PUM(VAKB&^!<_)Y2?;QEG)&8.]5,/T37?!YD\;4\C<2/,#B;K9EO#K M\7(ZQ^7RZ>(PDCFK@CD[Z%W1=\MI[O>QVNMQB5[GI+6!*2@^$V03Q0\.,_UH M;$+C2XRA=>WX]M2.*2!OO*G2A,T M+ZW-3_NJI8/N)$76?_2ZXT/EF+6AP!<3Q;RJ4* =A'00A:; VFJ9;6Q?6GV9 MC#&%93MJ_XIZZIV$WK1^:3$_1P5:1NN)&1"2U^*#G&DU>PN6!Y>%*39BZTKH MRS2,*?9JK/>=Q-W.H M):Z$K2%?I2M9!4&9!,@,L]FCB**UOW0S56,*MAKCH[%*6D;AIW3TYRJTE1UU M^ ')4?N(Z^.U5XMES:;O%PH=)KJDJ&)R@)S58Q;;F[,,$2EH-#I'JYOW*]^. MQ#'%;:TWF0&5-<1QQT1BP&A9 26FR]RUQ;+]_FX*:. MF^"TG1OE4C7L#IQ+"%R+P'SFF=R].SZX&,6 J?@6&51VW"2!.:1.65]U/;2D>XVB:BO#QR3[[RKQH>3]- G%^>J M#63AWGG,Y-%+\NT\F>E8R'2C9UGR2-]?SD0.=7AQNS*/>SB_V&E;:*N)X MD*]0S<$'IQD9M*P4N6,E5*AJ<"B\C#FP(%H[#]=3,R8WN=ENT4;VPY9&G"/* M.[3!D4ECA,;**WDXVA&O67'!>0F\J+NHCAAGJ6 K5+34PB5H_/W)93F]HI\; M#U1[^XZ^_O[\];NW^R]>OGZZ__OSB]1L/U7MBD\><+3:37PTFJ]VYC*VA[S33T4SN*L2H9OX7IO.:&]N=?7ZL^$@KELLL%3,RYSLLD]]F0^ZP#TR:9 MHK5O78EZ(U&WC';A 8&EK4(:GAK^_*29+>\IA/>>6.TB0*\2Q27"71 P7J" M9*3FT<@07&NW=T!VFB6;OM(XR<9%TJH!A:(V)U80L5P/$8-72KEHQ&"=H5_) M&)/-'@L>KTU0;:F]EJU(/3=K.D[V)&)X<4I@-2[,^F)J49<-Y'^H@,1S<1&L M*RP75%+YUJ=WF] UIO3V6('67+]M,U[G*;E X@3)P?58.#@?>5T-'((VK Z6 M]8DL92A^D"[(:RD:DQ,Q5K0UU&DSG!' SVVR1DI7-.VO66.=Z$-0#UIJP*2* M4T9(:UO[I1<(:##YI$Q7/2O.%OJG%HK%;$%E94EE+@&MUQ!2M%+&UBODZ]/' M9.2WU_ 5 T6VD>XP6-UH/%2FS9J%Z(%69[W?(@4()$3 VKO'HY:^>67!K8D< M56#>#BS#*JOEK*133&.4V>JD* :4Y&8R[B"PJ,&H7%**40G6VH^[;L<85VB) M,:$EOP>RZ+-LY IY$Q.$E"U&&WB2K2^:N+/0\G[WYBW1]ZT;.P[E-TZ4$*$G MOM&O.$<2U$25*$0=Y,Q0USR>D.1]17*12D*FDY3D0@V"Q&](&=6NW11&NTF] M?;G0^1Q M#%CHLB?" **^CVX5!"BY*((LE::MQY5>&,&9YM"\H\X/\;3I=J% MM/ISNOKP]'BYHB=T9P,VZL@-^B?7HE-+J\\)B@@,!9N@?")_BX5,,:A+S@2# MLCGPMR!S3%OKKOCYMM9\6*VU7SAG*73.([=H:XFRH/7K"BU=X5QM1!8\U(2& M:]VK1WW?YP]/]WP_>//\GO>?E?S\?KA;BJL?<46'$C1PV MJI*XHG7@M&U@J^G&#(M*0=<-P]?13;5G.#F$HB/JX)!>;MTTVYB%AN%92LF: MHA3X5(61@H!(S@Q(EA(7+@F*'_\2"9W[1-EW4D*WT4_;-/DU'3LO*.*9OC\I M>D]?WG5AOJ0=9#W&MO_I1(7Y_Y$1K[7R9ST^RJ*FC9^V.!\=\6(RA%PT6,MC MR2)RV7R2Z#"<#+\6VSO@-:E]':Y=N MA<,K!@'X\2]M_]\\6K_SV;WCU_]X7<5$U[-3:-(L%[_&Y8?R#W^.*5/^_7+ M'\O:4E7OBUW61,$>^1,?3[HPLO%*$/Q*+ 44P0$\0PO"B.B$P-IOU?Z,O6SINI&E/L-#!T!E)5.PB=P/K=8B_][_&T MP].)>+B>RU%E<_*;/,D8N-#UZA'G7.UN3Q#(LH)-(IB$3*GFL[)O0]\M*^4> M])8TN/[:^>=$0?VW#I3Y2,@G8M^0"+II6F'NR9OGBR^<>^?XY?0CS]_@FK/!Y*9A6$U2F9$O2(UX"*%7/':Q1]&/1LC@K9&Z= M8+I;#AO4>ET%S+.3EG/ )"LLL"(0E.$,(LH$W@1;1S\E'5L?;VU.W:@" M]/%B_(KJL2'4W[(4<=-]DRFA M\\,/'IZ[JG]H>*Z;]B_2EXOT:!B#G)0'%4PD^HH!F;26PDOA5&O7>W/JQM15 M\/#AN:OZF\%SS>)^.<_V_GPG 4^J5Y#+G6*C/0BAL?)"\ZM"Y2 M'8"-,4T4>D" OV] W M#N?'RQQT4_KTHSH$>!U%3K*GH-/H>AF=TU#% +$>_PI+P6$LAOOFD\"^2]!# MR#+N"J'O#0#:34/-LT3[Y=FT\C[/RW-#Q"?(K/,J:^#>ULN*O0;'$D+M*[9< M,F&;#X;Z/D6C.B&[(]@TU-$@">J7R^5QQ?5^>;68OW^'W>$SC*N)R%9@<@Z, MH-!2\1C!%:-)X]8&*5UDS:0UXH3UEE>CRWD7SA MY#U$XP*0^^D*2T;0;CF8T;I(RRV'6_Y@YFH'O31'R8M%]P:/CCL*=I:7T(O& M1LMB@*1J&X.M_XV'$KDKK_%\MZV4LD\A\%MYQ2-&0 M; 0CV822 9E@P18?M6X]*J(1Z;>\H_N'0.-]:'WHI,A5AT'28 Q6UEJ^VJJ: M!$*L/W+%E0S*NX"MZYVW/0O$1K^730^TG/XMY\ M??W-29F/BEFGI".QK>LP(J8@%-IQC% Z6QU-<*T+%+:C]"$D48:'67.=#HB_ M;VX8(&D$926+28%)-E+0Q23TXY>Q=97?VQ$V$,HUAH>7;MJ[![N M,M[KNGH0U+O@3_LSH9?SO.HNZ(M0>0\FF-YS&"9L#M=2^E2C'YZU_ZUI..W/V)*DD640I$%Q@H M[00X(PVDK(4IZ(R+PYOSJR@;TXTI][:_[JRREGGLC],EB>K%HGNV.(ZK,5VK=E>='M;. MRW_W,KJ<)"7W\]ET>4(=RU)RQQPXC+E>T:G!%^/!!)5B*<&SYF?VF])VRX30 MCP"D0=36T*BM@^8O?W8DK6>+3_.)B!(#V5!0H=!N:#V%S=IJBF(_DK7,-5%)P6TOHXER+A@")(28ZIRE?C2= MK'<\V\@2Q2>H6^?[KJ9D$VCX'PL:#50RH!N\3GQ<=*SJ/4(I=<=?T]Y]":RP MR+DN8&TB%)="D2S61FP6A) R(MY!JFMCC/1&_P8 M9L M)W/+:7KW7+DX0.B^C>R;Z?[NC(3[!H'C4U@/3JE[H("QX MGR0D$=$:3?S&UN4B^:Q;O+K^\I<(&'CSU8H:?WZX09_T$B#7FWU:1 M=E\6Y:##V?2POZ7@X*2([J";)MR;]PJ3&?+B\1N-)2JT8/;#*P:0@J- MAEE=<8!&2%J\GT__3?C-Y#A/R[1WI/M]ZG20![D\YP(Q^MWQX<70+ ;-118> MK"ZUS\^3-XTV@$PQ"QV%(%D-?\K:@I4!SK6W)NOK)>SG9 M<"D).RDIR%30T990JV"<%A#)QP1MBW094S1ES$;]1@;'U'3YPZ^BIFA[( NJ M/]J8!,,"T]%"Q!!!F3K0JMZ-&&1$(9CB@3VL9=2S-:;JP[_>XKD]LD:Y9$ZK MD=^%SQ=\46YTD<("8)=?T?WFI:>S*4^<[ M)'E,.]')%KM^Y]?D:BW%9 E#R" U(4495.!J43A&[X4K0:1R!_T#S?D:0\)E MS"OD#LSY;E@;I3T_F<1V?O9:K=71Y,W7_C0!2M8Y]8PL1#;,J>@\U[EUM>>P M'(TA]_*773F[X6N<:^;\;K#VZU/VPOLL*0!VH9;_DQME6?VNY) ,N2R^=47' ML!R-(=/REUTSN^%K='[PV1E[GY%]4Q&S7_Y8GEYJD:+B,04+$DTACI2#Z.@+ MTR*CLYI;0O#JB74$-$C M"%Y4UC:%TOQ:[H%8&4,+[5]W<6R'J%$NCX-N099Q]>5@%LAK7 =;1[6E8L*Y M<.0F15 ^.5!"]2=T=:JZE-)+)R...2U_+6-C:!K^JRZ=-F@;Y4+J8ZVOQ58G M?J7'@KDP39(.Q!:OE\BP]8CCXNJ%Q5*-.9]\)5-C:*;^JRZ@W5$V<$WXN;%Y MV]=W7_$A;6JU;Z*N4=WUF?O\6U?;AKC.Q7)36\;0@*JCA;R7"01]%TLPP:?6 MF\!%"IJ-=7@3/OT>5MA-PVPY80)#5!'!8ZZH,PH3ANI%3 M<&WL0]^?OY/I4F[Z5RR+#O=2.CZLO-9JIZ]=ZI>;TUWDPM3NTE)RK%>H.()$ MJ+,.F+*R>%ETZQMU[X"M!MWS5Y.X7I^RCN3SFH%VEGQ[9?JZ2@N,9\MM0L=P M@ M>OD/1F!R:L:'VBN[\5KIM9BMO(Y<+@A!9BTC_ Y_JE;.&%XHWK0%;0O%" M2V-XZQN'MZ5U3"[7V#%Z)WAH.XEUUQZF^TGNV[[OJVJ(JPBBI M@#-E:A900I!< O,N)^ZE8#;=X#Z,@(W![%5#/!MNLTJ%U9,*@I9.$KRHY]_% M6VV5D#D-,$;F;CV%^ZMS?4CK:&.+>D_H:SE$:1O&-F0I1A8TMQ%0F@!*4I3G ML!\B'A07WEJO6]_B,BA#H[B>XR^ZE@: W+VOHK+JYSYNPI=,T8>D$(P1L5ZW MH\!E3YM%S-+J*'EQK_CY% M#9*4UWWZZ;&5C;J0RVM3;1N)+$+4E@':0N%;'73'8%9B:"L4> ]CQ1)Z8 . Q8Q0#[[EE2.(M"]7U2UT-^] MVL87QZMCU- M%JW+?^[-))X7^@N=SVE#\A\W@9;M]GH&JGQ3HSJ-;32>R=)4?03'=&:#0-D M#&21K7O\MJ-T3''JN"!W6S7>$^1>DRUY1V;J(_Z^F*\^+"?5I,# N>A^P@U])7I82N M51$%@LQ9^>*YL*WKM;8B= RM_J,#WC9*O">\]0G*L[TZ)Y:,3S7(UA&4E@9\ M*AI8\[?X>M)'4-G^NB0MYTB[PEU;_ P3.>DJ'J_\)(T6*F?1.=UM$F! MKGV/RDL.@>D D1<59>;.H[Y7!%Y)]AB:O4>'QMT5/'"R[WGHYM/Y^^41=OU= MM=LG\Z[[I#;)NHWH;)2,(XB\G-.3L;^)KB@4'$O5#C>@;$D0T2!8P630RA29 M6S=Z7"!@EVJ6"Q]TUFI]4&%*ZW*UZJ;Q>%7[H=\MWF!& BM]7WN>*5(AL=-' MOB>08X?+U<26R(53 GBJ$31#3Q&T%R"C1A%B"DZ7&R#2F*0Q)=FVQ\SY@I#[ MTE!@5L2S*)QQCD*B65_M MP&:(^[,7,.:]C]B%]_CZ^#!6:_ML.CNF5WM;L=P_7BW)5->U--%$(U'%@/P_ M5J]CRD1?K42Q)AJ>F2BL]79^2Q('DLCZ.2^7RV/,OX;E-$U$5"6GD*%(ID#1 MOD"(J=?M:,^U$MDSU_HT95/:QK2U#XFPR\MO$-VUO>:TUG.%V=/%X>%BOJ;K MXC;1OT9$8CX(7_K:M*XC-[G_.]J;D/E2D -#55,!14'T/D$2I1CMK);#7(*Z M$]5C.EJY2S3>L;XW#'5.7J]?(CWV'W_[_U!+ P04 " !K?:)8$-6RT"=< M ">\P, % '=H9"TR,#(T,#,S,5]D968N>&UL[+UI=ULYDB;\O7]%3L[7 MB4KL2YVNGB/+SFJ?=J8\MJMZYOW"@R4@L8LBW23EI7[]&Z!(K91$ZN)2$IVU MV%KHBP?QQ 4B H&(?_W?WTY'/WW!Z6PX&?_E9_XG]O-/.$Z3/!P?_^7GOWWZ M%=S/__O?_N5?_O5_ /S?5Q_>_?1ZDLY.<3S_Z7"*88[YIZ_#^.F?^U_&?2^*<>ZN@Y,Q!T9<0I+'U'UA;O..&OJD/'0W' M__AS_2.&&?Y$TQO/%M_^Y>>3^?SSGW_YY>O7KW_Z%J>C/TVFQ[\(QN0OJT__ MO/SXMUN?_RH7G^;>^U\6O[WXZ&RX[H/T6/[+__WMW<=T@JFG<\F%:9I.1O@!RT_++__VX>UMI,/Q_)<\//UE^9E?PFA$B!=/ MF'__C'_Y>38\_3S"U<].IECN1+^:<@6E*YS_69_V2V=,)P1DFLXB OT4QU7% M&V)<]_3NF"^>!1E+.!O-&R*^_>RF>">G8=A2P+<>W0#MXD%PBJ<1IRVA7GON M%9PKD#<1II#F9[.O.!J=8,A_2I/37Q8 #R=?-@'V]21#74V9/']__^?YO[LR M,#$\' _KHO&.OEW^XSK$8R#@MSF.,YXO$ZL11I-T[4.CNDA-+O[E*$0<+7XZ M.)O!<0B?!Q_GM&/4S8,@X5OZ64<#MZ,YR1EG'T*<80# MGY SR0,4- R4T!Y"4 D"9\7SR%4R^I[IS##]Z7CRY1=Z\/E,Z(O+"=P:[CKN M2\8/IJL9+/5^J^6[3">G37F;3UJ(ZYP,POOS3Y-IQBD9*_2KQ7OXYS2:S##_ MY>?Y] PO?S@9STEQWXP6T.D]PN/ZQ6/)OB6,PU&8S8[*Q_DD_>/@VW VX(QA M]HY!E$&"*D@6"HL&4&FOD0R9Y->L+VUT^2:8AJIQSRYZJ2H=N9WT(>-U&M.1 M_*MX7B_6_(T0#6[LY8W8OXVF(>UW&B+WK _=Z)KT(NO=:($O2 !2@93)DU&H M& 0C' AIG0A&.Y;L"V7_FEGWA.1O(^(^2)^%=N;E+=3;"WJ68-J7ZU0I0U M"S%PL"41(JDY1$\>M(Z:1R%S,C;V1_6K_:/Z,8)M^%97>V45ROI$GQT$FT6, M J%H2],*RH+CTH!B(=NB.+,L=;+R(;FO"/%EO#-_4JCO]S%J9SG(Z^ M?\#/D^E\$()%*44"*92OVXZ"()*#F$(.,3*!Y;ZM>',F;PR\%Z1V$69/K^=[ MG XG^<+'+&:.V6K6A-UKP^X%MX\7Y&UF M19.%=QK(QJQR7&J;U44ZZQ-P;R,HI30X83Q]2RN)%PZY*VT6X1LC[P6_G<1Y MFV+9.2SV_=?A"'\_6^SS"JW1.C,062)M#S:!M[S0MR(*K0-S_#Y;>#R'W4/*.T@QMNTZNZTOAVGR906B\7QXF*VAY.S\7SZ_7"2"5X2BD?: M^*41--=$AIW+(4%=.%*+]7@#$'M >CLAW]8!TUT'/H5O;S--=UB&Y\?,RS4G M1B5)$36$*,GVTT* UU8 BT'E5)PQS#5@_X[A]X#W%H*]S;CMSOA!SE.GR0>2LDI,A*K+OE6>,=A@4H"73(AI>>&BQHJ\9>@^8[BK0VRR[9BP?TI=' MTT^3K^,!:JO)"0?W=/\?#*2#$)"FJS,T:IV'%\.O#\,/U*8M_GUS?A= M3/5H^GXZ^3(<)QQD7L@YMQ)LK%:_8QJ\T)+ !8Q.%.O%?:'*+4F^,?K^,-U% MK&LB(9U"7=> O9_,YF'T_PT_+ZR'S#S#8!D$YSBY\2F!8T%"0:ZY=)Z7V/"5 MOC;V_G#]>)&N8;I3T*NN+P=3# L@J9@<<\@@O" @ADL(QI/_+B-+G&,PZK[D MF(>YO3K:BV;ST6);PU^GT%;-U!R]/YF,5XZ[96BBTP*R]@44_5D#Y(IT2ZE< M)*L1FDX7/$%\UE)_&MX;)3$.O3--24]H_?3^-D-(C:*<%= *E\ MH"DIA&"U)B4SCB<;(LVT$Y'7AGO1+#Y><&LH[!2P6NG3FV_I)(R/<1% XX&9 MH)2#% (#E6C!=TD6T 3%:HQ9E&['MNM&?=&$=A;C&EX;!*$.SZ93FM_YR455 M.)KQV6S@3#U#=@Q8W="5C05B.A_?WC;X'?#<0 MZQJ^&P2CZEG6])!F>SR9?A]8J7E2F"$55F/>,4 004/B-BB,(B?=S9):,^@> ML/MX(:XAM4$$ZN-I&(U>GK/9(,:4I6("A&*)[#M!2F5LZY% MX.G:H'M ZN.%N"8MHT&8Z=I'2".V[Y=W<,_@>D-Q=J&O([A1I6BK?"8Y&*S@%K:F)>Z"B M)P?-&K(*'"N0R114AC.91(M8XM4Q]X#:1XMP#:.=8D]+BV^18[O(V/UX$J8X M.SJ;U\O'U8L;,&')LK,(J+T'I;0C>)*V#,6M(6P6;3=WZ6$,>\!X,Q&OT8 & M65>'--5I&+T=9_SV'TAV0DD\%I- LD3.78P,O!8*T'FE4'JG4K=HQ]IA]X'G M#H)<0VVG -;2DO]U.$MA]/\P3"_R.#TGJR\;R,(IL@(Q@*\5$FI1A:08TS+Y M;H<$=XS\H@EN(LXU''>*<*T2.2]1_4H_F0ULCMGP4, HM&03TA\1:[X(R\;2 M@B)HHE$V)"E!ZEH$)7$%+OI DT9R MV95+WG?SG>X<>H](?JQ U]#<*<)U0)#R M8H' ^*]3D9)6A&BG:-$B2$FN-I MC-;:&A88=DNLNC;_OW[S^\_'[[Y^.]OWGSZ>!W29M4['GYHF](>6X+OK^Z'U,QR MS0*02T2KL.6!5F$F 9G+WFB7I;[/$7G:NA^WGGA>\8",!8ZJ1 B>M%0YCN!- M34,()8JBE;/AON(?G>;TU/5 MN'SSFH/VXOQ^1<%H5TH"U-E$F@BJJ8*.IOK MV:FV7J'F*MYGGK_HHB M"-ZX,L@V@MY-38A-$/VPE4&VHNOAXA"/D?5NM, Q MZ;4(",AC@;KG0]#D6C+CR-6,0I9[+Y8_9_8?71FD,?G;B'@WE4'(^G4LI0AD MJM;K>E%!="J!SB%FU-XIT[P\6M+S$J:X)I_GX_S\H@C:A^C&![>*L/9C.WE+*0TDV$TA"ZDQDH(7W(4J>%3:OZ+4) ML*?2ATXDWESBFS/0QZJ?4KV:/?N "0DBN:N_XWR512<3.:=19< L%_4TD,Q6 MFGVA-\703N5-NN]"]*-6AWOP[(-2-)-WPQ(U*VQOQU\(Q63Z_:_3R6PVL*Z6 M4_$<>*GKHDFY!K4]H(A6%8&ZY-9KPW4$^\!W!YDVK%"S0O-^BI_#,+_Y]IE< M6J3%Z6A^@M-KLQZP*'W@&2%:SD'EPFH^1P TM$,:GR+]LC'M&\#:!UUH+?V& M=6_63GI@21^9TP$8"IHL4Y8FJTAYHS8*(_DYL1\?8(](?[Q$&]:_N0[F]\DX MW9@A.;#<8M:0T9/YBSH"V;T)I/="1BYRNC?;]?%,W\:R!ZY 1P'WL+6_GTX^ MXW3^_?TH$*AQK@;IY^KJTM>_#L>U5C:JS6]>X^LGFGXMO!XSD(XR1D'(P-1-40&!HP"K&;4'O M37-7HO]9/94R=M6@6SO/LZ*_!S_FB.87ZH6O=?,8T++J&4$ 82R!2XQDEU.! M+'QAM 7>V^)D,?HYKV ]D2MV@F]%V]F'L;'0_*PEG/'^9MO:716DY;_.IGD MK\/1:$ &.#+M')!97LCCC!);K D;1+ M08M$#EEV9'E'!9Y%!MP'IC-FQ67K;)8]H_M1HNS!B7F-!6E6N98A/,5/X=N% M]@U\YMX82YZ55TB[E"=DWGJHU\$-#U;SYAO!W6CVA/9&XN[!W;GB7U_.>2"\ M%>1*<\!4Z]0E9B$R4E81N4W1QF1#ZS./M4#VA/[N0FY8Y//Z3 [];N@1.[E?!ZV)C?#4,\91+0*? Q-J5R2D#06 (9!S%G@PH4?U>/)S[GX8O%M-NHB_Q_/- M]^%[/6R[J \BM91,%"A-$ZV#5>B1/JA"=N+KC8+.# MH/NA?WJ&^?:R!!Z8K^U ZGTI*2#I( OWV3IY7T661VK >C#[I 0- MQ-U#,&A5;N1PCW9O-&E'A#6T6[^>Y $YOY>)'0?'4UR:8C<0 M!J^=8HRV6I_(-PX):WU/!IYI)K*-G*4;1=YNW:#;?+07KQ(]";:'P-/5HY1; MV$1(VFE:]U*RM!/6BZ)>B@#:8,T'=6RWJ,>O(?7A>O%HT%WH? :AK!R2W MT&ETZ'4,X D4J$AF4BQ&@BVB.$S19"9[/9;:6Z5H*/@>HE-K["-T$HM7#B2K MQZ5&_HX";MB#9@VB-?'7:"4W+)/)(DTMPL(* M^$((O>)>>*XY+ZV=D7L![7^8HB,)/;@HMXY1KJ+%^E*X$.'6!VDWS".L8'M2X)8K7%1EE P2<@AUZ-T MPVF-JSDX.3M1/%D_077W*RX'W <%Z$_"/:P1:VW=*Z=NRK"2E680LZ\59 0M MCJZVE8^"U->1+7QOZ9UF/L93'G+VMT:TE'X/!V9WV+Q7 (:HI3?>$D#RC%6P M"CQ9N\"L2D4';["T/@Y]$-0^*4A;!GH(4"S.ZM?.?Y"DOL8 M+0$-(G-RHR7WIH^LB+5H]DHIVLB\A^C$%5 #1_8+UI9#T=6FK+1805 E0 M&T.J*5UKZ_+*\/OO;VPEX!XVAUIO8#@_7=Q '>>+4'JJT!0F4YCGD+0(!$UC M[1]F0898M/(Y(.^CHL,=<%Y\SD0K4?=@/]ZCYY(K*0K64Q-.^LG(P?'!U,9C MDC-F>$;3>OW?X[R91H+NYPKHN:>[@+B\@^ZB$3K5S@N8JW.K(49N(8E4F"4Y M)-OZGO<:&$]!>AN6;M_S["3BWDHV7<'C5+$Y& 3:>F2M7>/!\[H[\5)[.#.R M:5J[ C&:3@?J!B" MT%H FLQ >2%)1\D+T8ZLU&Q#)K>TL3(\C&IO]*(Q 7W<]+]$M/!0:T.7*9[4 M4H=?\#P*_FXRJ['OH_(I?!M85QL$8,VE8+5)="2Y1(>0,HF'ZA2,ZVD,?7."=)7R0+CF0RA4%,J6A]@W\2P-W1W M$FX/J0NWITEKT/DEWO>U ")>#Z?#N/9O!Z??9K4 .=D/"=)TA./+V:14PIH MG 631"UOF25$JQF0,***1?HB6B<[M4&^-XKU!$3>5L='MU;=-'([H(71,DWX M,L-:12WJ&E6OV4-)\>"XCK9U :N',+WX>%93H=]IS>Z\=#<= M3GB**4B-8*+SH,B0)I^KEK()*H3BN%?8.E[^7#N<;,/-PQU.MA'L;CJ<9&MT M403!2*E >58=)5XS?8MFVA.M:P?OK9/IZ MA/SIZ6":NYW20@WTT78@C+T[\W^/TXPDYW0,CD M1@RI9R7H_0( +VH%, M.M9ZF++$UD?LFR%[\=K2 P$]+#'742X@S0[.YB>3Z?"?F =9%E)?1\N>]H*L MI!(A,IZ Y>(*XT%$UKK&Y/V(]DPM.@F\E[+;M]&]G+:FUF/ !I+Y7AL2+O(?/F2KK@W=L8Q^(Y,X"IMGTDZQB< MXY:6L<2=%05I6>LO/7-OC8C6HN\AF^8*Q%N[F8["!2DS8$127)X8N.P=Z&2] M3<'0Y%M7KKT'SCYI0R=1]Y!@OJSJ5M;2"D#)1L:CWM>@4Q/3;FU:I#&N>W%\*PT/3Z"]U M07 17"T'%9/.H(HB%T'F ,A5M%X9P7+K?;7WU 6TC&=F%:U@M(NIFB,6DR:I"]OP^4#JPC9B?.K4A=ET7CL]Y;,T)],6IU^&"1>'Q&L08:X(H>T'>7.G#7V,\D06$K&B<-Q=DP MQG@%SR()[QS1;'E4LPFH;5(3-N/Z-I#=9B6TX>@VX8T$O#/V65)<(!,@0^;5 M:*V9E^2^2L>]T*R0QF_D%SPOUN_(1M@AZ=O(M9?CA 6PY?%I<$Y8=!8"9@FJ MECCV9/M"L-:%'&,TS%T0?\@N,S M7,(1*2AFDX58Z _%E"(XM>.*Q2BRX#)&_8 9?\>C7S)U+:35W[MY.DW#@>>"EB.+F3/C?>"M"['=A^]" -8SJLA(VPNM3):VJI)4B$IE:_P/ERS-"7VBU1 '=>E\P4DMO9F.B;&)[%(4R7B&LGH?9'\J\T[UJ\KT+Z MS^'\Y/!L-I^H\C.K%+RJ-!;]3U1A('CF!8,",(/O(NGKC(EB(OK@HI::] MKW7TX&XT3V!&-.9N8]782O ]J,1'7%3:^"N.<1I&!.X@GY*TZYSGPR_XYMMG M,KUQH!PRBUI#)K"UEB090<9F\#JY: /Z&)K?M-\(V=ZI2@^$]-(Y9CK\L@#T M5Y)9+0UV-+[\6>U>4C==1M,%Q%J_G"M)5CA&L)Y+;EV20;=.-G\0U-XI2UL: M^FP0L=3;V<#0!+4AQ15*)% BTPZ+)4"*T5NC3+:Y>='_FR#V3@^ZB;F/K@\K M0)>U P>.DZ[YY,@1KXT1A0C50Q?@+#*9'5>FN=6Y!L:+-S.[BK:'W6!5I^L< MT5('?Y^,)RNH=26*W :>G <4M2VW,0Z<=QH,\QD3O#XT%WX? MVT ]-[N*Z1K800G:V7I)6\F ](?2M.JE6LDX6J64CK'YO>?[$;UXI6@H\!YV MA\N5:Q58&8[/".1R:9N,9Z^P3*9XT1D/9V^^T2Y)XP_'8?I](9\[2@5&;:)3 M@4.QJ8"J6=HQA0C<2R%XB(6EUHFU/4[GQ2OBQ;WYJ\'/W%\_M(0?9P!XJ,I,NE:K.:M#%H MTCX&*==C!9X,D(M&6RJ69(1-S*;6]:>W!OGB%:1?6GHH%7P-\" IY1PB0F"B M%IKR!;RJ)=1Y(0UGVLG-;D$\5D?VB_^MQ'F;6]^5VU5GC=6][8O03>W/:Q1# M6KL2;4>%YNJ$E_7F;M(,A8DWFR!WIODN+"^>\29"7G-0TOF,_B:P5V$V3 /. M@PQ6!,BB^D\%!;CL!-@4A#%1!V?ZIGX!9/>\MR'J ?:W%W(/9V0W0;T>CL[F MF ?*>ZV+5F"S2>1%Z]H.!2-$M$7GD$,JK5?W.Z#L*?N/$70/X$X M^$(^ZS'^?E9%2BT J*H#BO7K+7[MQ7 M/=&5_DCI(?YY!]BE?M^N \"89,Q:#Y%;!)7)M0VL>,#,2Y#6T6Q:[RI;0MQO M+6I"S)/VG+A:V>#CIZ/#__CWHW>OWWSX^.;__.WMI_]W'6*;8@UK1ME-X8:' MIM=?$0>?HW7.,G :=?4U$1P6#K86?2PAY!);YUSW7L0A&F&"LH64N]Z72L6" MCY)!=E%Z46M9BM:5B)]-$8=M^'R@B,,V8GSJ(@ZWIG#K]H07W/""#((ELUMQ M4Z^O%@HRL M=Z,%S*<8,^.0HM2UHBF"%RI#UJ3GPE@C8NL&9\_^2EEC\K<1\8ZNE#FNM*?M M4*K:)D'5'%/'!4@AI788+.^I8?NSNU*V%3<;7"G;0K"[Z3^ALBK*D09K4]-$ MM8W@DBO 9"Q"&4Y>5#]E/I]=_XE&5#]&L'VD]Z]6K_.>B;6M\V1,W\X6*YAE M//I@34LL$"(B4,M8&A43)&KWOKGK0.T3Z9=9X'W$,B\@6FI\9N ZLG" M6POHB8V\[L3=C&HWDWH?9QMKP3G'$_-> Z^WIY4G'SBB#Y!8U+11V62:U_S= MH2IL:O'M2!.V$79OAM]B"USN68E;;E M;JR*FAWJP.G(:>/R#+,RK+2O'W$3 MQ!/$E[N3IWT=(M@?#[R#GA1##Z'T8YK?CP_!Y. ^C57&K188,V2::,[)\ MI%]<0 E@M%6%&X%*M#[.O!?0/JA .XGW\.9_P#G-#_/J9&6)"I,P1;#:]HJG MFESIP3%:\)AF@IQ:$4OS7I/KD>R# C20<0^&X$%*9Z=GH]J)8G%3H,YXBB=U M@_RR3,5>^2_!>.[(076"T]RMLA 8.:U1:Z.328PW/P[8&-P^Z$<_3/1PA+T^ MW7*)S?KL= X,?*ZM6&O=BUBKX@D=;4W%+UFV;EI^'YY]4(QF\N[G_LX4PPQ? MX_G?;\^-G)/)B)X_.Y?%!P+^ZV3Z-4SSP KTSI/%(T1MB18(:[N1L _%9I$UV.7[LDY(>+-';F162!;0A:I"\=K^I!7HB+6Q0+'F36GJE[69HJI/,>PE.WIPJB>.\GM+[R70A^$TR_I6C-;:0.&S1B^XY M%KQ2"8R)Y&N9PH5J[;>T0;[GZK9[=GLILTNS.&_3]/IL6K'C=#A99H;]CE\7 MOYH-$JIHE$T@$K-DG-4>L,QSH/]S;DHLLGD3WLV0_0 ZUI:='DSG.U N>@!> M@A2,%!RMAD0S)D6OP0#:_L$FY)C)6%2F]7VRC8#]D!K4@9L>[.W?AN/)=+& MGB^**\'4*]6O:VFHNHK6N]1WK:+_?BZZ@2VV&!4=:&\C2R&--"(6 MS4)K'6N%?;_5\$D8;G@GOC9,.,C_=3:;5Y>&4-X1^/P4OGW A,,O=<\_.)[B MP@4::!&]R62(,I\X^;.6/)\B!)!/F[.3(K!TXR!Z;1>*QR/83^W:(2L]W+*_ M=W-?W0[#7(,N.)XMBDD,8A+<15OO>222DEH$1KR"NOV;R(/ANG49RT? W$]M MVQ5O/=S^O\\*N ,Q6DMVH_'UO;"UHS<'AUQ###D*61-]VL8 <1H\)"=I_,M8ZDI T[6)$@^ZPXR]E*USI5 M^V%4^ZTZC5GIHWK!?1 7"^9 H.%)I@"H-'D.* 5XZSGPD'(6,BN=6Q_[/PCJ MQU6;[3E9HS6=(_2;. \+!8\W=]J#<7[S#:=I.,-E?O71YX4#.U FJ:(Q@7'U MVH2J#=ERK4+($:,OG)7F=9-ZF,9^:^93\[Y&E[N7+!]^&68+1> M2NG!YII-D5,D&U EX$5:@UR0>%HWR;L&8+_UY_&R7L-\Y_C[PS4H'W4R):PC MCJ,%Y^I-D2AKGZE0(*,NR$)*Q;9.>NEG)ONMB\^ _35*W?E,X/9I?JV18PV! MRLAEH'GD#IQ$SSOI_W9U \64I X"[QXA1$IFH]=%M;/I%D0B1- MDE9J%GLY2VN4$M"X0,C[*7X.Y[H^*8N1AJ>_#L=AG(:TC:_RD&;$X,+7720C MO:YYJZ/9=0W>J%!(E]&:% QI-MV.A4-J]/UH>AS&PW^N3*/?P_QL2H;1Y=KS M[K)H7I R*-HEHT .JM8I"EPGT,[YK)FJ/6PW. /9?,0N9ST/CG)^DTXJ:WF] M_6A=KN^A+A"=EI \)G2>!YYSBSGMI'!(CWQ>/;#I0;3/O\"(Y+8()0+8:&@V MY-_2WJ4<%,FXSP:-:=Y^[-D4&.F+](V+CFPC_-V4F]@$T0];=&0KNAZN._$8 M6>]&"UP)UIGHP&IG0,F:/J]Y FEL25ESLOI_N#[6C19@.: MI0R*G"P(6D>0WO*85/9* M,@OE?1^F1]/%^G5^AK$JUSG@$I.ST8(67%5U)G0N1D@"+6%,B/<\310?KOL^%L\<3?P_2\\^GC(Q(;/;9)Z&'["30J M3KI:$*Z,>ZE*217+:D.5(A M+H-71IF]^G[ENV4]G\2Y$KR^.WJ1_B\A,G*=?)8.T6BRHIJ7--T2XZZ*GC;3 MDUO>99^D/)?XQ9JI+8QR)YT+G-?^4W7WM3&#CSR TXE9RQRWOG7D_0XH3U9! MJU?Z)^UIZ,&960>K?CE%7%GT&P#L*:SQ(+BGB7(TH7(#]>C.PY,H#-,9R=Q3 MP'2M'NB4(2--2D@\9,6E#TJUMIF?2%$>"(@\C9YL(_Z&^E$]A0M+)X\>(%(ZZ;@/K('S. UC]U]G*.QT"=M)-:#2_P^?%_E3YW/ M;S5SG/UU6IN9!<;186 @4^W0CJ6J;@Z@6=1),YLL;WUM_2%,ST(=VMBC3<7? M@WJLX)"K'H?CA?-_GIIR7*.^9#,-\S(F\&X8XG!4J\N<3:?U6I;@,;OD R#R M>B,^* BU:DA)I.^:O'K/^W+GMD>[1RJU(\J>,MCR\>ST-$R_3\K[94[R^^DP MX;6YM0W#;#%@;P&:QTYZ%Z$;Q4S((3HHP9"^*J$A>F/ E]KT##G+S3>)9Q6Z MT<$R)H(F^ZYVDO320:V;#9)QFGE,-F#S6W8O,72SC9YT#MUL0\IS#]W$G'V2 M*@ WPM&&$#PXKQF$XID0VF;E6R?QOO30S5;T;QBZV8:&)_'$-P'X1^AF:RJW M=LD?P\.3*$PPJ0CI)!CK(JC$Z2VIMU^LDT9)'^D=:MU;X66%;OK5DVW$WW/H MAJ%PSO (#E,!)8P#+R5Y (C,\UC3\NT#IO,+"=UL)?1[0C?;2.PI0C>)>Q&3 M3(1/:U UBR9:$X%IAX+S4A)K'99]8:&;+O9H4_'O+'1SZ2Q^FH;QK"!Y_GEU M$>3\2LA1,D,"C5'ZIU- _F-JV':T]%#U MM$.H,[$B!/<2>*[=N'/BX(40@"X;P7S*Q>UF17N!T>GVZM6S!:J':/4>J-!]Y!M/IQ0MA)PF&69*>35\^",.P=0&K9Q6UCE9HK0('5ZPGUY:1@2HD!^F539$&8*EYN^R7&+7>1D^Z M)QQN0>E1ZZWHWS!JO0T- M3Q*$W 3@'U'KK:G<.AKY&!Z>)N%0!F.=3) "#[7U+8)'9R%Q$V164HKF]7-? M5M2Z7SW91OP]1ZUE"M)$IVE'3IJ< A7 ):Y!1,M=BCYY_I I_4*BUEL)_9ZH M]382VTU8\@.FR?%X^$_,;S-9(\,R7!3XGLUP/EL*H0:N5@[A$&?TN[-3S+5L M5ZWD1A_Y$D:+&X:&:<>5MV!YDK57$.V?D7Q&):3BM34=;V[3]CNC9Z&*;6SA M9T3]CG;9063"6BY*\<$^9_6^8UY_ M*'E_:K";T/VCY_AV_(4^/YE^'\BL:TZS!$8*0)/B$IRF]U?R@-XDFW-I??^Q MEXG\HC0',\-[0^+]KM1*[3HKZIIRV()FEI[R') MD_\@-29A3?0[.#EK/[$_U+Q'16C8;:[ZM"TGN*QJ,CY^5TO\?A@>G\R/RM]F MRW\ZL$H(:7VA62I7NQV35Y%+(-\[&)6PMF79)"UN=XCW0(^?,<4-F]'U8V3- MP_AXN' 22C+,)1?!>8>@LJZ72FF6(A;'DC$Q\+Z.-QM/90]4^CF1W4,3O*9O MZZ*3T62Y) 1KV MWFN]%UW_R$7Q];].)OGK<#0:2(&L*-I]F,%()!0&L698D47%BQ96E+AK>^,! MR'N@Q<^9Y![Z^_7@!E_]14J3L_%\]CY\/[^(9U(PM=2CLK& *K0UA20D9&Z, M4BQKN8OD\?XFN ?Z__P5HXGS>LM4P'(XP XP1M:"I[ MB(XCT":'-AGI"WO60>^UL_I#S?M2@3Z:0+:5W U>2#S4C,]"40(5@ MP/L4((M:^2MK(VZ:YL]*R==.Z@\=[TD!^N@-V7*&K_'\$M>G\.WJ%#WS&"*W M@)K$KIQ2X(.S8&2QIC#MG>RK1FQ_L_I#R?M2@3[Z8+:=/S/8HB=Q+G&E[-[J\L_VT<\G"^R/HHD^EI^("S,Z*OIWO*#XS6 M_^7D;::[BQO)QA@?. 9@FC8LQ@NC/(L;R2QYQI3CX+E4 MH(PMX&I#,69B,8XI%O0?-Y*WU)/.-Y*W(>6YWTC69 .6%&J9]EKZBVL-4=5> M[0F]H.4X9-.Z4.M+OY&\%?T;WDC>AH8GN6"Z"< _;B1O3>76-TT?P\.3*(R1 MO!AO G N<\U.R> R=X#<26ZXDK9Y!>B7=2.Y7SW91OP]WTB.-D>7E8 L"8]" M'L#+Y" 'EZ+3S!GKRX>74?)(?@UW.'X N.SW @ ME/%D604HH@=EA9*T<8J;4W"CO7D=YR_'9// MB>]JY4^5E.1919I^O6(?+ -7:*W3#K7,S@A6\@ZUY1JX'T1G'D_(KAJ;K"[6 MA"MW:L8X?WRHY8$'-HFF; .Z4<#DS@M(ETJDC+ N>0,RT"ZB3* -1#,).EFN MDA,E8.N#^8=1M0N>W#G6N8-F43NOH@),-50IA(= FRADS4HJSKG0O"; IMAV M%2QIK"-WATP:4O%<0B5W3NG5]T_TB'/C7<> TDC 4$M9QV3!!VG!,N/J*3'M MPJWK+6T Z^E#*"W5X69Y\<:T]. 5WSU[>L#*@=\ 8D^!E W@/4THI3FUFZI. M1UZ>2(62T85<00Z>K'UZBW(]RI<"&'WI4^3D+[:VII],=1X(KCP'S=F&CAXT MYAV9GLNX 9HD4!D-#(VOD6D)+BH)P6HE;6;2^M:GU9>C[]Z/:D[.I(ED>_&T MAZ-Z7XHFN?KR[>GGZ>3+PO*9+4$*F@MYAQ:X\JQVJR2GCGQ&8 F3ED8Q].WO M-V\ ;/\THST?/2P,OX5T0M;^]/M5 :QJ'D:6D@\:>,2JSYQ!Y,Z#H(4R!\N* M9JU=I'O@[)^"M))]PVI/-=#\ 7$T(T@?_S',*RVEE:VV+3"@L\B@ZHE$B$:! M*4F)P&,R-Q.ZAO]'4^&:807:+(TF&BI"=K)FET5(!)" M0"6B1JDXS:WQ2WT=P?X0WD#"C2O\?*!)A='-M:3P:+P3#(RA&2DO-406:ODX M9X,R)>J@-GIYUSQ\?]AL([\>*MW\>C8EF9Y-D2;[Z_!;_6JE:E[H'$K(M$O4 MLT3A(S@9%'!3=$HAH_>M.TC?C69_5*&QY!M6CJE*>C@Y_7PVQVG=9B9E_C5, M<=5:D0Q)3HL,.;&!YFK) ?%ZDG9HH*W@T@8(?-@!'/!:-TZ$?I^1,](.]J< M:34DH(<(T*_#<1@G7%>O[Q66">UC*9V=GHW"'//!Z60Z'_[S_!9ZDD$:8VD/ M4[66GZ"7)JA<"+>.Q665M6J=J/-8K'NG4CLA;9>'$ MC:?,YO<;/4TS#Q9SH MGUZ;HE%:),89:.3T/F7/P25D9'19QBQJ9D3K6/4.IK5W*OS<5*&'\N>/G.*& MDY/.+:@_+6T6O-Z*M2Q-_K^#&2YE4HTC)]V M?=5+#25L]KXS7="BY&!][;F4T8(O1H",,0JAM36Q]87-_F>U-^_ ,U6$.R/+ MC3.L%]7W+HMDGQ=CN+C[_6DR#Z.;OWU\]G6'P9ID9K>:;*.L[5_K-/#=\,O5 M,N7GPU[J=!:&+ 3#0'AO03%+EK!P T\0U0J M;5.0$C*B(L\WD00B3Y"MPF19K0+2^MK@YNAVE;W=7%?NSM]N2LASR>"^9U*O MOO\6_FLR/1R%V6R1'8A6*"&"I\U#,U"Q&'"\2"C(18PF&=I==O?*W83W]!G= M;17D=H"L%Z)ZB(G= _42Z._A='5.L0GM"NP[/9?'** MTP\X6G@KLY/AY]4Y*,,@5.0.A"UD5V@3(1AEH)H4S'-.(FE=6.\>.+MW/7NE M\N:!=",>>CAP_(3I9#P938Z_OR)'^+8HSD'FHBU+,@%R3*"\2!!9EH#9YLQB MR+SYZ>)&P/9;;=IST\,:\VD:,M8)K_ 4G36A\,"+-J!R*A"<=B"E=(Y;R:-O MO;#TW]K1D(T>4MGOD<3O.#^(L_DTI/G J^23(!^VI,A! M,700/:$,"H46KB;PM;[BM!FR9Z4[;8)$/5#23V+472C/$[>DR(5SK8#QC*"D M$N"5JF>Q044A3!*^]56GAS ]*V5Y-)>;J\OV1.S6H[XK#0L##]K4$FT!:;FU M6(_QNMY_9WTGK_%'9Y MJ!HRF=4.V!'4"5)B"P: MT &%4\9(V;S1RPL]5-U&5SHY7._#E6W4I NAZI;$/4,3KDV@?O'H6H/U'<]5'T$;\] W21/MM[#(41;E+H_UE'JKN4,NVH:MQS?.K/:YN.ZSGW:Z6@=;$3?+9 M(W!I":5B9&)8)L!))9(6-HL8'K#MMQOQ67EZW8F;]"[UG48I_S;#82U[/2GS:F>G,Z>E"9J\&MHW)3 M#@.K,LO$)\B0:?I9(6TO5[(RQ&YT0MR!<-L6840JP5'[0TC >KM4NM4U;N M@-)UA;C^V'/'D7L;0ZWI'UBH765*I'W.&O"J:%9<*JRT]KS7P-A53*<%QS=? M^JY2?>IXS6PZ7Q0ZF8R&N1Z2O"$3:=%>=5$+E\7DF:N-)7SM&&(X.'2V%B"D ME8P5:^1&NP8-*O'3F=-)8M@W=C[LPK>I:;X!JFY#)(YA_ MBHA(.Z8>H+Z#F'>G!-QKXS%;$&3NU/+%"5S$")*,H%K:N$B[41&"9T;^'7&* M77._C70;QQT.%U;6?RZMK'>C=##.;^LUQS@;YF&8#B]R 9F.I@)3N3OD7;T%&L\UZ')DN/0@F($LEW336E M#UG-_15<.B&49ANE53[PKN\9XPV$V<<]C2GFX?S7D(:CX?S[8OTJGGNI&&F7 MYF3?9J9J_3L/OB9J)E0B-:_9JS MK:Y[IQ-^A)X#\'_CYC.IK7 3%Q5*M<\Z6@8V1^&UZ[SW-3T5@W&.J4T M9L-BZRRV6R#V@/5N@NVC?1/.YS@]*N 170TI& 1F"NB7LQW$)U'L%QY9[+51K4N"OT,C/D>R.XFVEV9\Y9''6TN(+Q6 M-9.,@1.%7(Q<8LH\%L/T7IKS?;S>707K8ZBU>FA6 MI59\U;6,O71.)9>XU!LE%CUP\'(QX$LWU1\OO8:EH2] K)I_;0"C8;K$E:%W MGQ_Q2.'?I*^#Y!IG0%R%8VBXX%F!6+< 6F-HNS?"@-8B16MHG<&-UMRG)O"> M'(>V_&TCL,:\_4:2.CT[75EKTBHTG":CZD5^'11XX11H)UST46).&[E #S!W M;=#=GET_6NR3%C)KG(+P6_AV!8CQ.C)3.#A'V['*BD$(LH"LP3KKN=/8(L'P MVJ OD+Q'RZP'D_7O8;JX0?,AS)>KB?8RAUA 6S*D5&$OX?,5\ 63Y8R\@> +@0_,U>2&1+J:C3?! M9JY;MZ/J!/C%:M/NZ>HA,>&Z]7N^*T8M/0T,1M9+T(G<'-)[3P(IVCM!6+'U M>>1M%/OB#724[VW&35O&KY1DV 173U[!79B>QC?HRMF]*M!1X#UL-W?B8T(K MFY%0B5H?.J0(T>L$4B8=@O0NR-;5NG>K" _X"[O2@VWDO/,T9.^T"2;5#,G: MJ=DJ!DYG#L4JXZ6W0 O/A8K"GQ9M.AM5[&_:.\<(X;B['Q_=%/)[@6$JU=9.?D M $S6^H/UGD6,B8$VC',N>)8WRTBL9?:.Q^\!I2T$U]""7UQ87> Y.)[BHI#$ M$I 2)D:'Y+2F@.3,!)IJP0"6L<0,_=>9AXK!W/GP/>"QN]!Z2A3^M$R;&0CZ M?9:)?$)>"Q@5;R%DKPF:Q1AM9E&V#MU='?^I.7[7I*C+HR7:0SK@>0;3;)7" M='0VG\W#.-/V?W Z.1O/2?M([12I&[+:V5K)1/@T)ZV.FA03R0GHY_;'W9CV M1 M:2KZGG/"5EM:_!UEX+M!R$%%ZTE1+NPG2M'U&(574(9G6E[YN8M@3YKM( MMH\K0%>2E"\LB/.D@%>3Z73RM3H#X3/]9OY]0*N21$W>I5OM)NLZ33U(B1X]#.-?,Y%HP\R=!_!-5OCN7*M4X;G(7, $HTA3 M)>UTUEA@9,V(B)+9G+MIPH,8]EI#VC+0^QG/89A.OU]:O%I[CDPS$"5&$@@M M9D'6M?Q_.R-:6YQ&]K@VVK#:_";#C[^'F*(1^-KQZ%\X&M M):^41N#,.K*0N09G48#PV187R8'6K7V/3;'MHY8T8N*VQK@^?)7#R>GI<+ZP MB1#?XS315^$8!T%P[X36Y#877E.9/7AM%5@FLPU,YA1NFN"6IT.$&_X3\-OF ]/PO08*^(+I ,7T"7I%4@6!2CF M$$*1$F0I+D<5LKE9U' #!;AKM'TCOXE4UQ#?3X."#Z2BXS-<]4*;E.4/9J^' MLW!\/,7C6M$S?C^DOXXGT^^/[V'PV)&:M#EH,LU6G1 NAUPTLEA"N=1#;[Q* MRB 48R4I8W5R(RM0&&>DGID5U;K/U4.8.INYZY]_GL,7A+8Z)04NF&I0+?H MN01&1;2.NZ*;EU^X#\_.NB6TU(-;UFPK@3^'_@GOIY-\EN9'TX\X_3),YQ=$ M1,$2:V_IQ&MCXAPR!,YI'S4ZDBT5<_0MKC:N&_O)$F";D3II*-S&MX^7>&8' MX[Q$M"HDO0FHAL4 [@2R^]( W3FZ37@C >^,?1Z]M)8YD)D;4-Q'B+8$<$H4 MJXWS!5LT3=@QZ_?4$]@1Z=O(M8=#]B6P9::/8%&Y0O-)WO!Z#BS!80VPH"Z< M&U^<;1WEN@9@MW?7&Y$R:271QNFJ'VK48[3)0)I_9*I:R&M_M[-RSD>S4]P>I$F:Q+YKY;LC5KQ6S@&OJI8 M#-+&6C,JL]96^WUX7C+]S>7=0XK,4C%_)3$IG1)M0.-^MSM-W]A&UA M/D$ JD_/KV^BFF\2"[@'LRMAO2><-U"<'?N%XTCC&_^^ZS6#G]TW/#ZOV\2#;P'4J,8WT7OHN\?PPB/RL?Y M)/WC2J39"'K=M 0C%/&4Z,USQC/(I61EE,LV-+\'?B^BSM?B+YY^-#V7[F\X M/YGDM^,O.)LC7AGSU??;'UY][#R2@S6M?FGHO.IHXT7 IB'^>*)AZ,PFRVG>G[+-&%6/%K0F>QR M)8*%(*P SX1UY)/;V/Q(_4XP3Q6'?#KUN*FG36CJHV74%3RK&^4;(.JK:]@M M-$]S>;\173?;1[61]6ZT0 @F"Y*U1ZZ] X6)@8ODUN>@BLL\>WH77BC[#]S8 MWQGYVXBX#](GIZ>3\0+7P=)USTG63K8FW M4#Q!]Z".W-RDNIM@>[@Z> 71JQ6B+!)Y60&2E?4B@HX0F$B .OLL3519-F\+ M> O%/E']&,'V4?=KG;&]6+V2E][)Q$&7$&I:3X$@4P"42I-OSQEKW@OP3C!_ M&(1-:.HA?'H%3KTF?U0^3<-X%E)E9_G";(*P)P/Q871/9#"VH?.FDO3#11^K MSL-(&?GT3*D,.:*IE2\-."TS.&$)*XM6E.:-*)](6QXR,)]*6;:AH''!F(.< M%X(-HZ-2<#H<'Z^.?;ES-&D!DFPD4+5RKLO9UE-@VI.59<)EEHTO7X MP!=RGHHIP% +-#D8;3'M%?"]";IP0=5AOJ>'T\T;=CY^WEMR3>_E$2K*-W!M;DH>+L_*WX[3<\B)B-+DX");S MVDM'0T@8()58A X.M2Z;V!77'[OCWD#]"'[21FJ]6(S_/AGE6E.K)HY].@GC MFP #($_^CHF9"?# MSXOE*J!UV98"Q=9N6/11B+(8\#Q[[/%W_C#IH70)8* MOPF4AL;?C>%W;^)U(&(=G1VDV-<+OH1$(_)8EQENZUI36R#XF#QD%9F,*H40 M6_2XW0FA]UAC_?"YC?!Z,;8.)Z>?PWB(LU6QXEH=9%3:R-K >C=N\/5!0V5F4T\UK8T!(6S M DYYVOMM]BFK7%L1;$S9Q6-?,EF/DTT?+=?.9L,QSF8'B;;XV;G\ZO)14D!A M$X.26>UV'A.9Z#9"DDFB*48;W_J$_@XH/ZRQU)*B'KIRKH-5OR2O8OF*; *P MIZ/:!\$]S4EM$RHW4(_N/.QHJ;D.E)>L;4P)G&&*7$XR5\A/=& B3Q9%%$&T MKB'^1(KRP"'MT^C)-N)O;.K].L)O'VFU'"UW1>0\2$D;J] U92URLEZ3SA!# MD:'&!N)-DWVMQ7#CL;L_EFLL]$D;B?60Y'>1MWJ^^U5C=#*F;V<+O>4NFR*, MA:BXJ+FKHOHA#G()64NEC?6M4SOO!?3#VQ3MZ.JA]NL-3*L790-0/5D3:P$] M\>6 [L1-^I)Z#[;#>G!84A$\.M#*25"&7%QOP'MWM)H0-JD+XGW=JG@:O:1\3)J&PR9Q5BW0RP0"^-@F'#69Q,D;YUA M_@SROMK3WDVRC4/YGX;S:A&]'>?AEV$^"Z/%XE;SR9@.N99WLJ"0UK58FYU[ MY"H9&YAC&UU]?B"@OW;P']9T;$-'P^+P:P'5(AX?<+0H(U&CM9\F;\;S6L9@ M^6)L +7A&=^6\'9_!MB T/O4HP/3ZLTV)#0.5/T'?G]S^GDT^8ZKZF-.N2")/ @R*%",V5K% MBH.UG.?B> PWJY2L#57=>O!NC[=ZI6#22GY]!*Y.PA0OLZ+>3R?'TW"Z4&>9 MLDZ)K!V3+8?:'PV\4P6"C98V2J-HHJVC5G>B^6'MCL9$]=!K9#VRU3GQ!MCZ MNJ]X#ZXGBEXUXG CU>A 0!^7%._#&!S+V1L!&&M%LL 8>*8R2(STDB1TV#X^ MOG/E>"B>]02ZL8W<&QL2ZW&MLF.CE DS@R2]!V6M U>*A!)JG;L#J<8WXW#''5[^AS&']_]^[P:+K\W?LPG2_SBMZ] M/T<]N_7+B]2CMS5/F[;3>@[LM4X6. 8)JFAZ%[ADX++7W$I1I&Q=^ZVWR3R! M(O97$NYY4-YOO'7QRLVN]"$?%!91O6 7VV M7KE-+M<_.-!>T-U>I#V79SFK(J)O%CKY=C8[0W()KUPZ'\@0K/0:(04EJJ]7 M($I,4(00:%+,+&^4=?_(DAL/X=L+K>F=F![ZP%_!^GXZ3+7QXP+K()G"E+ : M\.[5&ER'$_(1Z:F+:.,'3#C\ M@OGHFM;ZD!3]QT&*9 0I\@>K^U?3YIFFU5#6)/K^M.-A@/NJ,HVIZ2$1_7WX M7M-@5H7UZI(7Q@D/)[/Y;)"C+KE*05NF:W$:!=&B@V"2PN!L3J4T5IO[\.R5 MEC03? \YA ?YO\YFB]["LT^3.S)9+E#3#GD->TCHT9@,/G$DA28#VW%DH,G5 M4EX:S;&UZ=(%[UXIU3?&Z*_8Y?%[^:#4RT@6/- MW0^FT+Y+DG$ED-?&O(I2HN!%-\^&W@397BE2#V3T<7:T'N7?P^@,+T&Z8F1* MN8!7.M1J";R"+%"RR3J&[$5I7TY_ V _@L)TH*)A<_IK0?1788:YAA:1;+!S M>9,Y=KS(!G[U_?(CRPWZX&N8YL4??\?9_&)B?."MS!BX!YD9&6Y*&0A<,]JC MG2&SS6C$C0H8;7OLU C_?FG?4Q&[)B[8[?+W912K1K'S^]I-:[B 5PO##)(W M2?@H@1&.6IC 0M3&D\M Z[ C5X%(0L/];*ZX]%[1NGCQ;:&QLZAW2MJ]KIF@.$X MSU:!HM>81O17'F2:5A#" 6?1@!+5O&:*3*>LLT",UJA^.C3,1H2-TF.WT)"[L.R5 M5C01^!I-Z!S$O8P!74 <%,.9R%Q!,FF1Y8<0T"1@B#*XG+DMK8^#U\#8*_Z[ MBGD-]9WCKHOIW4[8.IN?3*;#?V(^.*V%!E&P1HEZ1Q<_33%,#NCJ2]ZG)S77A'(I[?.^E!L$LT[G3T: M[5YIUXY(6Y-8USF]]O5P-I\.XUF5_6\AXZ?)]83@ZNM=_5+Z^GF0 M;^EU(KLOYC6'+0O^!KG83B:74:<*B(O0"1#ZJ"7QGTVJFOPJSX>QOXTF++?Q^2/T?F]?=W^ 7/"X/X$JV1TD$1M2<45QR\+ E\<#X&&XQPK?.7-D/V M5%45GE9Y[M+D=B3V<(%^[99Z&^_R/O$F8'LJN[ 5T*>IP] 'XW%-?O& (M,%,QG,V:+7,*%I'#9^!;CU0QN'9J=8V+/6I4HNE>[:0 M@%S6)U!%2F^%)*.CUOXV,A.TE"'%&'6RWO+2.E1X#YS=.\@]$GF7RG1DH8>; M]>N@B55M+(Y:VQ" VUK'4W$-T6D%:**6W,G"L#>[Z3:<'TU!'L-"'RO(:_S"11([*&K2S3_3(V?I?+=^P3>;2DU7=6?3&[;F#,KILC%[,ZSY3B*:)R3D%*B+5[ MDP8GG0$M2O)"VO^_O2O;C2O'H>_S+P2T+R\#=-*=00,SZ48\RZ.AA4J,MNMF MJLH]R=\/5>6*U[)KD6Z5EY=&8+A]#WDHB10I$ED9XRIA;T$.&"(<75[@8 ;2 MP^J'*9Y]GKPG@#A)W]\/D_DTI/DURA]2_WPVJPD($IRT6*SVB4.TAE8J*QI\ M*0:*884<;:;1B=9&O0/.-YOM3^_:4WB,TH&3RXN+,/T^E!.2\:R?%UL>[FP\\XQ^D%:?):S+9%!GL@Z%>.T$HMK0L7" /.J^?Q^.J@7_@X3*:W M%DO]_Y?A/*8OD[/_7N+L>H%DY8SD3$*.BM,6JEP=B14@8F8<2XX^-M^..LO4 MS)EIBV]YF2($*N9J69&I?A^CK2EZGZ%$S;.1OM"Q]3ST?9A"AV-8!VN=FT,; MS+$40-S84!>G/;BQ#!U(ZW#S]1"N51"] ;).-Z_K41WF'K4->QN8Q!ZJ']&&S)-GL'[VBC1%;X<0!%8*,J6Q1B* MSAO)?53/WE8Z$="PDL8H<];.',(EL;&12 7,A@$JH(-869,I&2>YY*4[( M#7:(=7__V=/;3'D-&_'7<8^?:E?!Y6RM$IGF2H+,%NE,JH,88Q:@)2;#'B_@'BRB0W@=%P/O*-3X\_^WA'Y=^E;P_--3S( M[\)QQ:.1M$]AR:H>%@6"00V\T ]L#A!1C%48"IL"S(F$PM-B0;WUTW%G#.ZM]:*&SAC'5 DCX M=@.(2YGQ(A%*H)!.)4;NF3("N.(B*Q5XX"V6W:V//D/R=M;9F.75QD4M4P&I M:Z-OM &\13K3=4A%%G3.MFYE>:SEUKZ+XU0?;JAF,?< M'@NCC2+6Q^."U;&7@1 M@16>M$9FF.]60?K6'FL[N^[>'FL;8SB6ZM -FZ&@<8QKZ\#IVB=;DI\5Z% $ MSB$C6.X)= @9(D4 ($-D)J-7);ZUQSJX:6W#TLCML9P@$)Q$+RG5?CY1@!+X_7W)#JC"E9PT#'.C#1\ PAQ R> M$-*I+HW,KR4]=Q1.4@.:CKW[T2:RO*7DMLQT;&4@/3,=N[![["DY:XUGT@1( MBM.DY)3*V0IG02M9<5370[," M+"LNHB;%Z#N.VNM)R6W%UM,IN6U4W3$EMYC=-5OR4!<'U]E$:@C6<@C.CA#3P/U.DC':7MUB[E:IA[(6B5 6]!F[IE/K:_.#V0H3[@MA[&3 M;=3?V!?Y<([?3N:(YU66,!/4V$BAI0*3DF>!9F&PW<$+N_-GQ MO8_&2A_::*QG)\7]3\SWX3Q=GB_^^6DX/_\P3/\7IODTZ*@DFDPN>XB@'!/@ M=.V0%EAPJ>8P9;<;Z%Y"O9!N=4>26FY@.,^FQRCZ8K42!6P)B82BY>XI9 "/ M1 53KFB[T<.B/?,QK[O': N#&Z7AZ#;6,E*J<1.AULCT-Z+Y[\-L]NLDG5]F MS+].:GQ-OS8[-3:B#\J!89($S3X"[3\.I#,F,S0AJVY%1KV%>ULJS\&J.N0] M^NP)F16;DHX@:&L %3&!9\$ $\$[PS):T:V#9OL3I'$Q[\FR9.P3?AVFM31Y M6>!:QXW?N!TLP_1B@2]^O_K]W6MZ]_Q@D]+>ED(WJO"]"^G&]Z_=3\\EDXP\ MSZ*L(/<=E8TO>!->^R_XD?<%\N9@UO?YK[U8L+.\90W+, MBH@0F;.@E,O@F*1-U08G94(9>>M$^@XPQZJC;6X]=X^@WA0=2^GKR3S,%W]Q M=9]Q)=%L<2L52E!TAI &&0NU6;D#[TB-=%CJI&24VK?N2O='^1,7^&,QOHUR&U_9_SXELB8M'GP. MY\/G1;2_;&@IM>9H,W#&2> 2)+@0$'RNU[[1!"\VH?.13SQ7-EMIK7$7JOJ. M=C@_RPN78^'G+C8>D5%XZS,@*EFE5.#1"+(VI@BM3-&43?;B)SH:/?SUE^Z6 M-=)[XX: ]Q&M+'X#3 V[ Z[#,7ZKP!8PW"MF.BO1'V@N.Q?DV>NW@>?_V==$Z8?)YY6ZNW(HL;-82 M 7EU.+TFMX(' ]IRCSX6%GGKZ=)KH(S;WZX-3T-[)7?(,[\?IG2L4=CQ<9C< M=BI#$"*IDB#(7#N_*#K,.#DXAD=>$C$GL'6N>"V8%\!_&T5W6/U7[>@_D I6 M0_]J=N7]Y6P^7.#TEV\UL57;O;!HH-^5\>]R>JPP_S8^'Z=),)8DZ6G.KAD=2'I3>WW27L< MN*01@I9<.IQ'0+["G& M:'04'(R/Y#)I=."<-E"R$,Y$)3FV?M+V.*(7:"8-*>CPBN1Z=UN=A&>3R_I" MZ^M5$[C9.R2%X/+WZ!#$V2_?Z+2D[Y]-PO3[0C\D75K>IIXOY%NNBU.69)#2 M)#"N/O(3];%[[7@8M5"*.V36M\X\=!3G!9KFL9!_WZY5EZJB54$9B7?R)4SW M: &X[B\UJ0/:"&:C I_5MWY??>OL_'*.^>\W6DT**9*O96HUJJ8 "[PPDAS? MQ+;70]CA5H$XOA60#F.C#&HH=@"H.DK4_12\MLHM,E"M7<';N/ M8OQ0:%]N[J40]E)LE^S1#T3O5@,#7,Y::@W2U]G&OD[;#DJ!5UQE+KD(I76W M_?LH7A+5NRBVPZK^B//KP/NG.%OD'NIXB""%Y:!+E_.S%J#V2F M=(0H!(E1@^>(P5(8'4R,)NJ4[Y2E/EA>W!#2RWR_EL'B95N*MCNXYF/Q]J@?VRS&^E26N]CC)S$(;Q M.O ]D]/E%)0V-LA?F$-T #H['+&/2O'K;':)N3Y53Z>H@^#! MU?;=OL[^$X[6#2UE9%*98-&IYM.$-L4VOF$=@OMMS&]7XKK4VJ1E?X1POHP@ MEPAO;]V+GQ%MM-IG;^UJ$H]=2D(K;TA;\!G4%(S<,XR$%):S,%A M^[+/_5&_2J,P.=3YKE'BELWNZ/)5!(T:;@#P82Q&2*."B#+386#(>,W.F M=S@&MYU5)8[MXG&9H$!>(@%5$P4%/'L069,0I-W$E7KO,2# M0%ZE!>U/R=IBG.9%)J=9%PR.]DL1,IWQ/&B(D<(;IFP)W+%"I(U36_)F*SO2 M_>8HRU%+*6F]6:A]735NA M20F8T#PC#TJ%.][6PVWS=P7P0L+$\4A8ZP6M*?J[^G']3R0O[*]_^3]02P,$ M% @ :WVB6$&K]M)FX0 ];(( !0 !W:&0M,C R-# S,S%?;&%B+GAM M;-2]>7/D.)(O^/]\"FS-L]TJ,Z&+!WCUSLPSY54OS;)2VDQ5SQLK6PO#*7$[ M%%23#&5J/OT"/"(8!TF 5+98S9=*8F N_](=S@ /_[M?WY_7(-GGA=IMOGW MG]R_.#\!OJ$92S?W__[3'W6_SU]QN!VC4N1Y8\0_D.___10ED]__?77;]^^_>4[ MR==_R?+[7SW'\7]MG_ZI>?S[R?/?_.II-TF27ZN_[AXMTG,/RFG=7__W[Y^^ MT@?^B&&Z*4J\H8I D?ZUJ'[Y*:.XK% ?Y0OT/J%^@NUC4/T*NA[TW;]\+]A/ M__$O -1PY-F:?^$"J/_^\>5C+\GD5_7$KQM^K][M+<_3C'TM<5Y^PH2O)??5 M;.7+$__WGXKT\6G-V]\]Y%RS*BX3Q:4;*B[_M8_8KQ>P;XG?\I17 M"\Q5XGZVQ>,0II^ML7LG+02?G^$.F8M9KC^H]QNVU+>[(W4QZ_-S;.NSR$J\ M7N"SV)/IL+Q6O_@D_]6041,-&-.*3F.Z.ZSR[R7?,%Y;RX.I0UJL AK&U",^%(3'$/$$0>PA!A&. HC#]6BW@67XL4T:U9-HK12&%J@02N""55'*\ ME,SS?^7KLE _0?53I1_]Z\H:N\Y9GG-,1&)LG?J69]%2>2GB J,BS1WWA MRDS_Y=9@2N(_@2QG/)=>Z!E!=I_:MH#W&#^MOI89_?OUTU/.:5KY45^4CUE\ MO?[R]7?^2'BNHW3:D\VL@15]T&4 U!R GR4/Q2]Z6J@/S;!*SH**F7Z. 0+^ MK#FPH*S&T@YI;C-91WN;W^PU6)_>(NIL+'ZKV^8#IRGZ!YSF?\/K+?^=XV*; M<[7[_$^YZ?QCDY&"Y\^8K/G'S=.V++YP)6NZ;MC@=)OGJ9MA_RU9B92"4"J&2X M ATIZ@.9KAR@%@0<2G(%=K* 2I@KL!/G"BB!P,]*I%] *Y1Z_ZU8]LSNXF_" MDOE>CN]%EX'%7\?Q"1QY!R3ER'.#$*M8YH)G,PL]I^ MXD7Q5[#AI5RA%5L =W@"908VV09VV)*/U7R9:;8Y\'J*/RN<9G9!L@)J7EKG MY_H(RD..P,D3F9DM3MGJ%K_\K;CEN;H6 M5=> []*"KC/EW7Q*-_QCR1_']BV:L\RG&9(X>"Y ASS8TP=_*@Y Q8*%5=10 MV#,??L'I7^ZSYU_E3,TW3]G^4]>=?Y$/VU#8]C,V'6;VT7Y[8*NWV:/TLGE^ MO6%?,U%^PSEO3@]]E/C"%2$47%W TX3"."0.1(E+O9@CEV&DLYX.4IG]SJ.F M6P"\8:!H2.LMB,/H#"NR-9E-[SMJDD#2!"W1\4-4 [%9$QA2;<;F%_^ G#8, M7_B3_*L<5E0A*^FF4IWJ>/F)YZ5T3M6B+I?Y'5ZX@]=?+C=M6O+7!DT^JDR6 MW%'6X1S_.CQV$6.EQ7YKHO0>GK8)N*8TWW+6;O-37KR5NW_Y8E<1HMAW7 \F MG'.Y">_E]+,!JJA"_CW)[XI>&VG,OG5YH#6#(#U MGBP=D?6(VQ2(@SHC0#7HX]^=I M*YURY6_$VYRSM/R :76H_3O^GCYN']]D>9Y]DQ[+6_PD_U*^K!P4DHCX!"8> M22 */003@@2,:.@D+/0B2K4\\RG$9U:R'3U &X)F:YX1CGK+X%SHF*ELM?7. M!*CY "TC5Z!A!>R1>SN&G/&".04"2VNH$>E%E]4IH!ROM)/FF&9A/FYH+DT] M?\?K_W[R. ;IZ5F<>S,QL3LL#^+GEXA<% MW8X1T' "_FQYL7BY9@Z )8MC0'A1>V,.R+&UF3"#^2GX'QN6KU_NOZJ+>F7- M_E[>YBGE;Q\V][?RZ]]?5XOE-?W'-I5.R_6F>T@@_[9]Y.PM M+A[D'][+1Y[Q6IW"KA+/C[R0^I F$5';? _&7,@-2T@$"A,119YCXE#,R^[< M3H@D6'D;5/V#[^F:>1PSOS(]+^7'>1%F=JWE&W08KT(E&]9!EW=0,P]:[JN7 MU^$?- )<@=VK?:_Q5HT]HF7 MN1%SVL+49V8E_. <_Y&^I!, MW?WP35'Q=YWGRAU09XG%FY?],[?X1?WN^AO.6?4_=Y*JY.=6*N5G_-A&$)JD M\LQ ?^ZKGO4:5,2!HFYH[6?!6\_&OS;4AC=(.X1G"/B<$PI;^49SL+ALBM*, M()]D-OL,EW\7(ZVZ:>X;/;-?V&2H %^J(NN( *!;T=\A] MDH]OC2T(/<7"[(4$>P#L;']'))JT[^V;<[$-[XA0W9WNV*/3/)9WG)3[T+D[ M_KU\(WG[^\I-A$ (.]!-W 0B&C%(8C^!08K@03RJH@DJHA87^1&Q+*W3?50676I'1#U> M+<<>GYKB+[5.7<\J%6SR\7_!6H^="Y6+L!4T_^WC929TEL!:4*9 M .AK94*T*&Y<+D QA.2P:8#)YF/!J7O+C+FO./]M2$%[_E65&LHB3$.* ^ MQ(FR&PD+(0D"!WH18UBX0K# *-M_C. 2A\?RY14IJV[NLHV981C%2\\FV$3! MS!RTE%7X=D,;[(E?@8J\/3N@*Z@E$S!*;E'MUQ7^6/&UQTUT&.@#9]LUOQ&G MYZ&<:9R&WE4)8#MO-W14^7*H<1Q(B'M,.<"(H$=F) DADF2("*-,O&95@"B+L&Y M;WZ8I"U-)UY+U^WQ,2T?]:_[M3$;MHQS(&%FZC[U!3#O6 -#Y:!T4]9M W0 MM.Q%"T 9)2J:2#V0LZ@US6+IBR9"=3,9C<9-2FQD*K>#8-?ES(N"V"CV>I#:W';OS:?CK]C,>QR&2L\7M : MF;G;D3U&8(::EEHB6O*VAFDMZCMIB7WL">D-FJ;9[X7@M+P1[[_3*BQ6%4.Z MV:@C&_7_G>";+[PHY;:JW 7F'/ZB&X='>("=4# 8BD#:@Y@3F(2J9*5@@B(6 M^40$)O9@!AYGMB(UQVI%Y W/(%?7KK1)YL@V=23EY2&5<[P_/2/URF_%S+3M M7TC+;EU@3;X(Q4,3!MEA1456MEPVCZB7=?3+PQ%O,[DYV6R5 6V2%+*-Q7.] M&0&W9&CGX'!1\SPCQ,=&?4Y24Z,-!,]S58A2%9^ZP]\[6^K/O%R% 7&1BZ19 M=Y$TZR1","91"!$/:<1Y&+-8F)CU$7HSF^B6.BCQ]UT2G=RQ;+AQ0,(P;'K6 MU"(89I9QAT-374Z2/BQE\7D D F!"EIB6@M8&*:V<.""ENBG 0QZP\PC]W[? M/*4J-.(N?>3L0Y:K<,*_X?6'-;[7C=X;F&)F]?W]\^W';EQ-Q0$060ZZ49$C M(6Y&D SKL44TS/37! CPI^+%4AT\#6DGA?T-S;M8Z)^&<-WP/YW')^[/FIK0 MMSRO@GK?I>NMZI*TJ\X8"L^CJJ S=; #41ABB$/?A8Y 'G8#G_#0-]ILC1"< M>^?4D%?9F:!BX HT+%P!\J(^ZD?EM*]Q(=>FNG:V%/6:Y*<9B&Y_8,GS%HI:8(=B3GB< = MD1#5'P5%,UKJ5Z#AD]%;U<7C,%W8G:$)RG MA.J 2/;JIYXCLG3QU %!SU1.'7KZ!RC.4G/4_<,ARRN"0HHHBF 8,001]P*8 M(!%!%''/C5@[:A2N M>1UR9NCL)QT[BN =EQ,\-M!6:?Z:!4'[I!Z_\;A08-,3CR%9K;5('Y%KTIW& MN?D6N\L8$*9[AS'TV*5)3W7@FNIGQ8L/6?Y!OK@-E7M :0!X6C7.;,OU'^7. MN-QS(A0','8(AL@/0QC[@0]=%,0>C[P ^?&T/*>I+,VLT ?9-=EZ+;*\JMTA M?U3Y3-^J_E;5[5X=HED+,#7!:?)[T3SG611M,VNR8P'L>=CY2U?]8"^4M70I M8-83E28S]$JY29<"V)^.=/',TZSIVWT:CO2)ZEC#>RXI\V(5LAA%,0YA&. M(M4!C00>@M2+DX ([C)LE#$^0&MF^]>A7$?'=FF;F;DAP/3LER48S S3,0)O MM1 P-C4:LEFR(4.4%C4.&B(?:[W.$/,MQL>Z%L)=CM6]^VVV3M6$MWE&/QET MW=289;ZOM"$.&NJ@)5]]LHH':2SE\!GZ;QJ(/NY]LG*I%57H@DZI1.G%U;M(S@RVRN?%U]@M M7RRYX89Y5&BK 8'#XDW;-Y^?2/$)Q92P_)UP4FZHB/ MZ=%\HQCJN8(VD3'3X@M!,0_1UY345HS^&+EE@_0UA3^)TM<=9QZ>=X>_[W>6 MUY)&9<3;H^^7]EH_X#$GG$0289] A.,0)CP4D DF?3$G"(1>T3!]DG/O!)NK MJRI MVV:P#$0D:DZT6)"BF6#=N$7#D9==]66\^)R57WAUZZ@N)I]Y_K(_\)YP S@\ MXX(7@TQR C99*3_JNOA@R\RTZ\$1I,QN#>V!=,%EHL)'<@&^'.%CN5KS--DO MOG <(?,J]Y!ZHO==3VJ.GEK;^;CNJZ3%SY4<)YAZ%*$8(N2[$#&,I,LE! P3 M3N34*$2^9U;?69/RS+:CIFU:O5D7-6[Z3.6S5K!9E^[" M19L-X3@MW&PZP<3BS>IHF[/B@Q3A8U%LU17QC:@SZBH>5H$C/!H(!X9QK%*G M< 03[(?0IQ&*0N9C)V9&U9O'*,YL#3YSN0=K> #JS8'R@8.TX:2J^E;E#%Y7 MA0+E1JU03!F6>!Y%5<]J6,7*S%K<'D#TL0M/#CI]F;1F2KP7M"(&F:1F MLSUXGR36VH"?$%BXW7>?@*=MO7N?-#\A53U>/FZ*,J].@=[*W< &;\I/7.X* M<%58*!GR1(]Y14G^S, MZMF2!%7),?VC/0/- M-#\/Z5,5_\_\&#O<0= 73J+J>%(81T$,A>L$"0XP04CK=OEDYIGMX8[66$[ MB/S#1N\BJ SF=;Q&UZA6CU9S^!R9O_Y]X M7KZH]JEETYWZJ6JPNF%U(##_Q''!OZ3W#^6-^*.HLYG><)'E_)I*N[RM+B[? M\:>^_ZL"C#B$J.:H00]X*87S0,/O[TSZJ^)'>BO%A1\7\ M%:C8KVOC[B2H?FID )40H)("9@)*.>KLU2M *E% 1Q;0%:::I2N.U;.3I;"W M=_HR.\=+G]\L]0K.G M1OKUJR?T2KL*N2=7DYA#S!T.D>]2F(C A8G'J>\& M7L"$46[=(ES/[#K>6EACEGE[>JO,#_=.S-:9F:HB#"]?/V8YA%'T?\ R"/T\ M_].6/QA]#7.6/1@G/FV]Z5!J@JIV!=TP=G@H!(41D]M_E,08$HH$C!T4^DDH MWX:O=6 Z3FJA<-+UG@$SLSX DIXMMB.ZF0$]J/O20C!'Z;MQX2S9IP%"BQJ5 M<8&/+8'&B*F'$DV-^.K^\A;G-WG5QYI51;_;BK$KZGJAPQ*IRBY65;)\ C$. M$0S=$$9?FB"#F&3K[M+WL!I:WL85*$'5^ )Y^"Y*GC^<[H! M+%NO<5ZH@J&@4 S]8GIFH 6O[K;?-F2F._<6JZ\U5I(%^;&!FHFF3/RN;K3- M+;>)W-9VS5I$%][XF@!QNGI;40!\+9\R'+EI5V!3;:I M0YZ:746V+8M2_B/=W%]B2VIHIQ@.8\ NM!)_JQ'Z6$$PEU4X$&H6$U!3>$5] M/Q!Q6+D/'[WL(*G:51150]]/N\1'[$6"A6$(.?4"B!SB0!(0#V('Q\1-DH1A MH[:=0\1FUNW=.4&']@4YHX.PF1V\7 K&Q/,28QPFGVT,"6CY2.(LJ5'WNH0M#=S_S_=F.[W"1)()!SE6)!2=(($%^ (-( M^K\\(3Q"6IU0AHC,O#I^W3X^8A6\*T#:4#<^_3J+C9YZ72JQF9;MJ%6="VZ*)FHE.+8!C9D0'FN3.WNK6LJ'JH_(C-+;M,PIC MCYL7<[KEV9U*+5"]MZ\?2]V*34?#YKZ$?'\#*G*'W=GK6F3ZY9B.91W6L0O% M--RJ39+0J(92CRR3"B4=S[58-:0>(;HEC_H>N;0;2V\88=6O8!4C$3@^BB - M70\B[#!("'*AXQ/*7,>+/+.X<%W"L]__'P3]'J6LU%T]#.\)M2'56P/G ,I0 M>2_"Z()V)WH"6V]J,D+VE5J7Z('1WZ!$<_QE_7;WE1D_\[*M NH)Q_4\S&'B M(@11'+LP2;P0BCA@.!$>YZY1/>HA8C.;BUV3Q+S3'FC#JX*A>-<<2/[P/_RK MV/$K59'_#)%W)8<43YR6Z3-?&Y91&T17SXK8PLS, MOT/"6^[T>Y;4J_3['1*ZK^OOX)AI%N)#EO/T?E-/1E]4TQ1U(53L"K=^P&E> M13?MR[.M0N8X.&$!3(3T-Q ),<1.0B&3NVP:2G>$!D9.QQ0F9K8H#4M-W6#Z M IK>;H8'J)/@U3,=&KBEO=6Z:*YS(\-FAXYUWG^YN7CAM7^NN;9P;FQ,QN1MM]2IY^+5 ?R M B1]=>NVQ6O]8X2SLH^?)5PJMID9T)#8WLYD3+Q)9PQG)USLH&%(G.YIP^!S M$SV!5E,_;IZV4H.Y=(C]W_DCX?DJ#",F8JS.%D@($8L83!RY7\ (\2A*D"/7 M?:,%OY_6W.OZ;@&Z C7QNF+6&OB&*_L 7)H+N!T0#-?I?OG!GS5QBV<&&B+: M6G8'*"V[NHZ+?+*(:@R9FBN\V?5 ;;Y-C!@F"">0"8PA<@.56,B05&42AD%$ M/92X9CG"QR1FUF!%L*K46Y$T30L^P4-/5R^3TDQ%#P6<02O[A;&6]GM"8.%T MWSX!3]-\>Y\T+VWZ8?EB]\))PX@F%$ XC")()Q) (HB"LB0A(/ MZ147/S/WW*MD2TV_Y.:Q\,-Z=:%(AFM>2VAH%XTVJ"VJGLVCL8;5;B+/OD8G'Z57,RSZL91=;'[N<.LAS(:,XABB**$R\T),Z M[^&0!-@/S*)/^@C-K/:=H#)<<6!X'MX'C^99N 6A#<_!*XH'P71SI"","6;K MC+N/S++GVR/"GIQMCST_-00Y75<[Y UK__GQ\2G/GNLSB=899HE-_=5!4$^UK>-BINUD?.!^68VI]D__8J]GI3(NH4J\ K;KT/S#QV(B7ZC-L-\8W^P(J=63@ M*J'8<7@4035H0NM#UTFUXP9 MA4[SO,DB((:G3WLLF@.H#O$K:Z&AIH+:.ID:([?L.96F\">G5KKC+FW/\R'] MSMG;!YS?<]7$8M>\8N6[R*%$M<_$R(%(< QQ1*0]("Z+,?9\FFC%CNF3G/O$ M2Y$%M*(+:&:C1T\O>.-'8_8A,3,")^UE:GAJ'D#+1-UAQCH\4SORV(!IVLG; MW0,'HO\#4@GBA(-'G,J)TXU\K&E=+H[G9K!K M-_[IG>B5FOZ,"=;?\&=TI'GDR^=L<\NSSSR[?KZO4@QHN<7K]+*Y&4\ANB(WND&E;K,]8IV995*KNJBH(E9H5T)&C_RJ.! MCL%&^@)>Y3T8?>,ZKQ!;#X+X+T-73 MY(4P,]/[FBE8<07V;+4]P!0S5%4@Z'+8)@XI[H!BSV+TX.48V8HNO("39:,/ M+X?L)#K1PI2V.IVL7(:]@ 8Q]#$C$#$70X(< 2-?1'&0Q(GC"Q-'Z93$S-Y2 MG6W?1AM8[&\RN:_)C$?)9_J9S-G$Q/99\2F!5VY:TGL>W/_DQ/(#7'ZAG-W( MG>A&-=:K.^VEF_LON.1?,Y'O_O)QP_CWK]_PD_I+$Q/@)H@R)C!T5 4>%+DQ MC$/$H4!Q'+/8=P(_,:I)< DW,WL8#6]@QP+8<:>.1Z4#_?7FPY=?.G^O> 2* MR>H!PR(&%[T8/1.Q&-QFUN1BI&>(\; "E:U""1?QLFSU!!NPG914L#+IA;E3 M^RS'PC#Z<6B*&3W^<_FXQ2Q1D#H"VDX&.D?J=;*!!H3N30<:&F-^@_#V065D MLEO.\]_R;/OT87/'OY=OUJJ@L.;MP< 4,R^S#66@2(.*]A7XD&7E)M-=0<<@ M&+\#0ETH%&##TYSO7[']"'=\/RE6SNKV>_PT/,\%$20N9A M1 2'.$D\&$;("W%,/8?X)AO1 5HS*^&.\B6]SH>@TG-2+0%@II*'LG/+?]7:.?U(%[;^H7=R-^*.HSZ&K M,^=K2K>/V[6JF/^./^6B9!YU(UCB#PWA"@)$"3,=R'WD8B( M$[N,&)6NFI_EF2U+*\"A8:FJYYEVRYS]Y3E.)/^/$\@H%=*>2U.>H!A#&O'8 M]Q(61YYCJM/S_*Z_J1.@Z]/6TW= 4J47[,KD,C MN/^ ?8?Z./ZG[3PT\@KF[#TT1OKBB"1)M6J5U_1W5(ME^;*[\XLPYT$J9Z#F3,[.UY M4&:Y0S45UGXDU##9UXJ/T@)C(&I*;[SU2.U/;6OY%1?8I6[HP)"Y!"**5'=< MZ79R/_03Y%,G22)+(=D[HC/;BL%@X@+\J?@ %2.&C5RT -4S'K9A,C,<-A"R M&51](O+\T=-[DC]*F/0)" ;QT*=CS1/P;3I!NSZPY_;MQX6POB%:A/S/)06YXO_$FJV8,J-O)NFTM*MSQ/,U8%H*X8#4+?CQ@D+' @ M"IGYBR[ZF4+\AT?AL?5X_#QR&4AYB$,4.)" MQ.7^CDB?"PH5A1 P+_(#LT08*[A=D.PR-V!ZNS:K,)CY'Q5IT*$-:N*@IGY5 MQ]);3##1%=56$LDHO643173%/TD&T1YX@>D\?VR91"&.W"""F$E51RI<)>&A M"SV?")=XB<>QT='OJQWV=@G_G_\:>V[T?U?1):8'OAV0]N/F6;[6+'_Y+5?56+ ?JI([ D9>X*MZ/!0F M3B@@(PF)8C^,D#"J;WHX_N\@ 13V*(_2B&/HEC M52_=<1VCHD07@# U,BYM25X$A)Z5FBZ>F67:T;D"%25[!NB\!):,SM'DBQJ: M\X(=&Y>>IR8Z"+L&W^]QOE'E^*7S4?G/;W"14KG9>Y>NMVK?HE:6?1J:D&:' MQ)$+L8@3B!SFPR3B#'+ABCAPG80Y6C7(+^1C;M>BX4I5M*SXJ$YE&DY RRF0 MFU]0\6KH<$S$7M,;F1]1PSU)!\P==+;9NC>9D5Y(W[+,E;=HO/\.:6\^"I]M!7Q$/8B[,*(!Q0B%\L] M4>!B&*#(#[B/7 ]%JV>>DTS7FO43,U&O+DEM+5.DE8;E7*X2 UM\4Y#TC(X= MP/!O.&?5__R-%^7N7,5=!8&7A#B1+DN(/*GP4:+:0G 8^32* MDH!YL6\4Q6*3N9D]FH:88[T'1B7@E90\]&L0 K'HZJ(>\95D$W6EG6+9@#UQ%>:@\;DI%?*.2L^ M2""^8N6^R=^P+2W3Y_::WP\\%L:N@-3SI%UUG #&"<;0IPESI9453F2T*1PG M.;.U;!D ZNV#0K)0-9R9TG12 SX]DV@7%#-#=XB'HJ[@V-.W%GY@+JR]-+TQ M@DNGV6D"<"9-3G>D>768]]\YW:J9WN*2WV?YR_7W5*L >N_@F35Y1Q.T1/^J M7Q/FO+3#ZFI%4,.[H!,9P9^*HJ6:2X/23*H'K!# K4K0 -JPJ"Z!3,]@#A!1??@X1)930\<*O%::>W7=^D7QMH!PPF!A0\6^@0\/5#H M?=)\U9I0R6RY^F5F9?T.65;O+:H$L-B M3=*.GBD74Y1AD;HZ,_+D-$=,'59_2]?KE<>2"( Z@ANUFVDGGEF?6C)FCM9.:CWW:HHL9OHS*H:Q%W7,LR7?:3?MHA[3L3#' M?M+)WRU7MMM''SB.&[D1"6"2J.)F(0UA0F(/"M=%(G$Q1;%1W.@XR06#/ ZJ MS.V+87VV5J',-(K#+CK&IWW="F''92UG#,[0EWKNZERO%'*A#X!V=2Q;@11? M2UQ65P]U8*NZEY!K\J8LJD,Q0:D7"!3#!'.N8BE<2##Q(?%I'/A!X@24F$65 M#U";^\RP+I"QISEVG#8!+STK8 T%PP-%4P FQ))K"&8MG'R(UL(1Y1IBGP:5 MZPR:IM1W.=X40JK(+FHCW=S?B*8W"5[O>T87=Y)"SR=@1[G2EEUI3TS8T'%;?B9Z=>2VD M#;?:TT V-DYSH&')EEEE;5'3-P>HQY9R%AKFAW/7C*4J7 .OD>,][[OD&/>S M&9UH9JNVIP\D S\__])IPJ1_E#<.Q_BIGE4DS*S.$ @S=+C1EG32F=_X[(L= M_VD+VCT)U!\T06U5Z-0?&Y:O7^ZK9FUUH8/'4EM=^R:864TE22YIJ@#"/5D# M_>R56T,O;8ALJ(]5Q.19F57-\:V-'JY:HDU3P-Y9EU.\,<$.%&[T83-%8SQ= MO=^4'R/C?75_G<\KH/BH6LUUF;L"BB^@&%ND]J<& M,/-7 QUBXD>I#ZH!E$'%4)W9S!V 3_)+6-\^9!O^>5O%^CDTB$2",$1"M;[" M*( D\"DDF!*7LY CK'5[<&[RF6U+10Y4]$!-4'_=/\%A?-&_1#HSJV @F-%R MWR?!I+7^9++%%OH^,;JK?.\S4XO T%R5V7O'Z_]^W%Q3JC8\Q1=.>?JL[F57 MR(VD'QU3Z#I4%W?EL#9&)]E9HJ^+FE_PM(-V 'T)=Q@"947M&7V%H]%@V2"U=I MT0?AM':+P5CSHZLV,NY&O,]S=4&X/QG[I%ER7G>:^3[LEGI5)R3/I=7,ML7Z MI4Z1/S9D-&YB0QM>2I_L1KS-.4O; M7L $>UX<^@GT8Z(BT5C5 \V!G ?%TJK*$365%38M;T9DB:&1+(5G^9GGUGUN@3U MM*X'A6%]NUPV,TWKTK*H9<-B#.F7'-G1+?G37J]Z)EU$HX8%:G5IY*E+4C^K M[,AW*D.$;]BN!)9T#-?R/VR%71IB+ (8L82K9% "Y4\1=!"6\*GNTI%OG@PZ M3'1FC7N+BP? &N* -43!SW+7PK*U_*&NI%PF@;*#/U[:;. M7H$= U?=0GDM%[833O5DMIJ".D+R%9)2]4 XGZ:J.7::U3ALL="V8'CY+(6K M>TBN!')CCSH8NB&)(?)\# GA KI<.&%,6!2%1K'7HQ1GMA?'+8XZ#7NKIO&5 MU]QT>WU2Y],##<8G0JIG,JP"968OCIK!7.U:QKQ<@3U]>Y9"6U1+9F*Z&-1;+&44Y4'+E:)SU%,(P']T/4A M8M2#<>012..0"\%":>+,RD0.$)O9T%3AQ]]4,*STP%E:U,;:,%=\""L]M\,6 M F86HJ6J#$'=<*PE#"K*%O/!->2SE0D^1&K9'' -H4^ROW7&3 PLQ6E>M21K M(L(.VD VU8S8C6HA*30".3 ,'&9[P8\="*CHXLYF9W;=Y&LU^WY0,-H56[AX^9I M6];E[7>,@3UG33D&TQ;U<[Y3/=/UH[PI0^=HGI=D'BF[ 'JVXFGG9'79J-L% M0#^)S5V"YK2%X1TGY3YM5E7D:G+..>4B(,B%-'"E44?O]"C&S8EE>WX8Y.1@N=5@&*URJF=Y(;*495%>8O7=%MO)K]DZ[7< M;:I@O57D(!R&@L!(T 3*?P<0X\B!L1 !]AT>1K[13F]VCA?S[?87-2I.HY4! M2'=A)T75$*VX EU!:@\#'(IR!3K"@#^5.*"19ZH_.-L78>@4_@CO>:IG^.JO M>+HW.3?LMEW*V?A]';]R;OA[GPOCXB.M ^=NF@SRXS=/J M_&U3I*RZ\1E#:-B^6)3;T(2<%7D\[-I( M=I;1:M]7V?(E,#@@J(W%Y:904X3:VLF'E05#CN^[E14;&[V(H=(4H;5%NH]/ MVJOZ"_('%9A?-*0V5;U03*OUU7'BD"8!ADX288@JC ML;3X^X><\X\;J:V\*+]([Z+=\HF8N 'V88)% E& "90_R_\A"(5QX'J1;Q2( MKT]Z9B.C"$,A*4M-J4F#7-(V,S(&0.J9F'G@,3,P)X$B5T"Q 10?H&4$*$YF MR(XW!\"2<3$@O*AI,0?DV+!,F,$\Z[[IV;RO9,[;BOX\Q&'H! [T5=X]\FD M8T(BZ 9AP)!@$66Q;O)]+Y69C45#MPJ8:@@;!E8,8S1L'*Q);F8')@EME*@_ M*M0%^?K]IW="\BZF?AG!=-=1YW%8.^%G1)PM$[Q+ZY43P,^(/9[W?6Z0+:VN%O*CQ'+I'LO? MY%O>S2M8!2$*_# 4D#*FTK)$(O>8&,,D\'TOX([#8Z/XW0MXF7M%KPD"7A5*"J<6_ _:2!MP0X98S2;E=+G MY)5MF#%DXQ;.?,II]N\S+U7AN=L\4W6YV)N7/PIUZJ\,;*'2MJ]IF3[7GA0I MRAS3IP/G1@C*,$AGX8>3QVN>.RU3//2:9K^,R9,-'/+BOZ M40^J&I]89]\*H+X J:(-+P#OF#&S=Q.0UC-S\Z)G9MTD+Z""KN5&!8G^K!B2 M"/X"=CR!/5/@SY8MBP?ZTS&Q9,TF,+"H$9L.T+'MNF F\W.1CW7@MMSEW6;K ME,I))5WZ.2NO6?8D-SG&S4.U)YS9PVKX .U90LM-Y0$HECC;JGMVR1EH6-,_ M4]%';?R$91; 3%TH8ZQF:$%J#,2D,QA]*HN=R!@+WCV?,1]L'DS^5MJ8;2%] MJC::((JY3UT/RO_E$&$O@HDCA(HB3S") P\SK5R7,W//;!5J:G+9I/K!TL?2 M#ZOTA3*9*>Y>G E!X,=RZ0=^7R#?M&#O+_Q)_K4.\WQ0H1[5=4N5)//$\Q*G M&V6VR@SL ?F+G0#Q'E$'@L*/1RP6"-[#:C?XN^\1\.J7O M%AI]V]2TY1%CGB,2Z#J^ Q$)7)C$/H+$C9T0\R3D3J1K++2ISFQ&=A1!SM=5 M#+?\]DK\O=,F"N"6OJ"5^ MD[ZMFP6O:5:PON)27])ZA]-6583K_?0 7>.B2$4JOU!<@(T$M?D(+9E'8W0& M#*?^7(N95&/QNL;6?/#$O!N5\GPGQUY_3PNC')GNP+D/O*OVZ8J886K+@7!Z MYS>3Y3(S8WN1P)^*DL73EK,2V,H+.9A[V42/MEF M?[EDVMMD%#,]-;2+A.'&2-)6"V5%O1OZ6 #%P"Q'I/KR6NMI,DIPX8XFN@"< M]C/1'FG>]OE=XVS]/UN<2WU:O\C=I/3 5Y2Y421!A2Y3*:\%W0?.L(I;$ME,I\VE-6H0/2+/I#[1?7,N MUBYZ1*ANU^BQ1R=>ATH>]%#&,WX:Y1)J0VY9F55/(!%2/=&T^Y'HF6E\[]YU\-+T"UL=5; ML&=!S$S'&Q8Z]YH*JQT7=;O=>2XX386W=:^I37?9ZTQ3.$YN,8TGF%#D1B56 M2C/5%*.ZS;/['#\VQ]FQ_#_"W *%&*(**:04">$KDMXX(=4.+%^E9L!0C.; MCXHTV-,B]#*(T?&-J2W&:C);%4]W(O]3'$/[;I M4^6XIQOI[%S2/$T;5\T3BAG0,CRGJ#D 719 RP,@V[**N7CA9570QN)9A:'D MMDXL=,DN>VYA",;)Z87I^ OK9W.NTP=H0K4_/Y^F\3*^6;@:MG7F:# MS,S&7(;6]*K.)E+;KM"L1?MUJBV;P-);.=EHDHD]U9HU_%9^3*7&$+$8@_&&";>_XARWMZ2J]P0'GDA13&8>*H M@Y8(DL!Q8TH'C]7QSG*Q;$21(1%V(O)!#QP(&8<0\R+CB- M6!1C'AKMQB[G:6Y;V=)481CJQ-!P/V8!=,U=VK)0&N[=*N9@Q1W8LU=;Q:OJ MV(BJ\.,NIU?@ /N:3:#XM+C)LP>:K:V?!8Z6W1#:@_!DFVAQZHDQJ>MU]DW5 MPY)6^5VV):78KMODZWU0[)=LO19-IR[*A.,('T,_D XD"GP!8P^I8#P_3 1+ M(A08)D$;\V"BQI-RH'?5"/;DK\".S9MSEI;@D]J/7M):S?P%Z%G+64$U MLXWSH&D>JSL5$5OQO,;TEXWYG0K/25SPY(FF5(NK$F&O\UPWIOYTU,S^U9D: M:9KA0V<$'-;]RV0S4^HS8EF+KN^78V(UMX.I%BS@=DZ$PYIM9Y^8MI2W[:K> M9H\DW=1=][*-VF7)=W/0^&VWX3HN5;PBHH<]A,@!U!,U-VA(:>59HN MH9F!.1;MJBY^\@+^;/X[2_?-\])9L@5'DR^JUN<%.];0GJ?,_?1;GEW3@\"XP[]Y<(;WBU? M)+>1CS\LVB1?OV?*Q7S^89&ZOO_(D],6M$_9YEY^ZX_O."E5:FX3!H4(B@F* M(L@#YD(4\A@F3DB@XQ//"WGD4F[4M/$\F9D54A&%BBI09*^:A.Y)060],.FM M>)<+;Z:0E=QWIG(;+W7#8EE:\GJ(++KT#0MZO 2./&V>Y?I>>KCERX=TS>NV M8ZO8CUB"? J13Z37R4,,8R<1$!,62/PP1TPK0.OFK6S'.[]W:5$=*7=: MOL5.% 5B)'FI+ MACD!]SAV,>2^I];3Q(<)CQG$090@3$F($#8Q \/D9C8!^["Y.D2QTW3@:EJ= M.DT4]:R"/6S,+,)1-.'!>?)8-3IC6Z GI"4[,$)L41N@)_BQ_FN.NC"WJM,( MH#$X[&;S174_RB7I-[A(BS\V&2EX7ETWUYTXN1)\2G!?L3AFB4J1 MH()Z$"55Y[15;?=1GLYPT"V 3O&0<7Y M%>CR7B_,X)![\*?BORX&,37/R^:+UC-JK_WZS$SA:[ZYZ3EG,T!K.S7-)HNO MD\$V \B]B6YST)H8TMB)G+P1QW&5JR )4."Q&+K4D\:>)=+88^Q $C'&8HI< MS_6-BG,.DIO9;'>)J^NQ=!]Y7*>]& 8C#D.G9S[M 6)F"(^Q.(["MI@1IR>B MK;C!86++!@EJ"7X2$:@W:NI9ZM<'OEZK^Q.\>5FYGN]YKA"0^*I8H @\F*@2 M99@[R*$,<8JTBP6>3K_,>6I%$30D34]4#]#0/5.=*N.D4U4]\2:GJV:@XT*\(Y2G%G9=B%K'0:N0,O"Q)O%<1CU%E&KX)AIZ:6X3([2 M&Y75<@Q>/[U7B; ;%;\O?FY\H/5\RL^\7(5AR#DF'O1"PJ'TJ3V('2>"8>0R M@424,)ZLRJS$:\U3DT%R1L9@1U3[HZ_:]V6%81&)$80TCQNLR6UX<#"4LEA< M 4E\D3S$CI#SIQ@J8C]*]F!'<(/$P.XHRP5C]@=E<8"X*YA"BQ"A@:)SDS(O]8,64"XXI-;#4LP)V$3*S!!; L5=49JYS/0V" M/T9QF=$S-X.1$VN!\V]-PEZZN9?4-O*?M*YA50=;U_^[;YZ)G3!BJK&@FV!/ M15Y@F+@(P9")R(L9CQDUVAJ8,C![' 95BK!G"1SR9-H.V1!=/0,R)V9FYD1R MTH_5,G'[4\&PU@/9D/S"'9"G@7/:_WCB/.;Y U]X4>*RFOL=5^&83;[0._E+ MW2R"H3EF-R [TN" -GBG'=$U"L.PF;")@)DYF"B\42:!CF23\@D&)UXLJT!' MO&YN@=;S$U/F-B1=KSG;9_(7;C2 / J0"J- ,";J1T']*&2>X,3H M9JV?U,SJVA(&>1V :9A&UX^0WDIN1VXS)=V)W"$Z0RC5N&BV%[/J9Y_B>JZ.O6YY7E?97CAMC'S,*A8N8 MJH'&(0X" MV(<>$AGQ+/2(]U"<]]5UY3!(5B0ZIVVT^ @:<\I1S\G&X R]9K MG!>J634H%$^_F.F^-L9ZEF .Y,SL0C5]T9[^LRO0HE@U[I/T0?6$/0MA*K(E M>Z%-=E'K80K&L2TQ'F]F68J\7.W[/^&\?/F,']N++^Q&PHM( M"),PEF8E1+&ZF0\ABRB.6.#ZS-4Z)#"B.K--Z1(%BJKAM:$9@L-&8S9RI MY.S#&M]K[]+/#Y][@RZI D46N@<5K1H.#';H/=)K;,XO%]QP7SXL,_A3D;=4 MS6M$N&E;\YXYE]N5#PMUL"$?>71J]ZKB0?V_N@!XQFM>%=@K2NG-ROG5'ZXW M[/ 7G2=73.[7'ZIAN\((NZ%D"#'A:J:C9_0(!(Q66WXO1IX9Z2-:-*:LTUQIP[E5X)[-!(A M@2%S,$2)""$67@QYB/TXP=)=<[1.R?5)SKP'[C)1MQVLV% NV)X1\&?%BD%7 M9TTXARW0/""969S7Q4>__[5]G*9UPKX&995>G.6@H ^.&ISQ[3JNZX>E& M9/EC#::*9L-IM>\J,_G\$H>_[^\V=^>0JDK,.E-YP_O -R%4H#'RH8=%!%'(B HHB*$7Q8A&"2)R MGZQK8K6ISFQE)1^=.W:PXP3\_-/=E^N?-.\;S7 ^MBF38!1D$;I XG%$8\22$R$$N3'Q! MH>L$C#A.['+DF 1R]!&:V616M-3R7T=NV(C3Z(5,;R-L P@SZZ@H*@@JFE>@ MAF2&\(LQR2QM77O)++I!'1/V>!LZ^KSY;>G74DY%;_*[(F_JK$O3_SLO'S*V M7Y8TKTYUYII952MLFJ]3+D!W7[^ /2N@YD7_,E4+G/&;5=NX&&JN!B1ZCHW1 MC:N)T).N7[4(+'87:R)N]V+6:-RTY?D_N>J(NXN[JJOA2C-21=;=;,NBE)M< MN?=]EZZW\K&]?U"EN(+[G!Q$D/ H@0$U M*FMIAZV9[2S-;%#+WRYZL^:P5 MX%K^+.9GV07,DE-BB:E%71B[0!X[/)9GGQCEDCT^9IMJ&:T)?RR*+6CEI+9--=UZ>W-5[V<*D%:T MJ]U._1O#+4X?;'H6S0(49B:JP:#9W]0TKT!-U6(HPK!8MH(,>J@L&SXP+.I) M8,#(XS9[4NX;N]WE>%,(GN>AV,C M#\>$^,Q^3%6D]5G5R51K+NUR HLKNK1*AULZE#N*I.OO(0& M+ H2Z#$5=QFHA#>,,"0TB9$?!P%B@4&4T71.EHDR4EP ]9Y5?FO+A;)+;7.! M%_F'.G*FS'HO$"Z]?QE]*U-OK:R ;/4*ZPI4D/^LN/JEKL=]@/N.M=DQO?2" MRR:V$V^[9L/8PKV7+CS&EV"C$[_RC9BNX./78]HS3=U,;JH]Z7^FYI9@)%S.#H9A0[D/-!FCY4+O1'5:2 M%;#GQ6)'5G, ;+5I-:"\;.]6M"-$\P])U2[3=W>!.<(S'VYWY $+4$BC+@5#DDSJ4W!VPL4Z%0R)T^U5,/C9MS'G $6^_%5=>NZC!6^MOJ MB A%CA_Y+()1PE4A<-5'E00()B1@@8]XZ",Z,81TG/K<[J[*>#ZXBYD<1*J! MI)Y^SH:/X2IX&&YZ>/72\@+::YB:FUF"4/5!L!^9JD'[M<)5]6$9B&$UF&2B MJ>%K^=?[W_A&$EE?;]@U>TPWJ8H**26M]]^?^*;@*PU*$9 G)@2L]$3NWGN\[MOR@>>JVYG M.7^0,TL2'S^3JNN S+V_$'?Z^2A(N?,P0)(Y7[;$]2+@T)B@)0B$BX5+J M&;7W-*,_LU7I5C7(%#O2?^GP ]:2%<.6GX;XZIF5&5$SLR]=P"I.P $KH.:E MN3:L>AXIMT>R9+%9Z#0L;'4/-:2^;#O1:="<]!>=.,TTB_3^\6F=O7!>^5 W M3W7"@ J,-3$KO9/,;$!:NK5G#VK*9A:C7WX]VV!%=#,K<%9J\&=-UF)8^ZAH MEI2ZG\ZBZCLJ[K&BC@^X)$3\[1H7Q77S+7J(L,3S'+F+H Y$7LQA[&$'QH(P M#[DB("(TN\,_)C'WZ80B!:Y!-S!Z2@3X 2IZ&GJ9K&:JV8C72FM?)_N%L1KM M?4#@%0*]SPEX/L;[[)/FA;]_Q]_3Q^UC\V%AQ((8NP%DOIM Q$,,8XXY=,-( MQ-R-_236:AAX,O/,6M;0TJ_6?2CVL#Y=)(R9&C5D+.I/+_,7U-,^G&^QFMEG MQ>C6Q3[_P.2UZ-CYW&V>J.,CM?9 N0BI0./0A[&;A"J'4X2)J]*7?).6N0.T MC/3&O%_NX2XJK7=1N"SSE&SKLD]E!MYB6FX+M.U3&=K M>06NCX"ZQ;9#SD:EM[?X]5):>A4<$_G,VIZZ6,&I.X:.1,\IJOF M^9CLW>\KGCH_=X*UZQKFNVR0.4H53$)IQCCN?MJO'M ]"HM.9/?X).95ENXP MV:YQ_BDMRJIZI7%II=X)9K8:#5V@"%^!BK1^^:1^J8?M@S6!S>Q 5]:FC*[= MYM!:$X8N)'0=8)[J?]@\)?XV5T6SRY=;^5;5 MLJK:>3PI[U[^^T.Z4:[H)XX+_D55^KD1?Q1U7?TW7&0Y[URLON-RKTS3MBQT MM]9^_:R*)BOS;14W]G$CR=XK]E=1S!$A$9(^?1Q#N15.(/8Y@7%(DL!ECA>Z MGLZ1UP\@R\Q':NJ Z*F1L')L>2N>?EKX:[_M81/V W XGZ%L!;L"E6CUWF0G M7?53(Q^H! 25A# 34,K8[G%(Q?I!\Y*NH'5T7$=44,L*NL*"= -:A%,QX>CETTVL5XC M+M+B1DA;JMJ"IYO[VVR=TI?Z?_?GAS0104R8"YG-;(/BYGYV>&QYT!ZI15U M\&?S7ZMGM-,$MU6#48_HLM47C8 XJ;MH-OJR(J_75/IK15IY7=_38A6BT LB M!T$GH PB)R 0>YZ L0@Q<2)/^"294L_UB,[,SLNN&&F'+/A3$=9L034&DZ8E MN%QX0]6?(/?D@JL]4EFNK7I,Y57*J/:(VE_QB2V8<9K_394A;F]74U[\ M+K=4VUQE_GY1A3IR:24JL_'')B,%SZN;]8^;IVUYV!>@;DL9>X0&C'C0]Z1Z M(S<2TA,($T@3ZF.UA?&0:Z+CMAFAL[U;/,+WF&S.S:*_TLLP;2\^$J*VVT[;96[8I]4S@GK2L MGHO.Q#3J]3K[I@[0/F3YNVQ+2K%=-UYAL0^@:DMY$A\GB#H)C/PP@,@G+HPY MYS!P@P![ 8ZX1XR2J$VHSVRR=[Q4+3)QPT6GQ+5A_K01L'HF=3:XS.QE2[(3 M87<%#N%KRB*J$/<9*J=.PL%6WK01[66SIJ? [ M[ MGG#^J?W^6PJMPP*PJ*O%Q(U6;%^6*NC@0 H:< MN$$8F)BB"WB9V3"I^_^>1)I-MH$=AN1C-4=FINJ2UZ!GN!8"U\R,*5P/68#LV/K9F-(\%JO.A_OTZ6V3/1IB MZA%.I9L5QU05OG(A=K$+2>P'W V9ES"M6C5GYI[]1J_*[)/D]"-,CJ4?-BD7 MRF1F(O;BC"?0CLJE'\ER@7S3(DLT7IM1.$>/ /A%<*$B%XJCN'SF)RXED0<#FF"("/,@ M)HD#>>1XT@\*P\2LM/P$'F8V'%^WCX\X?ZDR856()-AS4T!@V9)ZTR$ZJ:]WP533;-;?<)ZJ M^;[@DE=W4P'RL"\XAB&1_X,2+X%Q&%#YHYMPX>*8$Z/RO\<$9K8V+3F@Z$VZ MM#M!1,]X7"*GF64P$M%8X?ODL*3-)],OJJI]PAWK8>]STY2LWGA\E:Y;U?!J MG_WL$(<1G$#J8@Z1YSN0A Z&+'1"%C O#!RC[.<>.C.K7+/3WI'5RD5P334WWW#I&AAYYA47- *@Y #4+^^[EDHWZ"0O9$]/DMN5U MZQ%=UM$V N+$MS8;/;T!E.N1N[1<\Q5&OHB%PZ&;$%60$@N(/9_!F#.1D#AB MH1>;-G]J)Y_9%%0TE!UPO9_)+Z"E;M[Y:0?&L(Y?*J*9)IM*-ZGET[$8%[5[ MVDVV>*NG8S'.M7DZ>6;"07FUWE0Z^K=,A:U6&3]%IX4@"Y*0^R2$S)>K+0K= M&!('P2:?6FTJ,U])E89G6X;J"OPM".NOLPJFQ@\5\R!I^P;SPV. MIT>QU#B(MXF0X=%\I_SM%:BIUPF/5 M=^@&8'2.Y>X$=,4YN"70'F1>I^ACW9#G+F=5A'[*B]L\H]RHY^[#&][KU MBD8GFOT4H**OVD.QRC-NN*C2CA4KG&V5S6LXTJ]I-([0L#6S#H[I*8$1+N!/ MQ8ZETD?:8D\J@30^^V*ED+0%[99$TA\TN8]-%5OU.2MYHAQM#^DOWN)D& MSYDN-Q,GNBRM3SH\1'YURBM]EQ9TG:D8]DXN<, (27P!,8E#B)#+8.)*@Y7X M/G5X3'U?&!4PT",[L__R8>MBI>Z$2VAK_Q>;62+%0XP M3R@E,$2Q!Q%G+HQ])B#!?AC%L1-YCE83GB$B,UN"FJPZA"&M#A0-9?TSAUZ MQH]>;(AMINN-Q#<"[+3^JSV)]0]7;$@^[4QE"@)&YRACH@TS49(SY M[F')Z+/F9R37]_?E^[SJ\2<]H?_BY3LNU?I13L^,RSKKS#6S?9$LY/Q>Q>Y( M1K(-S[;5(JM:I]:KK&0,2,[ GC7]TQ(MK,8/3&S#9+C_,4?(LC]BBL&D Q0M M HN=H9B(VSU&,1IGK=R(.JOYD.6/^""O8^5'/!8\0-!AE?NA>@$C)X%N2#WI M?J" F!4GT*8\MT^RSV@ZWW+I:D+/)7U8S;8L5L&:N&OI\'"ECEE!Q04XR0R; MM;#)L/3SE3KIH?O:Q4^&X= HAS(RP33C3MJ;Z(2(!9D$ O)@0BA[H0QXD'HT"M_=PG MF&BE4@Y2F?^H00&6Y7^])*_;[)[C8CD-SQ9&<['K5HBS7%0,RCI+4O6K7#@, MBCF<"#UKU'15#:>*=7J#"\ZZ6[A5A$,F&(]@Q+E<7A/L2T\=.S#D3BQBUY=_ M,U)?>:',HFFJHSFL>C9@7K#,#$03"U=S<]56ZZI^ M"RLVI(%XJ?(KKO-<#JRB_=L+4.D-"IZ6V]Q"N-/EX,P;>SW$P(\0AZT!D&9, MMLY,$PW5EA0I2W'^T;?E=]G[[\JP2^KO-R*3RE$E\CV6NI8!EIUYDU&U:TV)7%P2!W4Y$U[C/;A-6P2K*)@9@0F S"A MU^B(>&>HR,"GO8='1M@IK9%7JZ^J UZW0K"P8SR,("N$ZJ;V A# MXLSF@X];+G_9*=3C7(@ITEOU66<[_<=KAPR>\8](K;=IGR:+F4HH&C/< M#)ZR;FF'VYEXT?WIJ4#'N\LS3TQL5%+GN>#UQZI38^5"5@N)&W(>4 JC ,?2 MUTL0Q"CD,'%IS!+LN9095:;OH3/W!K&E"O9D)Y4GZX-)3[E*,/#YU8U:51L:T3)_Y.USBMME!$CC(DU?%A0WQ:;ZU!V/066UM@F*GO M=!RF] @>%=!>*^!^4DMW_!T5^DQCW_$QUG)VU='L_2;];\[:TQV\*QY<1=/F MG*ELXGV;*ODWZ1NPF_*!YZH'0I-57(U8)9P1SMT84N(ZALYSO- /E]ZM&5^7SNS>A[X-9*R9R)L M?CE?=6:H(JX>LK4<\J7<&-S#GQ\]LQFNFTETJ$K5+[?YQOANO4?V8?MI1VPS M@S=58J.K\6&A)MV"]TRYV(7WL$C=N^V1)Z=Y:$WX:O$AR[_P)_EN'["Z*N]4 ME5O%F$H?2VZ^:!(PB*1#!4GL>3"(N' (YJ%+W=6F2HEE>D[6.%&M[S2IO],N M:>W/=4^W4+N0NH"TF9>D 9V>FV,)CDEJV]*N:C3MJ2M,NJ4<[3D8^L):\A T M""ZZQ.L#<+Q&&XR<: SRC&UIV5R(T8@['"47$2(8$@E^L71$$20!PP#U(:X<3!CA,(K3-- M/7++7$420P"J'LQ80N62=<3DQ&9<$VA(^@%EQ6#T___W+U[ MD]LZDB?Z51"[-W9/1Q1Z^0!?NW^57SV.]7%5^%3WQ-S^0X$7J]BCDFI(R7;U MI[\ 24G4@R02 EGNN[$S8Q^3R >5B40B\Y MKG4#T*<5'.OG\NL36ZRBNJTV]3WWPQK=?[P[@JZY09_6Z\UJO3'<,(?4,'Y" M=: !F'&:"C\%7,^PK'8(/3UKS@?*,RS4$0[/R*.VH\M4=*>4_GK #]SWFZ+/Q5RQ[8!MLC@_K9UJL%M(/,D_X M,0ZCB*IH.5'1LLAS3$1&TS1(B,EX8%J(^"'W>R.>JW7=\$2=!2$,L>2@Q2=,4LY!*[,M49'X2R909(68/ M$9G8'1R1135=X)8\J*%AJW<'F1>\V"R8'R5J?R98^KHZ5A]P*:?J MJ)MQ/XVI$!XU*FX80++E +9+&ZC,;(=VJPB8Y>YUL"..?NN01RU] MA\"PYL(ZVIT-",ZZ,YLKX'17!KP)SRZWK;!U8&F84>Z\,K&EMI0,<2%/Q1G/ M#%M* C.UEHBSF+>'<:O4;G>=V=*Y%YCOIG O_;/=YJ8O9(HZ#Z_G1JD=5*,/ MRI4> 4LL^!J$\>F^YYJ<]@ M1]RX2/?"5&VV/TZF0&B0ZTYWX&W32@>.=E 8[5DW4RNUG.ZK=HO M]C.-? . M+^CS2GREST8IY>$5)O8;FH3YYCL@Z/A>[$9&F&EW:.X1N/0,"5%\+\26+M&@ M_* =>UP\JPU\8-G9]O-QT;K;N\'3EBV>DFT.#=Z?*)=-1?@BC9*829GA+ PX M)B$-<"8%P5&<16I;SP,2@F!&^@A-GF[F$E% 6?^H8LRV81?BPLQ24^P@)=R@ M6G17]?VFPC,V^_YHBP9[V:8\_;8R;P=?FR+NL\EL9DDN_UNN7K^[60 M"QZGB1\'^HJ(Z5+@/,,T%KKI,J&)%P=IF!JE@0WI36RQ>PR!#@LWJ&9"@]6V MC"#-"1Q-84B-PX8]@7)@]NU"+U8X"P;27@6W,+3^[*@+!L)> E\P>JCXDDJO)Z1=IS#L=?4C,LPGH@P_;[L2W0I1Z-*DV\KOROEQ_ M+Q3KBU#X:1 % HM4"$Q\XF'*/(G]B/DAC7V1!0EL"[Y,:)Z]MZ7=V5UV]*$[ M;H^Z3+?:ZY5@M<=:R&^QLPX+=\66VK/PS'OIL'CGF^C(\_ ,DJYFON6;+5TN M7^]I(?Y67>C1!7<&P%:=/D-]F&R[XPIIMM#WZL^HK^O;/#D%U.%XPFHZ]8'S MTS::FZ#YP$XC5GDO(*G9:UV&=$YC)WJ;\8GSJ^R(_FP_+F.O:"=XXRO5N]H/$B\, M_=H7 A>;Q4/:";CSFY9OP[WI-_T36;:XD>U/E_A)$I$XPQ[W(TRBD&$J)<&$ MYB(-(I)GD='M7L_Z$_O'AB(,/J1/$^/^[DKY8(ZM%6V/NPKV7Y=D-'=45\IJ MYY&^R1?UKW6IT.9)HO+HZ_[9C2,:$&S XUQZ:S;7,L!RUX<,/69WY?!5;M[3 MZJE.P0@IWKW^M9+B\VH_H?U6PTPWD(+[^XB$,"^4*0[S6 \E21-=!JAAH7U? M*321DL>+[[)D:\!,=2 3D!]JEQ7S X3B!^7+]8\*Z2^%UCM>$-TS Q[&#M6T MV1W'M-J#N30]QKU6W8X;/8'T-\T0*E9_0GN>T(&IJ2:Z6^K$W;AW* -SSX*W M5-"%0?&V*UE/@"DV\DOQ79,YB:.>U^6F^&>]);7#!K_*GYN''W+Y7?Z^7FV> MJ@6)@L@G(L!AZ"GWE64Y3FF>XC@CH:#4SZD %3M=Q\[$T9/Z74;@P3'7:-?, M9N8HU]T_729OT'](6J*[EBF=-Z&QR[2P!V-VX1[" ".NR< M>%LL.XC0E_HB)L"QNY?K]A!O>#^]?V'B*.+^XYWY-?)!BF&SLA8 9C\:7,X= M1NM%IJWN9P^KS';U>L9X]U;U_!\M8:/.O"N3>9@'88")D%X[F9&&##.6RS3, M&$NIOU"GA6(M_MC0H(UW95=;\0%:CZ^?Y9=U57U23#7=CUNU M;)O96*\J]<1RJRG=ZT/ >G6[V90%VV[T%<_#6L]=42\I6161QWIHGZPV"Y\S M7\1IC 7-(DS2/,0T34(@\85$S#@7-G.2;F#F, MM]L;I#^'\L8/]*=N[FQE0*T0J"L%VJS1L1QH M)XA+Z,\I%>T,-702)F<&')U2T>=8I9-2NSJ](<\%23&-@Q 3+XPP$U*H MLYHZLL54QFEBU!DT2FGBZ$Q3T_% 3<\*J+5?1X9G,Q>2 \]H$*'AA[0Q@5P= MUGKIS'MH&Q/W[/ V^H+3^A8-FUX=WTXO4DD)#S**O2!5UIO+"*?J>(:3.$IX MZ%$NPVBQT:T&9M9K3AIDSGL&0()] -)?:0>#.>O KT]?;Q-!>;K\0(36U87$U41 M+NNA]TB17Z_D>EL=C;(U3'M^2](HR?3&F#-=TI5&N=HB?8DCSI@D M/$["# 0"WT]J8C/N$$8U9:1)6QYT!Q1FMF.Z40/,>&TU -Y"QX5SM)4.$)IU M2QT7^'1K-7C#,C=52E%H?-IBJ8&W= R7"QX+[E,I(37_V1 M1B$H-W5&8NK<5$T0[2A:Q;87]&*8FKI*6F!J"B8H/#/5*XNKS-0Y@7DS4[T" MGF6F^I^T,[PO!65Z+7T'$B4\DX1%6.=]]>24 &OA@VOUKJ MK#WQW5$#CK8\T(-965<)9N9E*1K,KKX8R ,VI@N<.[*B[LJSFL\%D4[MYM(C M\,/@!02WOU7W4I9_*=?;%S!PH^%R$V]3O<""?ZN09@;5W)B?#4V5-'Y2G$ _ M, ,T4\T$"(Q R:U.D:8T9CM3 H7NGC"AK]KME>^V5;&25:5.KZQ8U=D"/?KD M<57\4XHN<-(Q7-+M2G3H /'Z B&[12V3D], MZ["-6KYO#A=7[D*4217K*-B9AL=9PZ9)U7P:@$U+S+IUJI2TDA]D\W\_K^Y+ M^4(+/8Y5EHIZ"Y6@F+C;/,FR86T1L5#X/.4XY1I9BL844W5PPD*F@K+0(TR$ MBU6=8S;L=+1CQ,A59(VKZ+)C[#%:)I!LJ#=C$]>: :L)&9;J-G/&$ZK0MJNI MY@/]MN/H3[JF<:?2EIM:HS4_K<-UVIUTA4+<=1_9,#%W=]$5BKK0/73-:I83 M>0Z3I.M%]?6*"H45G>*[;/J96K"#S.=90L(,!U%2%PP0G,6!P&&0!9Q)]4_, M")P83'GB +([]+RQIR-.T%&3(7"PC[%RS3S5)"J#.:?;N_>?S_HE[VE3=>0, MA<):8%?C@8SISCLR"*J.LS%"X 7@F2Z[6H=9"QR<%S6 *QGF*E^8M63!89W" M6Q4GC%A+M>]Z MB22""YIEIG#6?43FN;\4+5U4*L+FJ,^]FAFV*U?R6MU@[D@B3=,"Z;I79G.X M:Q>RVV%>7]*!&Z3K,9D&X*Y[7YT-\WJ,^2[P]>BS=N']?:EQG3>O]^I[;=3! MX>-_;8L7_8$/X^T/URHB]Y2/R4(CEF6QXG',DHHJ(, 0GQB MA[1CI3XU[_FX02L)G*0-4JA95#^5FF!^;,?%#:KY.%84.K#B^,KJ&B4X"O9! MI&>-]VV4^6]'NL;&1C:X] :4Y\(EDNTIXT. MQ %'@"$%&!P(',D./![TB.T84-)$.+MCPM#"\QT:#,0[.D*8/']U398&$SH9 M*4VC(*9^2K"7\!@3D4J>34+""7:#U5K5A_6(/5(L-O 0?U?E0;)HN05%\+\26 M+NN"7I$$?NXE'E9N12B#YAK1(X]P&.8R\KPT)=0H)]]+8>H",DVSZ6'=406/ MZ[RLF6'C=2(OS& M1 6-[!P4YXJ9G9?7G6UHYZ!8W:F=PP_"TW-?Y>8 YS<, MV_=-"BF?]9][T#?C/"6,JH.UE"3')"8!9I'DV(MEHA0BJ,R,8+,<\S7U#KV' M0$7TY,+HO7*&VTI?K?T9822*Y78#F0#J\MN,YQ3?2.,P]Z*5W=Y4:C;'0$X? MUNC *QCO=-(/8I[P?*,/8Y-RH ;A#CTJ._:Q8?MB!Q MJDA)@B45'B991'"6Q*GZ7Y&(O9")+$^AP"[G9":VU1KSI'OI,)[6@.C(++5S MO>0P$[40V@KLI5\FAX O%XC,#OK2+^@EX)>!IQU?OG; $^(@\#W*,TQ)2#$) MO AG/J,X#:(D%B3P90*JJC2@.=-5Z\6+Q)MK,"A,]&EFV8ZU!$S=KE>/[03. MAZ/YFQ, 4P $G?HV]:V@*@ J,+X[=09>\76K+WWN\F]2'_-TQ/Z'?-04JD4> MYEG$$HZ]E*E]7%=>,ZJV]22*1B84DRQ-(NG'5(*R!WV$)O96.[*'^4[U.>2'+!Z?=*:+?I M/9K%(RZT W-D>\7LYSI-DF88$\Q1+-)+9M9(9$S8TSAD]'E+(+S#8*AZ&M0B M$33TI1 XDRQ1L0=EF :Y/D;DB?1SEL8>;$3#"8&);?AX?-O_X_W9\P]#W*RG MM36J,3//:P2&F>7Q'+::V WZ7%7;@3N):^:N'8GC?LA:L_Q;350[$FY@?-KQ MXU L5RN?^@IT)_69;-KZ\LZ6=7-E@M.?=^3(L$!8TS9 M8YQ@IH[TF 'EA%TX.0&[7FI[_[;T+EAYZ;I0I].=X#CQ70ZM#QO.-8E["QBIXVAPPEP MQ?E.*W:B'AU?+)>PBWWNRD>Z*OY9_YK>KU?5>EF(^B^W*W&O?E"[7]I=_JE8 M*1X*NJSG9M9N:A^T!R+*TY3F.$H%QR2/)*9)3C'U2!!G@4]C 3K\..%J8M?= MY?$&'7%9'YFZ?.HDYIY3=^GK6S6-3IVH\#6K=+F[G@E4,*.17^KQO>I-Q%OG*;>) !H$*=Z6'4Q7EXL"/TUAR MFC/8((53 M/'M$*N%#F82SM3@YEWND8XF*.I*:&:U 2(/7UR.#+\L^5GM>$^ MX4[-L?>!A+_5"$M,T3KW8&#;$E.K4*:"F3^#+E_< ) UCC8T?(B?1 S SU*A@QP-2 M3"#%!5)LH"X?-I@CQIH"@)!,H3&[P^(W^=)L?14J5NIH^-S$3KJB@Q:KNKQ^ MWXFR8_A&_]8*Z[0'[_>O^Y4S-:W:":+0!N@8&6 MAAWE! H"9M@,=3/)6%2@]'8P!P;KSX=V8"[L$>@!X#5;[(/G0@,5MQW8KQJB MC:Y>E4._*]M_NZ?E9J6,[ZEX^7+?.)CJ[!_O?K2/[%O2$AYFTO<]G-3SI)@, M,)4DP%',U5DFY5F:"!ANPD2<3ITKVM';=Y=!\1:F^D)FAZQ?0N\PW]92W@/H MOZ*6:64::/>/':9O4,OTI7^_089F%*<<99RJ)$2!(SR"2RH]5!_M5V M%MD.RL4&*/]8%V9>T5I"8)16D]G/J'<($GV)?U= T$=KSPOV?$FL,T#GBP_9 MV5&3&I9?-/;\?5FL>/%"E_?TM2FP3V/J)4Q0'&1II.R*19CJF9HQI6DH6"1% M)&&C*P;I&?T.KYI0T1)"ZQ7*&T[04K,"M+AAK9E9X/6:L++(EBRJZ=Z@/66T M(^W.1HTD=&2SP[1FM6$CL4]MVNPE.QO_)K_+U59^4IR^U[@ E&_^O=@\O=]6 MF_6S+ ]-Q#3,O"2(,?0!5<>I&H*]; M8;X>X+;@6*]G[TZ=0ETN.^!K,&C7*J>UL'VX-- M=6NV!T^@,9A)'RE++)/#R0&IH$=V.3.*$8N81A@F)\H3D M01KZ_N*[+-G:I$+$G##$/KKDS6\E.JS4I9(-,]JG'-@QKXH J'38CTRG)I@; M,=(/^KOF!-6L $I( ,HRKR&91FEV123_K59+H8EI^(JFH*1-&.GBV]:15"UH MH]3HC8BB&EW@S^CA23U_>$9W6VXK]V]L=(14/#;6U8G!=HF=]*41_RFH'#MGR\-_<5+/ /\I .0M@L=GJ M6> "=@M:+-ZV['30W1)?UZMUL[(&==2@D.ULT 7E,A4R\G% !,4D\BFF-.>8 M^7'.0T9"D8%F^ R3F_J^N1['V6"E6LSJ&5&5X F)LI1A/1,!$Q%XNATOQ"D/ M/!'FD2]I:+8ANE>6W48XJ;K,@F9W*@!N>5"L$W#GX67"\T.2A#A39VU,N$QPFNII9L2/HI3Q M+/?-)YU?HC"Q VN;Q_9$H:UWI_HP\$_72@GT2B<"6C<9GDH*;2B\0F)+IV/Z M:2U: GN$&6W_.WUOYE:_'K;/V_KZ'K2\,-\!%=3-0HL@%CSF(L*YS(D>4J[. M]W'@8YHR29F0@R(M:UHP!JS$U689>3L!83Y"G/9X#?2%T5P M=?%\O/B\]\L7!3N[1K[\%#Q?UM:)?RHJ3I?_(6GY<24^J+47HA[. V]! L119'':)[Y1E =0T2FWHO;KHF&+M*$D:*,-&GS!%JOAL:S:"[D M!N[.-B*#,FIC,EFEU7H7G2VW-B96-\$V^JSMKJ:"[&_R17W:I[K.>_U8TN?; M[>9I71;_E*+)T_B+A 1AR&**>21R3()48$H#W8E*PIR35 21A&UW1G0G-M8# M/43W29QD 1"[>QICM-O!VHUXA+!MW04 PH8\1%#;\)O\O2M!'TV"@TZCT^\[=?W M4\:(>ETQABW/4@*8:8TR#[H[.V'7ZJILM\9L-V,G3'G73TE]7:U;)LH81_KQZV=:PPHK?8EDTU77JKRI.5^;SCE9%M84Y]U7D+#R181)['F:9V@-EH(ZV/%;_T0/!^D["Y<2F=\ /L1B?,,UG M27(OE1DE6) TP82G5(^:\7$6,19[U&>>C!?-2/0_-K3<_(M\G%..C3_1W8NL M4>G>T:7N__T5/I'T Y%(1I2]*/,AE'F8YC+'89;%DDN2);'7?B)U+/Z7^D [ M?HT_3_M9$-V@#TKV>JA?Z-\@[9)_A6]E%IR^N?9AFZYF=S<.I<-Q4Q+?Y1DU M3*-CKF_0GFU4\WW3 5+ZVZ CA$,<3*E95] (D_ X+Z3"E&H^@V*8E)A=C'2O M?@JR+*6HSP_-0>&06%BP6$4S62JQEZ>Q4Q":=CF9480 M8OM65>U[\KM)4.W,-GK(@UF?^4=T:>92W>D'>"#9*Z8MC6GKJ0ZT7?^%BBB:%OQE=T/2HPLU-[P6!VN9=I GC]RS(XLKN3Q6>U ML\N"G=I5SU/6>&?%1GXIODOQ>;517[#00XIJ0+7;9SVGO.GF:]M4]-7?)_7L M@D5)+)(\Q3[3P Q,_8D&(L=IDB9!G$1!#AL29,?&Q':I?AL9& ?-1IN&IY;) M=00\EM3\X)HA=. (U2S=(,T'WS07='OF;IH+>LV84URU*Q3C#G#-AHFYD=BN M4-0%B+9K5G,7^-\=!A_5MH3W>T:;&_YIOA>; I9+:3'< 5X,B/ C/ZE+@"CGU M+A8K6%88\2()G#%",$N2 MQ,_\E/,L =4R.F1NXO/4']OG9UJ^UH,[:X:.C@; 0B67W\3,A[V5IF%>;L=E M.QZU_X16W5SZ"JAE=Y(Q05-JTE5EE4O6YJW!FD"I9]5:4]"P3 !OJV(E*]UG MQ8K5;NBK]OMRM='C7]6>T*!.'69UM!,ATC2E69XP[)%(HXK& JN6)]1AJIY%W;*% MCOCJW*5/,-7C>OVXRHK;,S)O!OUJA9UEVZ]?\7V&OOU95 LA M\C3A),,DU*=9+Z&8RE#BT(MY0D.9)#'HLJN7TL3NJ2:GXY2F8/OOFJ1M,^B9 MD@QC.A>BP_P+3&K[-M$^B5QWC)[1>9OFT3YQ>_M(>U^PA&!3Y\RF(UD#T A* M?1U9Z+LQ*M7A+LV5>7)EJO7@$.,^TJ.5ISZ>V?5EGRM@V/2N$@MF:CLR[IJQ M>YFWQU;;KS0OJMJI &=X:F

XU*5'V30BKG+3ZMRWICZZ 8M?5!0>QY7APR'(I88B)C M'S.29#B+XRAD?IHDU*AD T)TZ@#R%)GGRY?WZ/:QE/4V!H#G,=7AL.5.I1E@ M?/F^A@+35> -#T@Q@9JHLXLB9@-C9*HG ++1!/JR!#L:T-OML>9^>__O[;/W M9:$>>E@C]?8WN>[@GSM 6K;1SQ!^DNE2\T$J 84[0EF"OFMW"G^_+E_6ZGPO MOZI5Y:/^6;6_<9^(U)>YAT/&U5$\(P(SCR7J/"XC*N(@R4(CW+912E,[T1W= M&XTZR8MB3U"M.BJ;HP-Y/YU9#^2CXIX>R,=?L+/< M#WI0"6]:4=2?E[*=2M&]F%B$.0TI#S6.K)X'%*F0DJ6,X"C1_;"13.(,5,=J M0G1B>^ZR4$^ZH=:7K$8J-+-PUXJ!&7N7^@W:TZ_58W0'#;9ZB+R.'( 1R5E] M 40)IVX!].X54V3TX:&43^JL6WR7S4R&9E2#W-SE#_3G@@B>22H)IM17+B), M.*8D2;&?1H*1E(B8@VX+C:A.[".:02&\RT0[,@7]MEQ7T"I2,T6:.0KGZH%Y MBD8S1_3;&2HWJ/XW%2[(&JE+L>%XF(JIU"YGJHS2G'^TBJD:+DY8,7[9LEUF M6ZI3ARYO6(E/Q4_]IQV:+^?*-; XQ$&:I9APY2<84?&$"B-"282,\QB$R=I/ M:F+GL"=<;X]Y2QK8"-.O)S,WX$9ZF.T?"[ZC.L&18%PX5TTI_83F;3P9%?BL MN63\#7BN])N4RTHM^,=_%F+WDQS3K$?L+B]3 _463Z._) E7J0.\KEI M6O3"^A/;:DVQ_KE6FJ9Y*N^2*L:SFU<*"#/'1C9%#=7D+/*5EX0T3TU>*:Q= M%O)$:#=)Q %)!O*%E]Z:+34XP'(W"SCT&/R^LK[\>GA^_+?UC]]7+\7[5274 MW_=EPH8WE\.K3.P0:N+HH7@N5H\W2+& ?O]Z_WE?LS8 AP#5QK"W<*L(F.,8 MU0'ZN].R9G-9K:XU1Y:>[8+33,3N5:?A&U?6Q]WI8N1F$O']NBJ.AMP+%GNI M#$*<9XG A 0,IR*)L$@2R6(J?8\9U>) B,Y6IM-4^+JC6GSSN@B#+$RY+[$OI,3$EP'. MHQ.8MVC6OT&W)U+?4[?]*_TRN01"/R8P/_#Y10$O IU??A)FIE6Y6>BCS'I9 MB-H3?%8;9U7W/# I0A)F'.>UF0948!;G&AY_DT%2;1;C^)R6M1.D11 M3174%C*@FV$C=",QS @MA#4VP'%YA@Q0O=TQ/O6W@^$-+#R+X8T+MC,\@R>O M@P.X&VJ";2J]/8_E]6Q/3\9ZMJ<@.$UUX2W+2$I#X@ENU>P_3GKJ0ZAQE[GE MD#]S'1ONKI-H#G@P=:4B\"(IN4RQGWL,DU"YFY33 .>1""GSJ1?G1M=8 )J37VW5 M5( 7SR:Z@IWL'6G \CC?H7ZC@8M031^U#+@_P!M(Z_C4/D3Q38[J!BKH.Y^; MO J_MM8P#G?;S;Z_?'=S35F4$B]0P04+5+3/Z0UO\N^7FJ[ZVS )P;= M: _+,W"IW?/B;/?:PXQWK[9'GKQRME2+T[H2N_7K2>7U? =QM]I/;E /?%VO MRJ-!#OK]^E?P(/G3JOBO;=LH?+@:3N* )AID,0]#?>L6>3CCS,,\DL++_"S- M@@Y#7RSG MZDSZA7Z;^3MS M?(;>>3RS$'<^5N!W^H^V5U//2ORP?J;%:L$2CZ41T1-Z? \3)BG.0IYB&3.9 MR%QM&S'H^ JD/['O'\-AK%EJ6XTU4^CO#5O I!E4Z89.?#I5 MVQ_&-;;71DL.]T\O) "I9S' >A[@=UM&!]WF[X-SH=^*VN2N9_"7Z[-PHVK0QSQ$U>$)5O?T'_:YBX>J= M7,F\V'R3&[692'%;W4ME2JO-PLLB(8)(8B^0&F/3SS$- HYY+(5,!$FSV C* MS(SW( MJY@2M0PXU8AYPM:M9NR2MXH0VB@MJ:.C+)H!PW0'KG6#E%%K:(EM4V>M_[:Y M\#/;K-4?CWYL^DFI 09?^ROK0+E@;OUMK;UTYV;"$V%(_3S&GH@9)I0'#08JY4*&>9 R&8:F[A-(>^I+ MJ]U8N[(AC[[OZ9N["J@ZQSWIA$J"N=6S3&EG$F#+##IP8W$7!M6=N<^=4(=V M#ABF2S?>U%() ZX5NN)L?M92U*[3M5W"+EW1"9N5( T,_59Y_';DT7JE7'^N M NKF.;4AR.KC3W7L5C2*%2U?ZPK(KTHQZDVE)$7I\?-*^4!9;19I(KB(8N6B M0XTLGV4^SH+ PT'DA\2G7LB2&%+B/R&O( \/[Q5H3\BL9F\'B[/1#,)2%5-^ M+>IK,:)!B0*CKH-1Q-?'8:",,)YF.281)'0(D2>Y*$T&M[2 M2V%B?]O0M$+9OJB/\:/-U5+"/-JI@#8XV12"ZI/&[_05 MA?X-"CS?=PB&-2KH$)3UQ??FPZT>8OL(I'KP06=M['J6P..J^*<4GX5.K>4% M/8QBUR7)BHWC,I&Z[$R*#^U\9N42._^XR,*,<\$YEH'DRD>E4L69*KID*0W4 M_V2)EV6+E7S4/X^'J^;D.>;VDQWM.N&Y/%"_>KB>Z^]H%G?^ M(I_%X;"^ _NHR_^NN6HG07V_V6$3M4)HA.#V"^M+@B\&7]@%8,)$2I\.9,$U MPV\-S##1!S UG*7N_DM8JOK79$Z!!9KX>BR<4#(H7CU MPEOS1:O]+!_%J@./V46J]^5:Z7[S>J^^V$:Y+PU[\:(_\;O7![5B#/D/536?$?AJ2S,]PE'HY)F'@8SVU$LLT M(JG,/$&IW*>ES&^J)V+7)A=E"VS724(AVG#R=LFHM\U _2NGG7[Y3-._1GKI M_Q1*3 M) H3S)*08,*EAQD/(NSG*?>CT,]89#0#=X3.Q+;<4$8[TJBAW8X5-ZSJ'M/4 ML"D[E!]FQI:B&QNPH6 #IYP++1<:*3 MUW_N@0!H"P2PDL#QU4:Z,]N,76L$9LX74!%TG^YO>Q;0C@<'X^EM1'96+&E MYIKDC=ZW M*X&.OCTM7#B&O%/]V_>R[+.QGXHEMN-%.]>FZO9 M&OJDP;RFTO>C5$J<2*+V<1IEF.5Z"-@<["*^A'.X4N]_=61"J,6'N%IF&LDIBS,,?&$P(SD MNIQ9!A&+ ZX9O^"UC^;N7_:ZIZ/:*:]YNF2L>]!+22OY03;_]_/J?++5M_5R^6E= MZNFO"QJDRMDF,1813S")>(9327PLI4]#CV8J8 5=^0#I3QVF=F>-=AGYG_^K M2;Q7_Q,U/(&[D4%:-CVP3J8[Z$FV80#]MF/E3ZA8'2NPU1OZN^8(M2PY#"4M ME>&NW1=$?>X67AO57&C+M5H&/KA= X**CS\EWVZ*[RIWCRXT M=<2FZ:,] VC'@09J7&]6ZXTA&KR94H:]AG-]P'S$N"HF&.-N+*_5)/?QU6<; MYFXL:'>>N_E+;W_Z.R35JX4?\(0PZN&("*:GP!.=Y@YPS(.4)X)(+P"ERR;B M<^J;LNYAI#B]-GN[@V'W2\U_0+34_R]Q4.Q!1/]%BP M4/64I\I+Y."%1A_:!L!/1<7I\K[NVOND_ENU"&F>!S+P<4Z$CTE*8YPE?HS# M/.9$I$GBAT;3(0:I3.Q]=W110Q@UE%%-VKS$J%]'PY[3F>0POV)G51;]J,'LV2D&/N MJ?\0I4%(&7EYOBGPWJ?=,_[&H42T=Q9L&.:W7 +'APZ,H- M:EA FH36)7>T0?E(9=KC=EZ@VI>S/,IYV*/YT^NDAAFJ1>$G6(2W:!4 M5EF1\]5FRX+T"M+->O0_!#>=AU+BPG"![N"R2E3&<+#6;)5P6H6L& M/4]8%KWI(I)WM))"5[_+5=7 R]"4DX1D"9:1!L>,PQ S%DG,/$88SP(NLEA]E;3PS5!I/:B^MAW9'L: M8)563S6$_:IR&"\.2^JJ[NLRD7E+NP8%/:O>&G[:SG";>J_ZY]TV*69">EX6 MQ3CS_ 03Z64X"Y,$^YP$:1@PXE'0Z,XS"A/O=VTQ8XW- 3//95$L*, MLA6NIC5!7V:O)(Z,[GS]6>VM5[Q34^M_$!XB'D*4&M+),$0\?FOJFZ0]L?]M M'BB>R#4>*-J+!+.13DSH"H*JGWVKH/!DJ=F"PLLB=(/"GB>LLXWZV/I%UXI\ M*QZ?-G?Y7ZLF;]'@M]]ROGW>+C542C=#MZ"4>R3C*FRD2:K"1NZIB#'F.(^R M,/?S-*&P:1BVC$QL=G^33P4?NMYSJU7C].3DN@*G+.OL1\W2#:J9PNL<*[9V M:MYZ=&SN,*JT>UK="%'I- MNKRGA?B\>D]?B@U=UK$Y.XW--3UGRHI)W>1U-W#6 M8LXEC+Q>([C4*B# M,:%,A=M9@&60^SY//3]E#.+A)N!Q8N?GYD0]Q;8; M.M&W!0/[6=$[-MWYSPFUYLBU3L'AK%YW0A6?.N0I2<'K3=X7F]?;4M+W:R$7 M/B$)8Y&'DR#PL?XSICP3F.<\E81[(N6):8E)=^&IDQ>Z0E[30IJ8>1W)D>S# M#NP:B8#)"C-A0/4AESBW*@DY6FBV*I!+['<+/R[^NRW&D[)(]76J^W6E[/#_ M+5X:PZ@1VT2&0^X%F$3J@$43*G'$4I*HOXJ<&]=>]9.9V$Q:F*.6\@UJ:"-% M'&@W XH:MR(WXL-LRE9R"X2G(<&N 'BZN.S,^$Y#HIW#.PT^;7>F..V_/M0@ M,)FHO2D/L?"\%),\UL,Y_ 2G,1.>E.J0D C8E5DOK+B?SJQ1[:BXI['I^ LPRZW*C<;0%UN^N2O_ MD.7W@CADV41?2PBS30E!CHQR39L@6U;L=.U1_.]A@[[*SF-Z84#N+&WWN M2MSA3G]".YY=W.G>AFVIQP&]HU51_76U9I6BK,NZ:K!4GB 68Q)+C M3+?WAEXDLB C<9(&=NUA>QH3^]C3/BE-][K6L(-VQO,2#F2&^38+<:]H"CL3 MR$%+V&'--VH(.Q.JOQWL_-&W[\YOD_WUU>P=6Q:/3'&$DS!*,/'\ M %.JS9F'69@*EB9Q^L:#IR]S;F0K5P^>WE4V+&OLG/6>^ALV[_=\2+.([!?Y M+G.U]%_NZ'_MS/^IO^N!^U^SCW]8T[]@2W\/P_^RW?W#'V#*1O\1RI:](&>@ M4'M$V7M=E+->W6XV9<&VF[H+:ZW["-:KC=*^6O3Q\TK%6[+:+$*1\2Q(4APD M5&"2>!(SW^=0]'^PZ2AW9B6QS+R$XS 1,28L55:2Y *G:2R]C$11 MG";MM_FH/, O_65V#-I^%ZEVX;?_(F:ATOPZ!MYCU3QUP19>YK;U>UBC]^+U;JL23?+[: J/REE?"BJ MAKX^8?71_[=&@$64Y@F3-,9A(%3T(?(0IP'/<1!&()Y^]RVR4:I'R11Z.,@4QZ31$&*4YG[ M."$L\G/)DM2\!.)HY8G3]"TM\T*'8[''*QRLA8&YEY:,PX;@7N:OJ&0X7F^V M$H:+8G1K%RX_ +.)'T_"J!K^@?[\)KDLZFNUV\=2UIT7"YDK])SA(OBB(3 [J.C8FM31%%Q?,+Y36X?I//0)N2KBKUG\R#C"M5 M/6RT\RD09N$=GG1<<. *:;9T 4?+F$;!^HD.O*$]<[-H5[0W5E/[2*ITW?*+?=(/5GY!:?U171!]JH)8[^WI"'SO(;4IMA(LZ1,F#^W%X/=FA*(P*ZQ%3J(S4_LM*( MT!?QE<;>L3/O@\.H;IDZH*F 9T%HGN74DU@=DA@F?J#LFZ< WZ7KU[_9W^8UW6XUZ;9B;&9$RB (LT MCS$10H6:01S@,(UD1&.6Y1%Q@_U^1GMB$QL$/J_T%.2:G7;>,:0#RD;/9EO< M1-J#F;)3Q3G$CN]5P>00\N>4?Q$D^5Z5F /*]R]A6PS6#M2\R]_3ZNG3+)UI W@R=9>$1:5(>,2.JOW&" U-%RE7HNI@ MIFH:"YZ(G"6Z8#.,$TQ"QG$6J,@BSX@?)2G+6 P:%-Q':&+#WI-%0O(E!8]< M[]6/F1&[D!IFP'N*-ZB+-GQ3&[,[VQT3S)'=]I*9U6;'A#VUU]'G+9$,FXKP MW3;BI=+WPE1B(2*!"1,99DE&<>P)9;L!BX04(!#"H^4GMLM;BRF7)_*;6:"] M5, C\>+S8MU=%.P,IN[R4Y:9I(?GQ]]7+X4>/ 0>F-2[ MP-3&4J=C'HIG?3?Y^]?[SYVY2X.5$AQM'3#:L^XL5FHYW7CL%K$SD/MRS:44E2X"_5Q56]T8 M'V3Y_$&RS<)/9!2&B<3<8PR3.!8XC3G#,LF]7,8YH3EH;/HXR8FWM1T#AW*; MHF5#)Q^6BA&L5GU6)S=F6/X$T*:9CW&K(YAC.5;/YXYJ-'VL&4 ?AE0#=B;F MTCKR( 8$9W4;Y@HX]16 -VU*4W>E3'=Y+C7&2UO"S./("Q+JXU W=!)"$DS3 M5+D$(L)(>C((VA[*\'5U(J6./8H:MVY6XP(#V7-+QDF]SD2&U MF]>+;EF9"?C8P$+*89$&RR1[7IVQ"'*8^>,2QY%GK<,/#0"H(IT6 ?!.;1#Q.,RR@,8"@LMQ6!IDNG!L MC:]RH^OYU\]P*]W)+K,D9YD,<)90HDY0A&,6YGIVCR2^.EZQ-$A@X-QVTENA M<3N0W]@G6<@$\T!:F,^U,.@W3>E/OP14P;GD[AS3;N&YW=")0!>L=+^%^L"+T/?#)!4^SN+(QR3P4F5NZD\B"M,THH3Z$:A$^IS$Q-&" M_I76,Y+KAJ%\7;8&J-N"H'/_+NC'S!RODQIFEJU)UL3JUK0;I.BY,[!^61P9 MV@4"LQIU]M>=UO:\H-MQK8%= EP!CEP% M@/"L+@2ND%/78K&"9?&8S&59ZK5;7]9.D)HX!=H3K5F#:S*M=#>R)4$69N0DWXL/':^4@Y#*3>A M4D3&7A)J8Q8T]%3DD$>8R2C"B20IC5,>^8D',6L8^8E-O<-,G1H[8@=F\$"U MFCF!Z90%IJN2NT6$FQ&_?5)L]) MS E-U8E$>MK-9+JSA&8)3FGBQ5D2I(R#^M@NDYG8G>R(HAU5:&OU1=68N8KK M!8:YA#-9)[A(&);)69_U12(SMUH/"7K>;3WX-+S:X(M:[2Y_KZ*-8O.)\AH4 M_Y9S]7JQ7GV2=*/L_W?Z4X-NO5N7Y?J'HOJ>OJ@G-Z\+D; @B)G 20UH'&8^ MSJ3.+WA26;3D4<:-H;"N861BVV[)(K:CJ[&$:L+F-_E7Z7G8#95L7E(QE[+MRBXF5CJH4L.%I@:J.:Y: M?K:*#Q=*Z%:%.%G/HJ%"_*/&*+V7ZZ]RK0+'ET\K>%/%T"(3N_$#8%A[OXCO M/]ZAK^I_-!]R5353^CZMUYO5>@/IM1C4S+#S=JH4F'<&ZF.*-@P3P>U:,097 MGJ\=PT3 HY8,HQ?LCE_=D3(K<0X!OZ!2<):1%,=)0# )P@Q3/\V59I.$YC[G M.>RF:(S@Q/=#S7R696=^I\Y?V,QF&=6:)ZL*]467LP)262.(QF%F&1$X"R@'LXR M&J?28RI. ]5[3,ONQ*'%?2GKJA'Y4^^;K9$UQ::\X:6Y37K+88'GG]#,:_TZ M'P;F\RR&!%:7IP1JK[F?$]B*L+\,[LO^Z0P%[%3SH@ ML)^JW0Y2K]'>/2HE-LLOHBCR11[K03L9T?\KQIF4'*=1$HB,,>&E#.+X+U*9 MV%\WY>^K/3DK[WQ9/69.]6JA8;ZPD7=_G[^GZ,YO#0KDR-UQM6=+NQ@*V4V\F+X" M'[]T]V.EK.2I>&FA[F/NL22,0QSQ7&*2<[5_"BEQX*=YX D>1B0V'EU$6>QD&DLL0A\M?.%D<1IH#9"GW 91XR&+("='(>H3;T7[FBC93US MJM34\3K'6_47VAZTP*7CP_HS/%JZT@IP%]TKI*9[@[[M-*)H-T=/AZ=-$QE= MG3H':59NRKE-YT(FJ19JD&4N\% >,A9CPW,,T MD@)[>9AQYJ^A Z,5.CO-2] K/!+&C.S MZROU +/F,Q4\6*G HCND5TAG;2'G%&;N!^D5\;P1I/]1>/JHN57\&UUNZSQS MG35^T7_Z4&AT&:FXMZCH@:TZ=7#=#"K=14',4]B\D%&24T<%M-D.:Q9L9V".Z\TL M&'"K#6!L %,$?%*(L6RNYH6,$YQW:HBQ LYFAYB_:0GMK);0^#%WRJU4+^NJ MAJ>[RYM++G\11'&0$I+C*,D9)GD<8>IK$!@2I5$>"#]+T\5*/M*-%&9F/TS0 MZ$>>-3_R+EGCW[HFC]1.*&KB=*E_]S9WQ2-Z,S-Z![JP [W62FB0FU =%>R) M:W6,#'> @UP;2>D*U7J8V+PPUD:"G^%6F[UE<5PH2UU_?+NBR]>JJ. '@Y[W MISX"E.5Z)=?;ZKB*?<<&(.+OD]\@MG<@.C"*'Y9ZBJ!]1$:[\+QOT?D"\1&Q MCD+NL6?A1O=0BMNR_+ MFRXT0U,[?FMB U.4U%^;L7$[DN96=2+@N"W9RP:S M(!4IU7B$(/% %G-9$BL[.5EJ-NNX+$+7)GJ>@%F"D,7BXVJC^]J$*'5YI/KC M7?FP_J'.E1DC(A4YSOU4G2OC4.*4T1C[@2=BED4B3',3NQF@,?4.55-%+=D; MI DKM2!-VLR0AO0S;%&.I 9N3C8"&YN6@4@#-J;>;FQ,_>%@8T-KSF)L!D+M MK,[DT>O&9[U?5:(4GY;TT69VUN'MJ3>FLQE2[]>KJE#RFLZ!'!!\?*.Z7F:8 M50V)B_ZN:4\P+.M^>ZU_HPI $K6Y: V5=+M1NF9*=7)C!/V[G#;:FB M/4]=A=YT--I>Z:))P+RN5)&K=*\E%_/F@*]3U5EB^,KEX/'[AQ:\I,Y %TUC MDR:YB$CL^6$089GERHG1.,%4I F6016>+X,?$ZH;PH\_:Q_#W*B+C\2=9+8_:)45X7NQRO.'KE?%.A2 MX'[YP6OC]EW?;MV0VYAK]>ZU\[>FLH]'F>][/,8D8#I@]_3\G233XS&DH$G. M?!_4L !E8.I(O1-A[MOMNQS5D67G/]C53(+5#@W8W2O3/E)WH\)@)CX-:->Q9F=B%:0!D94]5 M7J-W1>LR@4Z,9J)1X(HI8KC;K2\H4.C'4?=-7A[$X[ MKOR:/2/S>KBK%7;FZZY?T<[K/4C^M%HOUX^O[V@]"N5XF/M^F#+-2>!GF.O* M5!*F F7[+G!N:VS'1GYJ&<:P3F MC [D<4T?'1C8@3VY1RT'R>S(Q9C1G-6;@-1PZCA@+]N6V#S4I^TZ[?F!;HPF M&O>^/+%9=Z@A30Y:;',JZG@NY&HI@:9ZH?3&6&B+$IP>P:ZHQ#E=<>:"G!Z! MSNMR^AZT'R>T7M4;?=U!7ATV]06C@0SSC.*4I$RCA(68ACS$,15)%":2^DD MF[X[0 WRT[0:Q]L])=PT> Q5][2@$1N:_PJ$:1A2H=DVZT@M,(MM]?%'HX^& M;B>T=SO^9T0ZA[-^^BC-/MAG1.1+4WS&7K$=]/M=>>-U^?J-_OA=>8RRH,MJ MP3TO2+)$5Q]PCDD4^IC%U,=^GGNI3_V,9 ELUN\%*A/OJHH4>M[1@D[WO:04 M,W.]6E28H>[)J3.X$GA/\49CCE4.NS8&Y7(V[_<2C9E'_@Z(>3[U=^AA.X-4 MY^@766Y>[]5GWMRNA&[[?-$1TRVK-B7EFX6@>B2/Y%@PC;*2!FKG];,(\R G MG"?JV.N!@)E'*4YLJ#OZ-ZCF8(]?_M*4J^RX -XIC.O1S)Z=:@=FVUK,:O['XIX[ _$47,"SO:5F^ZA1;G4Y;Y(PE/(Y"S&BN+R)YAE.1 MYSCP&0OB, GBR.CX:T)L\@07VZ#'P8T+KA\S.W;DQ_8=GP7=-2NO MY 85S83KS;K^&U<\HY>6:7W-OMX#F=$]Q_\;YF\F^:9F?NJMOQ/,OW6XU=]C MSZ\>.;Z;1-XVGJM_UFRC^\ZG^DVSKK[GG] !?>[ _B0AT)3Z=>1J)V%Q5A<] MI9)/7?NDM"QJ-I?+-AW>R8;O+MY,2S<'UI@X0E.DT85T/J#M?E !XU<7KF0' M^K$>L1U>,9H*9U?4.;3P?+6=!N(=E7B:/&\7E?TNJ9Y\KA?\O'K9;A[4,K<_ MBVJ1>6D4L3C#F2]59*71I[,\"'&8AQYE(J.$@ JC^@A-;*<=LJBFBS1AM6,J MTL!,2J^JS (6%PJ &:N=[.!(84PP1[M]+YE9=^PQ84]WW='G76='5Z+I)927 M4'!O.=\^;Y<:'NJ#?"DE;PX,ZB5UQ"LWQ3\;L H_#[(X5;Z39;F'2>A3G#%! M,26^$")FJ9_)';K5@XL$JP.FCY.OLBJ^M^HPQ$2'99<969=?,-K ML[IS?1(7&>&;DY2P_EO+?0/2?0&C^^;H*W:EJ%_ORC%'7MFANB?/2;O@]1?) M9SM4NWDNW"51JX-7/7Q9(SJ!CULG;\YPR#K)G'11OT!GK5.9C4Y85X@+/U<- M2.K^>-4CF>VAZG2Y.8]2/:*<'*#ZGK+O-OU05/Q+L9*?-_)Y[!#0^]Z$/ZEN MXZ6FN5SK2%0=U35Q5%-WW'QY4;*KFB^/5YR]^?*B0)>:+R\_")^A]E!L=-?4 MYY4HOA=B2Y?_7FR>OLEE[07TT*F'=0.!U((H"Y$*'HD,IU[(,6$QPVD:$ZQ. M[R(*O"R2468Z8PU(>^JRI0YA[0Y;;"WX0#:H2H<->6)%P4R\9D3?]AQ8<3S: MS5+4*T:_02G.-AK.4A7=T7&V2\#WJ+OMIMJH2_EL]7;6ZU?/GN KN%Y0$G,HDQSP@ M 299'&'F$8&C( Y\WPL]DAJ!FYF3G-AB%1.H:KA +PT;>L=^^':+6D[,#!B@ MPV%CGD8SP+U9*:5E +4A(D-X9W ^A'M" [32YP7CT=T39/ZE$E$[$"ZK/U_OFN'?H7'3ZCWMB(D7AG[MC $+S>*8X8+M MG+3%F]:]72^E?%+;;?%=-J407^7F+E?$;S>;LF#;34-:3[9?KS9*[&6-)J<< MI:PVBTC7EN:2X)!'&2922DS#),5>2G/J^W&_NNYLO<(=%M5C#8_@WK&K/I'95,'1>+W=3U8\H;*B9OT.V) M]H\919_'E&_3M.9"9>X:VZ[B9N[F-Q>JN] @YV19ZUOI[T6E=OU/Z_+#>LLV M^79YR[D^OU0+3K-0AFF (TDE)B)*<"89Q4)&B2"9[S.9 MMU>HE-'/#N2:-< M10ORYXOD^A*1EU(4&Q5[5)4$%NX/:BY.,R*36&(6))[:8F)?'Q@X#@4A428C MGF4$ML6XTIW5_O'QIS[<*A>V.WD!6XD'=67FZUW)#\S(MQ3T0;^-<6_0^^9' MH]TYZFA&Z:6BRW[-V%P]CXKL[N:XG]3<%[^C0E^XMQU_Q[8%0M289W1Y3POQ M>?6>OA0;NERH )(FE ;8(Q[!)"4$*Y-.<,IX3 .21LH!0%QC#YVI;VOW5-&+ M(HOU0:DA#&TJN*PE,]-V(#O0J@]B:XKZG/A^1&R+8OQ!H9S5TU^F,G-)_*"H MYU7MPX_; @K239UYT,EZ'43=KL2%T&K?LA)X5)T"F8>Y'_B8Q#Y3L4WNXR1( MJ!>()$ISV Q8&/V)#7O/C3YI7#R-V#8G0_5LY@(FU![,-3A1G 4FH)7XSH M8=1G1O^S4LTYY)_=,G;.Z$X_>U>JN$1LZP&W[RC_S^7ZL2UDR@BG5,0AEC)2 MOB>*:OVKF)3\6JV,@O*JHX@PCM5H2W'/R'I.6#^DYR(2(69K%'L"]U MUE"$!+.<9#CRHH2R3 @9@O*MEGQ,[$[4CRN!>0I;?9IYCQFT!/,H#4.XYN@, M&OBF=C1U\KK+W0W2C*&:,W>.YDK5.'(^MES,ZI"N5-6ID[IVN2LA%?]]7?[G MYY4*HKBLJ@4CN>?1D&,_BZ7.E5"$SD;= 5+PK:"Z]X M^6EX=?#G9GSN 5/@"Z"-I?_E*7^#-Z(DOKOM9QD6T*I,=6':V,MEQT;IE ML@9/6]Z$+9?K'[I\[L(EV^%V=,'])$@Y(3@0N8])$E#,8JD;T<.89QDGG&6+ M%UD6:_''AI8;P^LQ(^*07_,I"X!\U[+N4J8;]$X^%JMZ=,PZUW6A:D'@O9F9 M3E,_21*:13B.\E3I-,XQS=4FG"L]TYRGD9?$K4X_KL3;:G3'@(T^/^J\PJ2: M-+R0=*X;X/WDI:J#/5-U!4NG!L'AG25(;E=7F&9$Y[W1!"GB[((3]C:\:^%> MQZ_;4KYORL':R)IGC.-:-&IIF]?;#VIGV &XE!F<13P2]S#S?.Q" 2:_>9>!*SW8]1:XJ= WD6&@ M+G_P]=FJ\4V$Z-;@&SUO67E/JR=]<:K^C\;&^$Z7.IR_W:/._HTNMX>K_R1A M0DB:X8@G%!-/-SFS2&!*53##(Y(F00Y)&X"H3^R>:KQ/G>JO_]!AYT8',CN. M4,V2=:T%3-UFLXV:CDK:;=:Y-JYUZVC M:T;3UQ7R*E!^KK>==Z_M/S8SF$6@HB(613A,B3I/A7H,19 S[,4LSI*815X& MJ_V"\S!U_5=G:O,NDM@SA3IR:D8_' ]O=YVT!QR@_4XOE9.*B4\PYZD*K&(O MP#3V,W7$$UG&0ZD.>A&@'=V(Z,0.2_=>'_A >T9 ;=9FVAL_ DZA$YBWF5$= MH+YSYVJQ.QVN_A=UUL(-$FFXB=MLJ3G;N$'"G31RP]ZUK=I?\__\K(ZK4GS8 MELJO-KG?9E)@_;_K0;M==)5%F/F!.CM*'/(@P237 %IQDN- >'FJCIH1EZ"A M018\3.P,=="\>46TAH/[+JM-#9M@/3/]O^V M<[;OZ6L=EG4N(]5Y,U>?"'U:E[DL-NJG[;*LWUH]SDK[X1S,7-YOK:+S$G_[ MI6#>2\ABT:!^?9./A7:$J\U7^BP7OHQC3P8$AWX>8I+E*68140?+B!,OY4(R MSZCVMX_ U'ZGP54YT$2:J)FSZ=7)L"=Q(2G,30"%-#;Z,4D&Z@_4JXTQJS\< M;+AWP5D,=$RO=?E]4R[U8+GJ+M^-!O^Y>:>8^D]3)+S^%2:VH-TH MU7I&?%7#?)S7OYACXPUH8MBLW"D!9EQ&\J._:TY0S8JC\I]Q6:W*?P:6G:W\ M9URT;OF/P=/V\,F_R\W36H"ML>?UB4WQ"$RY(0U '^^1>-SJ' @+,[D+]2VWIHW@V;H4H6ES^M5$ZP>X_X<0M?V^-(M MI5SP,/#]4"8XBC,-1)%SG#&?899QFJ>2^SP"@IE=SQ3DQVZ'1Y/GDMZ.[LY&=L?DAU\"K,S\[SJA?F2#F^H8:X]1I\!E7W8Z?WP*48.VDZ+SEVI MT%F!^M4,S5S,[DJ!YX7OSE:>K??NQWJ1)5X>^A[%/DD$5F=UAM,\C=3!/?-8 M$"0\S,.).^]^K"<.B-2O-IZ\[T[ITLP-3JXAF.>[IN?NQ_I-.^X.:GF[?CO% MPZ_>;7=0DX->N\YB%L>IW5P; +9_]YVI#T[[H4:G,XUNP.#^1Z(:')XLI02> MF'H%=(K\\J7@K)B66Q>_44[_.H-^C+Z MP<%QS',28 MY$F"69!*+$,:"B:S. L%:+CZ"8&)G?Q7)[#^9UHQ\[W7R J\W*TK9]X 5[]/ M1%>3U$^7GW>">H]P9Y/3^YZ#EU=\:.L"[W=-Q1_H1BX\/Y-)%*4X"62.29:% MF!$>8I%Z018FL8PX-ZVON$AA8BOW-";8I!;L7[1OX%ZTS TZ_,W)\\_-J0 .V./A.-F>9UP M,".\5 EE)BO(WOI%LK*N"\O-9DO]HG0M9^ IN)W<2UG^I5QO7^I"XK+ZM +O M@P-+3&PYFC*J2:.6]@WZM%YO5FN((0VI8-RB'$D/,ZTAP2?8T@QDM+*UH75G M,SH#X;K69_*X]4V^!M'Y(JFR@UU>1Q_D6VQH$E,NLD1@SKRTR>:GDB4XB3,: MY3S((@9%RQVB-['MMM314I-':[8L'IL9XS=HU0P,W&%MUQVHZQ7X*G]0F6:) M'(FB-[2(#.!C)@.*!0FB,. DCG/C!/5%"A/[EK8YKB6*:JI( MD87V )[J93Q!?;6TP(LBJ* 6?8 ]PES1"'BZXLR=@#T"G;<"]CUHB3S<*<*[ MRYM0HU@]OE]7F^IV)30H03-)5C*2)&G@82-_S$T^*$ 0X M9TIXZELCF4L51@F4[SA 7+& :(<](%JNJ4;--OHI] 0SYRX'.C#Z(-FF3@74 MIX::D1IM;L^*0]!,X%4PRD8N<@"H^3(A.?708 BXS0^6WUZ>9+W&M)9@?<: @ M.$H(0&)7L" F).?% 0$HX0SX _*N90:"5D5UEVMHW1U8E7)'?Q2/JR(O.%UM M6GQOC3JR7A:\D-7AM$Q%$,9)E.,@I@$F84(PC=)03]/A,?5X'! ":]&\AAV( M\5@U9];SUSV*M.L/RZJ\$S%I<\U$,4Q@S*1J8S]!< MU9,2.GS5NNQPA@ZLH1UOCN]"7&K)59+C&E;FS7@X4-I9^L/%FG8>\H,R\N]4 MMP3_A18K/9?B;G7X;U_E9I'FD@B1JS-9%$:8,,EQFK, 1T&8A4$<9R&5BY5\ M5,Y!/)B'5:.$C>PP:^SPC+QYBC7S9&[49%<,N"=S\_\U=W7/;>-( M_GW_"CYFJHPK?H ?N(>M\CJ9/==EDE3&M_,P#RI\T>&5+'DEV9/<7W\ 2$J4 M1%)H"*13M3MQ8A+](76C&^C^=:")!^\T^5\"7?;0^97BP9]+LA;7D]^Y3&]6 MYV(M_JD'L7\17EOQ:;WZ^K*44,1+,>,@%R[%,RY0A3H1NE-1X,@EG*!$Q2VF84VDW0\B6X,3V M:VB84T!O^ >UGNRV7I_2PRQW%-7 _S!06T&GQRFHR?TLD 1'P@/0!X[?<)!SQO,0(9P5&+)8A"CD.\[(HHT1*,&Y4'Z7) MSQN:RO4=_1[(FC(8^:E70W;&[4%JF$TWXFJ$^(9D\*XA.@QYY0*Q-":6/]RD M7BIS@R&-B=J#<#3Z^)335?_8*%?QN2RWBS+'44QQADI",X1Y&"$21AQE>5F2 MG'.)HZA-IBTO.V$<.&35,+,VE%0&74XQ"/2@2,L;S@F4,\-HT)O L#2FQ(F& MA)ZI8M9IH0?J/^'8T#/5N,T//5_&&_B*(K)^7%7_IR(2H9*\JJSH 1%)5U:I M;]CM2K2%GI76-TNHD)D+$]5C)$E$N$D$:@H<8RD\EQ$ MQ1Z82'8E\HIWIB=.2CJ4KL95\?^!65Z/_&0? _ :I1=1Y2! T)6@R9F"5@9S MW=*1(FC$N D:0?9)ELT'[0-/93+-3P>FXI_EMT92F>Q#L(!1F8ZVXS$3K39F MU.-A;%#G I80F6-&L7G(S M[P:[=WM:I[<@>:I2T"1"81(Q9=DZ[,L3C%+)XC+!.,Y+XG#1.T1OGOO=EKH! M'>\OR 7:^Z#^[$S]*G6X==EV5+"G61?7^K/N2V)Y,NQ!,K/:]"5A3\WYXO.N MP!#W*V&&-8$P(9J7IKY\M1Y!=2[.Y>M49TE@IM.#_7"CFTZJUTJ\T*6G$52# M EV!_-"N-#/HPXD YW@/IP\X5BU56_KXN)&/3<7Y5_DJ5R_2] !V0E41OX6A-Q M?Y)_F=]L%YBF>:%#X23!>BID$B+"F8J'PR@F7,249)F'@;7'5"=V'VUOE0D& M>3TJ9JOY\C*:]D2!=I["NUI@GL*0;Z;/!C4##?KA39T:ZPK'O^H'/,;+(*FG MG2I[0O-GF"/;KP;+R;$#+\-1)G M,23..%Y^8D_2S+S_LR4'[$ ]485=Q. N(,Q[V,L&WO[[1?"TSY\L/NN&WB_8 MZI2G$ MN,:(31V[-Z0K:.7!J(+L3,Z7V# #W%/M7$]-=#ME(Z"WZLD14C.74%X6^KR. MTN(=-T-N4OU?%9]Z3HAV#7]4NV]W+RI#?9*;#]_Y\D4?Q^H+;_4_\4"_+W*U M0<9Q3%627E*$1<012>,,Q;*(*2:R*&.KX_$K>)@Z5E_KL:Z;YJP/9ODN&K5S M"!/K">8GVK,]_0T/6G:"OQ0_0Y J->'(L+AS,ZF^N M4-&I&[IF*1_S%N[6O\NEF2W:5(YXF+LPO.;$+N;"G ']:[KZ$;39#2.$WG!VPV7QQVE8$^ M::"S![7$[?=JNY TIG$B*:(EU^>)B!)JL29T48>"#0JR"[D.1:L6'6;R1^@$D,CBG&1/(4-/22F#4J&!/R M=-L??1:.!GO[)%="GZJ:+GZ)I62AAHHCC"-,!4,D#@M$F."EX$54I%:YQ-G* M$QO?GE:@B=ECOAY+/VYD5\D$LRQ+<4#(KKVL.R&Z'J\T&Y)KKP!=!-?^!UQ/ MU(X;FOO.C?(PS!.I+.,R*44(0TJPHFME&M?@(^Q1 MX:L]_@G\/L]&@;91AB^EN**B&++!NY:!7S06XUY)!]04G\5W(*']8:98T)P; M0<5>#3UX*H"7W3S%'=U^NUT)_8>N&'BE2]U%<[N[HYO-CVKU:"K]%EG&&$OC M$''!-$ I253$@2EB2V(!Y"CL%VGD* M[VH!GK:W&C$_=#BX">@N:)FH2W;]>0J0T)X\A1W-63T%2 VGG@+V\G5-K0_K MIF.^[;.7.G#Y7!H>FE[Z1<0Y%47!$)%Q@G#),"(B3U!.6)31L*"QH%%?K=4VTNW6+)1(< M&*D3&Z5/XYQN+ZG.N;L6H@//';=6I-^D"Q>BE*'.7- :SH>J4GW!=OJ&4>-_ M4ZXL/"ICE"4D1#A2_JA(4H;B@A7*&_$$IZ#NQ)/UYPA0GO5=M\8NJQK:X+/2 M(XU8GXNZR@D^ S6$S)5^MW[HCCY7.[JLL8::AVZ"S\]23\_0]45\5[T:H!:O MIZ-]4OL["3U:?>Y3SS[1>DXX>Q]S3"W63\\;^4VNMM6KK#,68_ J;5%_JS_H M+_7$YMO=;E.QEYWI0%SKZ;BZX&B]7)J9-353"Y:4!2YDB@K*TWI83(%)B4J! MXUP(%I9YNMCI4C[+),0O?R!OL.<25 JSY[8YV0!F*IX_#\N>N9LW#YM&M6<9 MVT1DKNC6_BJ?E6E\HUN#A?95[G1$UNWZ_/T;5;06,LKR)$Q+Q$6DHBJ14J2\ M,D&RC#C%(HI# IO^!R ^=W\AJ[A&"@>]7^^ M7S_1:K7(*4_RLN1(<('U3*P"T9P7*(URS#(:E3('Y6Y]1*;V)J=MT355X.5U MKW8L8Z\K908&4%!QX6'/B#R^8I<^$O,&("-"GD418\^Z3JMCN_O5=KS MYD)/JVOY"+Z.*XB)M(2_.3$5D&SM&:-RN^I*ZN?QALV9(T*/=Z+-?ZJ M>QO60]M&HOY9I(#JIF/R4PL1?0).!] M5D<:L-OMKY$+9K=G_55C(CHU5O7)X;&IZFCYV1NJ^H3K:Z;J?0X.E?95(U,M M=7G'L]Z_&X"L,)-ER42,<"RU5<48$1*E"%/.4EIF),>Y+5!:+X6)S:JF:@U/Y?OJ^6+^M?Z#._SRVZ[ MHRM][[!(,BXCFB6(::0TG*K]FI54((D3&DF>J13?"GW1D?[$+J?E)J U.\'= MDFZWP6USK!^L#YP$*! UD^[G_E#EAY3A),42:>TKEPZ^Q?W+EVX5H$ZH4MKGLM=EP$M2LZ*OJFHN@P\9-T##H+\9S5(2G M$!!*?=8(T5$UIP&DZS+PLYM?E:3KE=2CLA2M'Q^^/ZNO6H,0?O_TK+N2]+FH M.6D&G^0X+3[Q/M#P%+1,Z?JS/5O:A$X9LS_<<=/EY:.>R=4(W^:[U4C]='4@_?Z.I.D7G9WJ]X MD_8D4N9%E@J4)%0B3 1'-"6)"H_BHLAH40IA-2_5FN+4I\MW@68B:+@(UN:T M=*?X"&I&3,'9?]AGBW9JO)PG>U<.\%#Y1"_U*?+#02]:+0[)M)UZ[)-K[VIR M2[;O_KCP-;)3%R@5!XD^DIK;K3-;J@X2JYNZPUYT2^7-LKI,K=KI+\F"1B++ M(QFA*!;*'6:$(8(-6DQ.4R$*'.%RH=PW6]LFZR<4(%_=+AW[@W4#OOKP]398 M5J! :T@E=CG<%6+"'%GMN Z4_&5? R)XRJY.5Y\U>QH0[30[&GKLNO:ANAQ7 MQ3MRM96?UJMUVW:B.V@R6199CDLD990I,R,$L5 RE.9)3GE$99)CEYZB,:(3 MAR#[+IRZJ\!T+KJU&8UJCC$9RP)3I3E9(ARQ$E$I=7>HC$N2%4)("7-5OG7G MY+]FTIZ=5_.M$9BKVZNB[9YH&- -%!T>3#N%_[XM&YD]-W.-DGR3#B\;)0RU M?5F].PGN? ?S+F*L(*5$@O!<.8F(H )SAGB>$9ZR-"Y(#G,2MJ0G=Q0-(U[A MY:&(=U,H ^8C+(#D)T*_@\H^#V3\&^'@094!!(?W544T&WNJL\O]X)4, T1]XOR\Z5 M?=4MV54J]'T]5K-1US/SR>_%!D6?]D+LG.S/%LFQ8KAGP1G+ M@X?%.:X%'GG.;E[DN!Q[L& MD(R>MM)Q6K/NGU9BGVZ:=B^Y6?B_Y+>*+^6V^8*6*O NJ%YUWRSD2Y&QO.?XM/-VZ M_8MNQ/9NN=[*A_5OJ^=*CU*X7XE/],EJ^L^E-2;>,S0)^QQK5-C+N98O.8&6 M8:@&AJQ&"W^HG@RRU6^?OMQWYI28XB11O5;B1?F#4;V LC$;H9VRLM&%9\O. M;,3K9FE6SSLB/^E3E /,RY?-^G%#G\Q(N"2*:9(5#%%:JF@NSBDJ,J70*$ZD M+%2FED:@N&Z8U,3V:@AW (J"AK33]+P1A=EM:G[4 #-G5PW X9@N"N<+?&F8 MT+Q02Q<%/@-6NOP&?,K>G2[1M1QD<_;\E$=WK_HZS^,TFD'FG2;-':\TVZ2Y M7@&ZD^;Z'X"75/\NN=JEQ6>UVDH?HO]:K>B*5ZM'#?31GL@5/(\C$B.!HT@E M[2E!)&4 MX5 ^;?6-LBZ>]JP=M])IYZ\,J%@:(.I(J;3-*K,52@-$ZI9)0UZ#N[P6;O[7 M]:8Y\S0%3:+:Z7QE@65*DY1Q)(J((9SB'!54IBBD:4R+(L986LZ\NDS,ZJM[ MS:"K]JA==H@:\$U3_6]OU!=T=MG+>=##=2,C%.&@3QO>=&#OT_SIPLV=/7R3 M]:B1]R>W#A@IYNQ*F\OVKY+)ZUMQ4 M;W<4,+E"8=[4L*-+M7?Z8,^P9'19=[!TN)I^4O%5FO&&,.7"P\PP5%>HZ1RK MZIK%'"<>TVICAI/5=PJ*YL>F":S2UVRF)$5\7GW5(:-&G58/?%JO-NU?#8BE M?M]LD0^2?UM5_WZ1VX_52M[OY--VD=-8Y*G$*,T(19@7%#$B,!(1)ED1YW'. M*6A6\L0,3^PN-?OU +^VBLI@4MVOGE]V=>BX9RXXB>]U<2@V*\UH)%7)O M%W'(,T8)0PG3PP-D2#6&%D%IF,HL4W_/4I#7[Z$QL:/>TS$3X-PF1'8U8NF>G/^!CCVR>)[;V*7P)N,9>T0HZ>-MR'K&,1@5S2>D03^A^=$-1@7N!3H8?P->AJ46^237 M;1&K9=W5T4M3%UJM5^C3A\^6IG8NTKAE724-S)!:03R6Y YR[U07=;S2;(50 MO0)T*Y_Z'W"=1VJ&7W =AMZO3-V%W.Z+V,-$AB2)49+%*<*ER%"1"H%*D;," M%WD6Y:"A=F/$)K::+FE=N_?<$(=."QW1EMV6Y4L',%L[%;^E.T$YO(V WF9J MCI":>4#F9:'/IUU:O ._ZVTGB=^MGUA50Q-JM,+'E9X;?:^"W%U5FKDV3>;: M3!D_SF#5[UZ>U#\>/;*?P?G/]5K\52V7BZ(H<$S2 L6Y5 Y"Y!(Q$L<(XSQ+ M$IZ'"8YLZO1GYAOD:ZYK! AHPX3]I>N<'^"XS_J)/Q:8^VN%"#I2W 0'.8*N M($'-9M#R:AB"W(OV1D4FPDQ$5GE"[^H3)P:*7M 2M/?6YSJXO)->)1ELO^L*Y5#/>BZ= M_8YQE91N?MWJ(P2YVD$A1ASB^3NSN:U!=KO.9?@AQR:I%[:M1$4W/WZG2_FY M-+.Q]_=7"QEGG"59D1/PX4U2HV2F]A)Z,E#4 3> M"_JQ.RWP)S7,@1SHW@2:LD&',B/MI[E#MY/35YO4.+%Y6Z6L!#]KE[)[R_$. MJT6X;$ OMXLP83)-.4-I)#C"*4L027*!"$ZD4BY.PJ*$M..?49@E(>?K;5,< M(ANRP-NJ,[U87E)=(RWP;JHE%7RX)"+\0FI(#%_W4&?KSWO]-"3>V:W3X(.. M^ZA\U"'/5_F\WNAE^RIG!9>18)@BRKA .,KT3R1'/,4)QQE.2!2"-M/+-"?> M41L.@CT+P,W50FF6.ZQ?50"WV5,M3%]$#)#7UW9K07'>/==>!6<;+^!5QPLY MNOVF_Z]#SE>UN:]VVZ]RN]M4&H]._T)E^\?_T'GRB]Q4:YWL;R3=RO>R_G.? M_'_XSK^IKY^9:/^A+"7?+6*1Q05E.2IX5*BM/1/J)_57Y7%R(@2A6'#(UCXO M^Q/'#9^D ; W7 3O1,//+_H"S303Z5C"_" /,@ O%.?]M"VO*'_:SQ!XZ:DX MNPGT?X,.@_K$M^4]J!_1G^/)/QZ_40L5W.^_"ZUHVXEHZC_>J M;_*I^+JIG9?Y>>]^W^2#.;M-?ALNW#8YY5@U!U\V:UUV*?[QXW^V^HQZW_1\ MRW?5:WV:W<)WD"0I>%*$*$G"$&&:A8CD>81861*9EP+G(8;-0( S 7%53M,0 MC.?1_:G;ND&UW/?KU/&]6UW 3L1_!.,Z2VZE\Z MR 4'IKSBKURO$T]NUH&!65VENX).W=T5*[FFZ0:@X;UDS?CY192G!2O3 A$2 ME0CGB4!$Y"EB&OJUQ"*D$IB4GU"8/ 6O(3XT06CV?:H+VUS["@FAF?5!N F* MW 8E\98SGZX_Y_B37X-KK[FL3&XTN6O[RX7/PZ<-G M4 'VD63CUG*E4,"M\R"/_SKL/A%<*[&/UIJS%KM/B)-J[-Y'W+:9^J913W=8 MKU1D_G[]1*O50E <)FF8HSC%&<(:?[)(L$1HP9YH M\&=-%M@[W:\@N_WG:K%AM@67&+P/C4KD:2_JIS'K?C0JYNF>-/ZP(R2#B2OE M1YT6M[56/^Z:7C6>1 EC$4.$EP+AN,@0B?(,T9"0+&11G.<9"$YAA-C$1MJ0 M#I;FF&O-EM6CJ<79W@1MMY\Y^5ZO@(@'8_JS,UY?6H'9<*L00_9F7P#ZXR:X M\]WQ9R.@+PR ,5+S]N];"'W6>V_SC@, N_C?A[5V&P:WV!9QO?O2Q,:I:+UL MS4QGC3JNB]$?PV]4R(?UQ^JITHB,>ZNKQY!]_'A71[_Z3*;[UE8/ MVEE$M."1U%7!29$CG*8A*DJJP773."VB-,DIM<.7],R9U??Y&C#*(XKZF_UD MF $>XOKZ'!B7::)B$D2P'D64YBDB2:8!\&2L6[;2+ 3- YWS4W!WFU\VZV!# M=S001Q_&DT9R4Y^(@05]V\_%+@!Z VW#?'B75/!;H]Z&QT/D%+2C"]\I/G\) M:DZ;:]IC<_DR!O("#J\\J\]3).:+JUF#-L^J/(WO?"_OMOGU-./HCMU*F/*_ M]>IA0U?;4JJH4]099SLQOAF_>KL2^@?=KK/ 21J33 HDB&0(1R)!E(0AR@I" M2)%(5L@"XG@]\C9YS"K^TTPTKU:/.KCC739AWM;G!V+G<=](S3"OV]_5>,1G MT&'T)FB.I?:\-O.>315,RZX_MSN!#CVY7I^I^)U#IJ0N>@H33C= _%3<- MG-Y[N>6;ZKD&S&N+?.TOB2ZL-,.]T3]O;[_LYS1W> !=)%U2B-7=DD==P*^; MAM3@N> 9)JKKM=2EY>>\J;(4]>3RRO8MQR,$R7;W!N=$G^U\W+>_1;Q0Z:K1Z0\PI-#(<60=BP3PNLE M!B9XNICB0'&B7L +8OE*O :HS)M(C8MZEAA=>-S-1/^0>N",VK/5UY\^RD\O M.J/Z7)J1;-O/+[OM3D6DM7X0YID46:LB?)$=8\!*1D'!4"DZS7*1QR4!7 MT2#J$V_2+2\!K9D)[I94!=:WP=9PHX>'M.P$*&":H^!=M6I^_0O,]F%JM_,( MDRD3YB?V>FSX"&I&3!-QK!X<:?_W!2@B>O J,]JZ]Q4LNI!W);!#ZZ M\<-J=[C3VW=;_;ZCNY?M@I)0YA@V(,2*)*)' ,8YTUW*(,R?8@ ,- MD(G"&P /_?25(>D(&-#1"4DI+\HT1#C$^B2X3!&-,4<%#BG/>U=0W:1SI5RPWS5X6M04PO>:7K#\9X[ML*Y-+[1%3H4W@9? MX5S$082%GD?=O--7^2I7+YT>)YIEA:!EA'(98H23E"&&]6B,*)(B#'DA(JOY MOD,$)K;!EAS,VLZT8&=JU\@&L[.6TB3-64-B>#*PL^5GM:XAX4Y-:_ YF%UM M-SL#7[Q>5D(7Q9C HI+;MER=%3$MRASQC.0(9SQ%3&8%$B%+LB@I6"ZM9BR. MDYG8QKJ$@Y8RL&C]@I[&[<^?]# K=!3&'Q68S2 M3L#6-"V?AM^>?7E]?C"7W99W9.WS4Y=CT1_!ZU9#*I3KS9,IKCZ@J-A?A>VE M&S[I2NM4&*>+J_TBLUU/G;+=O80Z^YUCAZ[*8\T

AZXU)]IQ<1A)Z M8_O0A/"C&U2'U715WV=>L3KS_'[Z<3XMTQ3FZ[/>,9LYYK-IFN+J RGNMUFM MD"DD-&U)5#$[72U"@OIH&)*,0H18F(ZMC>HQ](Y[]C\\3F_TCGXH73=\D-;< M-+^8X;?W:\39IH/"Z1"$ TSOUH]I9%KO)[&1Z=S23+SVAJI.XY6E+Q.%1NGB M& ++HH9.B=7N^PDTN04V&6UX\Y'*^U$X0+?^.A-MMEB1PW*Y%50DQ&K'(;CZ M)EE$#4X;!CID3KLR6VP^5VPWRL8U< .B:8FJ+!J5E;9N%HO.A6@ ':/(*TL& M/FL%5E/8)X,NJ%M?J61 MT6E$,+Y>Z&49P1L705E/!W/F@I7!IA-V9U!:8>+6<8/':J!?^_%VN?B"R_5W M\AQJ?U :",;<[[6VUD-Z*\L>(&J1(YW,%)!?20* M2FL!44E)$O&^8&3:8VLGYUZB&K0!V;[ -O1KYX2I17R&MA$HOAG$;A-@-A)U M*5SQUA7#^] WKCUJBY\MO4"&T5._5NHT_4T?-?\XKH>] M"&Q0+'3+"I?;(&7F2YUTEEP,M?"X;H/$H4Y;B^BBD4(W=Y?N)6M<*S4@.Q#N]( MTC%EN*2O6[M"VRDYNK?&#Y]ZB4S#'5I4'I(Q-=L*B VEKC3Q%R!"#9> ":A>$55JV[I>P(VE'E_[= MOZ%B[8GK,BA,A&M=^T0&KZ2U+&O7^JWQKK2-G1)NCZ$;)7U#:*EG MZ[-]*O"'=T\.L$>W?U8C"[4CL4?:K-N')6\YV6(DN-67948H.H5JB4A,Y/+R M&%2T(L08XCUBVV>]]O.[MQVMWM,64KI 4K[V64D*@JFYRYQ=K3_DG*D&3(UL M5P;3\_U3MX\5>K_!34TTK;\?8#S.?K&1I=A&1B-7YO2C+^\.DN%:< ].D"^J M+)T!(04*?$,LV?GDT+>>+O4C!4>_^:Q-N#XM9K3)5J>?7*])M]YF6,V4(N1[ M[6U-2&9PJ9:F!;3DR-?ZDM9)HIV)&]G M:SK_B/-TV&7U79_6R+3L3' C>W-EO2?7UMN6@G.>B:P):[+6K>;BP*&V8.A; MJZ2/:%N;H[T(//HARBZ+7>Z1:%A(=5"[+K4C3^UMY5VR@$%A,29;%EO?]N]' MX<@]00;#UHV'*WZIM_YQ65=#W$]G(DEVL M=*GQR^(N=.1'L\+!.NTQUWT'-U;?LMG7_'UHY,) M10#!':.C.V?PC!L0J)FU1O+0_)7)&%_EF2NC7QKS'CW7'OL,O MBV6UJ0>8EQL?T+O#U;Y/)) MC4K%A1A!,T?>J1>&U"LM1'*,728_F#>O(;Z-EJ.;1U_[W"OI!6F%4%'0I@AT M\!I?VU59VB-)E2QDHJ.S]:3J6XD9.;O3 @?25RKB1 QD4_)P-.1 ZIH!J$4"58:KE&3B^M:9Q-^I&#3N6S?<Y*"0L;UD$JUAQ.3EB MOW6I]+XTCMLE;WQ,#JK3?F/6;3T]/FS>]QZ2=[_]PP9L0;*-W'$:D4C/?,HN M0O:UO6>A(S)R5NJ-=@[.F9)]Z[+MAVU$\CY]PGPR(^M]ONZ515:_?;^JE8>C+ N!IV-=ZW=O4/H?%1-2O9!VHV$W-!*[*#_XB6/ M[S M/M+1@OEE)CU,RQ1/Q7K*-9%&Y0S)1K1UQ*E1K5\0[$GBN)[I R)W2-7UZX'NU7'I M8-?TD%7&:"DUH#.[K460MD$*(10(CV3=KZ]9>2PVJ)AK2Y-Z ZF-!5=00BX\>,8X,V6X _Y0 MJL=^7W0I MR&B4:OUD>E?:^NU4M0]6;K='#373K]6YI1G4P1;H[L\;MH/5@);I_CY$.IM8 M?+00L M*UJ$UO;I?JIZ[UFU#U9V[EEUF$[ZM4Q;FT =;)?N^K0ANU8-:)/VZSKD-12:A]JIE4FZ.@@8CD-A@;DRY,),-:C]DX@,S'U-MJ'Y3=[GD-H\$.TK3G+"[N8O'% M29U(].1S+9P^O1O?#"I:X?6PU[G C:,X-R0+RDE-9EYY$"JQ;"3+K/D A);T MCWLU\?"P?G"=]WNTG_6/.?@P__'WVS9V&C05NUMK'FU=#D9XR+RFTS0OX%DH M()/@43.*:6WK2K4':N]$6RM\_+C$CV=E/5=E?@ER%G7RGAQ6YZ4G_HN 8 +] MP;+PWI3$;>O+J9T(&SOQVAX]-[K(-==/OT9HZXO>PXN@[OBT(9\@#VBN[GQP MJE3D63@&V88$B@L*8=$C(-H@Z3LZ&5O'_0_R$/FL4N"'"H$S>> MSJ5\O9@OS[_=E%#7WS^[JTV?YM/_.L'KWFKRE@<5&)10:J5B0HA&1^"H$4EH MF=S5H80V)&,=/XS>!Z>W/HSN!A0=A# 70KE;%AOF_SI?Q!4N-W=W+^=?3M:U M-F>>Z+>NU32P;)G'Z,#HVOFT! Y.>P.)\XSDV_H26E=*#\''N"'-\/M@+)7W MZT1L&,\0HRH4NHH"024'20C.G54%=6NO M?K!. Q>9JNLK7*G8^NW[V3]>>4*%7GB4#EPIA/G:ASG&8"$*KY72.@C5^H[H M0%([[4BP#X9N3R\.I[1^#=7U5@ '&ZI;/FB@C@4#&JI;WZL[I2A(S@[8YF6Y MD@9"9AR$<(HQ0AB%OXUWZ5!]"RXQ?WV%>E@GT?@W5(18=+V62URV?OXU:C.$VL7Z*@$U M%Q#JG$SK/ \_Y'MCNOMK/ MT-Q@'RQ=[2H^@#XZ2,!<".CI+*Q6Y,W65LA/ODU7$\EM$4H$L-$0(YP"?9>4 M@R(9]]F@,\B(22&-+RII[+5J_9KY)QYRL>T#+XO-GLN.5CR>_X^>( MRXG5WD7B'C1+N0;D#(+6$:2W/":5/9>M8Z6;5(S<'?I(O6YI 7V$D$>$R4[& ME[QCW+BP$Q&D#$IZB (Y**TT!*X3:.=\UDRA9;R%&W2QXCC9^8&/I &%/FK3 MGIN=4DI1A-W09.@]=0JNFY?>>VUD2OP[+*\RL>GI?:Z6,'[*YT-POC]%E2 MRF:OLH:8/9Z]FK&10V+.&84:HVC>0++;/DL;AR$FSI7@=5=J"\H:"9&1U^"S M=(A&4X#2NIYH7QH?57^E?1!V3'^EO977P7F[A:M-2.QD+4GG'EC-RRD;,_C( M SB=F+7,<>M;E^[<0LK(28-!]7]_SYB]E=$IIDY[-.%9),UTIL@GURZSM!F5 M4X;'@=47-XGX*=42YP"ZOIO1S";+6[_+O(^F[JS5@=J_W@NAI2HZ@-:6 M<.5B!N2ZWI]/\UFFYKP2^[PWS43PF%WR 1 Y'?\N* C.,BB)S+?&Y#P?RK;M M3VT?74F;P_&!U-=O[=:V3-+[D\^?P_+[HKP]6:9/885OE].$/TBC;9ILCP4' M3* =RO8XJ;6D CTL>/ UY%@ 9%Y M'A,SVM[CP3W"U-I>"KLCM;:/]/JT*)=ADV(FY! =E&#(XBJA(7ICP)<<4D'. M>E)-;Z.N@1 MI];VTOZ^J;5]5-$!M+;G9BZ#\0_+,%^=4E8[JJZ_;UYBX6J]>KE:G6QFQM0O M-MLU*^=C,:RV&K2@9)#@5<@0>=9:9,9B\YZW#V=6!&">PD\ MIP J)PY>" 'HLA%UI%)Q#V-)F]U:J)\$FLW5]UAO+98XFWXFN2R__Y#)KY.< MTJ"W%SLO_""W&(>)8:1"8M"V11I 99:/]/[J6\S]D'8\87">RBO(W?@>A:5E^2D MX1:\$76B9LS$4.3 XN81HW.L^5/1G^,V8R_][WB;L8\R.L74M7I'&8QU,D$* MG%P19NRE^OT+A??00V>W&3(%::+3X%32Y,VJ M "YQ#2):[E+TR?/[/+I'>)NQE\+NN,W81WI]6I3+<"IER3P7#AAG#I2+2%P5 M#\D([WT1AN%0#N1/<)O1^+PZ3"T=0>R*3WES-GFX& %RYW3RIV'UZ6S8U]

4M6)XD*%83\)%B<26DXL%XSIO[],-RU)VE/!!Y]^=7QH+!S[8I M3M-0IS]Y94KP),ODK>$,4,HZFK,V3''9063"6BY*\:%U^\J'X*OCFYMN-D@+ M2/QDV^1BCNU$9EW?/4A@&:L0N*P]UR5('M";9',NK=^+#\)(QY=$O6R$PY3^ MDR'_!VNPZ9XZ43DRZYT!;3('Q15)0Y!<6++19V\YR:3C+7"3HXYOI7K9"T?" MX"?;%+<.$)Y$KI,07M3;9D-"L71&DJ8HA)<:D[ F^@>XC6W/V$Y;1/]#;Y$V MH!@YH==2(&<]L>8?7V%8X;OIQT_K-^6OJ[-?G5@EA+2^D%04Z8TGBKIR"> Q M&)70(=^I\OGA*-YI#YA'LP='"BA(?VD>ZA^2==H!_-#N@9X4?O@\6ZS#K[I0X M2S%<_8>4%B?S]>IM^'[ZQLND8&I3965C 57H" U)2,C<&*58UO(A'HT,Q^!N MMW?LT6R>_E&R_Q;RIUMH7N>[8_[0I;]U4T:G&;O,K2;)>!"EU(;1ND"0WH!" M-)["K^RP9X_K%K9VVS7_X)?>#1#QD^Z5\&5:3\.:LW@39]./FX^;6*:#$4: M<8+.894]1,<1Z&Q&FXSTA75]Q[&5J]UVRC_X[??Q>/@Y-\IER';EWR:N)!]J M>5H@08 *P8#W*4 6M55JUD9<#U"ZVB=;F=IMF_QCWXT?CX:?>0R16T!-RE).*?#!63"R6%.8]DX.U>%].*YVVR?_V/?F#?#PHWK MB6 \.'0& J_.9;T5BEQR.Y&^]!TQU< EZDI5&: M8K-5)#1'YY7-$GSV#KPU@:FS#\#@-'G3MD\B" JDSH8[\T5J)H\ (5S(S M,JA_M';5+'G&E./@N52@C"W@ZMAA9F(QCI&P]/_?X&$@A!W=X&$?Y75PL-[V ML%R3\UM2J#.&:E]4KC5$Y06HA%[001"R:=TR_>=H\+"7_G=L\+"/,CK%U(_O MU(WDQ7@3@'.9:Y%-!I>Y ^1.@TX_KEG&)Z M?%4;>"H?!VN'+ZS9.= M5RM>-E8(%$//9HL_PCQA62R?$JG3=>48CTB0';1,H\S8\2PV2HE=:5YQD940 M3GFC60(F# >590)ROA3$H@-C.<38O'_#%C*.-6GG(GZ]6-.'SO.K19A?D3=M MG/,'V^=\YQ*$L$) P=H0N]3>8F2^0407+:=H)X;6V:V]B1SW2#T6+=+D[@N)[.;9\N[Q6Q&9\H?89DG3NO@ MK#!@=?!5;@*B(6\DV1A,23$JU[H:<6\BQ_7CFANY0774A9';C47:L][DG!R0 M%Y9 <8D08N:0LXO>YI"]:-T]=S?*1C9^PP+D(#CNI:N#,?@%E]-%?K\.RW6; MR5[+Q5>*D!;S+;Q-O)$AZ!"!,VYKBQ$'3E@#&G7T:)-6IG6.Y"YZQC5R#XNY M9GIY1-;N;\OI&M^4LII$HWRP 2%[.C>4" PB=Q**E]9IJU"QUG4$>Y(X;J>[ M'NW?8=H[MO[RZ+NHFXQ<9?=J4N&L05G4AM=!D,GY6EB5//@0%/#,2I*5\;S+ M7=6>RX[;3.YAX#:T-AY-\#'Q2KB 7D%64H!R(8-S(4'*,CKTPG)=^O7Z!BM$ M[]'J[:6K([V^Y_,\9!+YO#/I])@4\98/:90 OH^\1NG=B_ZLSZ:K-%NL3I9X M$=,B8SKYI"FFK2_1M-!D;X@YUAC=/'1K_$R21253PYC M@*#KA,V8&'B,!4QVWO"4@V[^:F8;'>.&EZTP<-VD'"WQ#HZP"Q[>A3]^)P]L M.0VS%9W#+O*< TB&Q$0R$9QU2-;6.)^BE#H,!INKA'2"FX/U>QM@#A9V3XCY MVV+Y]Y=SBFP3KE83IHS0@8YER0H#Q>H+A53W5=(V*E6PA-8]"[=3,FY:83C, M'"[NGD#S8CJ?KCYAKB];5A.;!=>8,UB&G+PM+2'J4(<'%)1*6:V:UX=MIV3< M^'\XT!PN[IY \Y=EK>V0C/OHZI!FI^FH1E>;PU(P8)PV&!V/F0WFKFTH&#=J M'PXD^XNW65>YYE'/>8/M<*6W]AS7AT= ]WQ@HVAH'[(;14:WMB*_ !=7P4:F M%%C+:BS,#2'"6RA<"%,[$Z34VCK?2U2[%U^W+G5:?&M1.Z^B DSUV:80'H(B MJYDU*ZDXYT+SV4:[TC:N5]P6-[<_ZFJHGP[.LENY^>W[!_J(TPX!8ZUO?#N] 5B^/O%KBX>;M7%/E](RWRM#9BY5D=,FA MOB]PEIP'D6MC#2F T9<4>'+DH74E\PYD=6K=#H7"KE [4"\=0.T5.2UG;Y?0 M)('*4!B*QM<7*Q)<5!("A1;29B:M;WW1>[EZI\ Y5+&+)E+N !^_G9#@IO./ M))3S+U]^_K) ^SV05.>X_'Y58.?CLR-+R0<-/&+=.WQ3S.!!D$'/P;)"<71C MF-U!SKAIIZ'!U4H/(S]O?H<[@BQP"8:$H;/(H.HK\!"- E.2 M$H''9*[W:MQ:-K+EH\=-,@T%B19R[,"R_ =^FJ897E"?I<%$)C%H)VM7I@"1 M. )4(FJ4BI,L&AN3'RD8MX!C:/MQA+1'-QFDAMEUFU=X--X)!L;4VA(O-406 MZIA89X,R)=ZX5;W%:&SY\''GS@UK-HZ590>&X\7)7XQ_5:_.H>U M%SJ'$C*=A+5OA/ 1G*PU;Z;HE$)&[V-C(W([->/.:QO:H#32PLC&Y>GB\Y<3 M^JAZE"[*^@\2[1D3C)QT3L80, 22C:7 T.M-X]2"C#N;8A$[&)A;%QAW9*J4C;5 A])2^<@CUZ3@.C<3+YV+#*)I,.RV]P;.AWH M(,VM3'/&'<7AZFF9["=UBG8(+T-C$)&3SPH(1U$VD"0>3""N6"T M?K!;Z=W+0AX^[WR@_G>%U_[*Z !:+Z;S^@1@V_#IWVK3$7R2TLGGDUE]BO3D M\V*YGO[WZ6B?)(,TQI)3J.I@:D&G05"Y$)\Z%I=5UJKUT\E#:>TT8=T&C@^B MP Z >GN118U<=I?!,R0.TO2B#^]5D1BE16*<@49.>S=[#BXAHPC(,D9'$C/- MNSL_ %N=IM0'ML8CP:*#Z;('BF1'84CGN9$&(3@L%/W)4)^#64@<@T8,)*@' M*Y%HP5"GMPNC[HX!H##^.*::U'@ :W'ZL]M#W0EC(CNG)'BN/2A?^QHD5A]N MEEQJ:X-XO=_$UG34R&QT>L=RW);I0*Y[P>,1'S2EIA5W,S%,%[0H.5B?ZM&+ M%GPQ F2,40BMK8FM^^\-SU6G-U/C'CD#@:+?=QF;_@XOZ:/F'Z<7H[ N1N%L MQJY=_]?#WVPIV]^$--57!VF>._CY[?OOX?\LED]G8;7:5)VC M%4J(X.EPJHTY8S'@>)%0D(L833)T>K5/0>Y*7B^O1-HBY&;V<1!U]8W$2\9> MA\_G-Z,QD,>$3(.37H,B/QY"8/7)5W'D3YF$N77IVYXDCHO(P:"R.R2/UEL' ML'QZLEHO/N/R'9Q:(-_C=!<82P-TEH$Q DER%(6$968 M6DP#%J3T6_+]$M6]>7I.9A5$I@&>[='4=@5E$C9W*=?AZIH#IG M9Y=^,SQ,LF8/ RF M=(KS(9F:)=K)/!A.M>-!:9MDNU(7HR56R-QGVD;P153,*2C!(>9=\ )V#FJ? M,=369-9I72*6 *Y^QM P75XHJ:C&$4[56N9]PP1DF7((2QNPXH)B4OJ0NE^B M9H^LS\"\8P%Y8?D!O]KY',;^'@NG CP9=\Q;__V3J'+![Y,+*D6"B+1PW# R M(&U(0(DPFP^AENK2[P!;O>#/K:BM"1Z9_.27)\^0PTXB82/57$K&BA?(_W-> M\!_#J3,N^(_!JVUW[^DUH#'..FQR36:-P(>ER :B$8E*)2$CX_$9@R@O]H+_ M*(:<<\%_!%QM,W%K!)01K_*+J=SF$Z]>]FD3)0K!PY_;P7?L%_#%7. MO. _!K?*A2S>!=#S)$WRLGUZIOKG]03$60?-/9'>!!,182IW)<8"F5Q<6,-Y MWPNJ G7V@"=XW!>;)=?YH'>C(]"VN;N/@=K@K->8H.1T )^%PYR(,TA2SX/6 MWM#->BE_75L\PU9[&D!-D^X?BYBNI^\G*5Y$3"G#N5N#] EQ%RPRAG(4%:$H1JYG?L?S]KJOKO9 $6,]XMG]I6=YP3-P MHG6B>Z!%03EX:HXRV)690SH8@R(3TE'CK0BB\+I_UNC>OIN8!X#\_.-;G"V MW-E#SADYX,\LO)W^9[1S\%PDX1)SI$G(5=VT0-IIA1RE7GD5 C&E;6,!L5]4 M// (%AYSUS8&P@WLY<=-^5T[DUSJYP]!<67257@7KP 34K#C$?1YNOV7"W *J\1 M\7!DB)BG5/S"\$11ZV9<-TW7HY%\D81]VUW/+U2R7.<7#2[E9:D#+$M%$A(Q M&2JTM]@]XZWB'DGKUMEIF:Y'X_@RV0I_]X(XHKAU"6&-?>XT)! X[10QDWB0 M221*GC&C>X^D=:O:-,W68W%\<6SMJ_?<316FB845%*E@<]"8<^2(@=4I@HY> M$.R?,VWCD+AU&SRTRMO3$6V;O#D_U!'J9$XXC3[?#1,#LW&<(!4M+%#. G_. MNB%#$W9'ZR+1! 6/Q:7=O-V?HEL62-/=.DRA2/YA$0N%Z?.'MG!(NVB49 D. MQC:7/K(*P4G9HF -U4)''F5IGV:[).<:FCSJN[Z4XWWK F*4L\D+9+%UP.+D MD%%*(L.3P$G[A%/IW6^+&'4#XP5PW[0=YZJZXK:TF"_[WB?==!+RRY2?9\O) MP3+R2%&/<_MCQ-3@^ING\"3FLFEY9 ] M0)43U%R[ZUF_N__'>G=_/_79@?(["E@&(;.#R_@4].EF^MGTPGRYO>SB9##.,8 MF Q'?<1#SB%(S""3*[3XR*DOWB+\J11U[\=+>2J%M-P<3];+QD@;G=4418<4M#K1X/\4M7CR:PM MI'6**A*U!+]#D%[VXLY3? I,_17\]S M?P!WV_A:$"^ MQ^4RIS^N-+.> P-OG.12K$;8G,H.[IRSAB-">4@F][TK'G;<)D?=I*GB7#E; MU2W0I9M=PFA7F?"YV7&_9Y/ .,?<(TF31AP'@JPWX,93+7WRG"I<.J]IFQQU MZ5+:[SU;TPVR9;V(8FZ#1AE#6BF*N(;=U(0H4=0:$Z&C<,5[B6^7I*[[,I C1<>QA.XT6#@7>@U(T5D@SAN&T0 5GI=W>IU*T1993 ML-VDRWF*;H J3[VOJ$%$BAW".M%#YQ2Y&FB9PU$-R/A"7)"[]UJT])W<,LW*NLBM'_#_9 MV>5J+S8I)"6O[,,6C)#!YGDNN"LN1H9HCH:EVQK$8_*!3R0'('WVT,NBG0-:5 MT%]MX.V/!X)+(QR6B2"M88/B@6-D+4N(Y:".,D2+6"*QZ-%'ZUWE%@'^9/TU MX S^9N=]T:I/=KFV>L*PD!\<" 5N"4^8(*=$0%)APJDFD:G2CN"F#'4?,)4. M79VEX<88LG:(5>!2X-QAG(%)XYA%I#DQR!O'*0X1BU2Z\M)3*>I&(,Y#=0]% M3E!Q R3)W<2R]+=Q?,,52XXB):V'+9!@9"2L%X6=\=(%(4CIS(_'$K1#CE/P M[(HIMW*NX3I6\N%[G,]RX_95)_?)[/+!=&32(0H/RX5PD:-L%#RE%)"Q4E!K M/'A*&]=K6[,,!WRJ;BBJ$"G&4&L#!F3OE#YW:7[WDW>S$']\_L-^>S#9%+TB M&'QL:Q),UF*=KYD]K(L@C;0J$.''"72>)G#=,%=A\_1\T#7 T\?>X6KG=X(9 M$!1)EHL=>C@\P!HSH, DC*8PMUCZ N^I%'6?49?VF<_45!A&%/!58@@ M/P$'1:,M*]Y/<)4M+CWB.QW@O94Y4> /$V9]U9[205OJ< M1448XHICI$4@*"F>2[ H2UGIC:[AE,X=0I@ M8V'?#A9AEBN1Y]QSYSQ&0F)"""6!;3Y#WLJ*'<.WE)16@ XEE%C[-6 O_ZO+ M>8Q9*>L)<"J=TQ&.C-Y&. Y84$V*%BF,/9;P/RT/%2+8.7A+][H%.'"^ AMP M.AYKY?U=%6\,D]#48,2=!*5('D$IVB'!@,E6":%]Z8*2.T2I6VYGW//-:?H^ MF39P&G==P9S6+^N,F0L*/P_,PU&>Y)KOR2AD@Q&P!E1T3@7L6.FH[\/OM^2+ MG@CIEA36D[3;@$E9)3XM;C.?/EPO%TL["^!7O[KJKF=+,)%@&SG8Q(AYKNK! M/,Q'$#"]3H#UC#'9<9Y5[):I)6^U$(-*HM "JQZLB/S[1:"&T*@(HHX96!4* M7*T(:C(A4L:=L%Z6?L6U*4-+3FUYNW.TEEM@R8-<[CO7?)6E\;J;S[L_\NG> M?H.?+&\NP'JR*+Q&NG_$9)E CFN-F,?>2\8C(:4++QTC7TON48501K5<^ MB&];%:^\!S@F=O8VVMPF)Q\KO16:(BL,*(G!255[0Y#!A&JMHX]Z(SEKZ[E\ MR+=:NE ZCR6C:+==MG2W\]EI4WDB(;&0D+0R=YAFL)LKJ1 &;X^ZR+ *X3P6 M'92AI>/\J.PJBT9S.]P;.Y_?W)\FA# D8H$13 M;CZ6IVZ!W/%WNC.TWQR37MO%9/$99+'AP^QAA@JY4+D"%A<1$:PTG#Z(0%I% MBJ@)*FD7F!>ESWA#91O$,/-R&58(E0;8MLU&O^FNKB;+WF>,\6.<^PS>9;RP ME!A-A4 V)))S^ TR0G&D, O*8AXL+MW4[@CQAL4Y\4LBW5C@5/;2-JQU]SW. M+*@L?H]SF,FGC-G:+;@@0GD=8LK-G_/U4W3(.LY0B)$DZUQ2?,AM_/ O#F/1 MBPB7CZCJI@CT=O(CAC=?[?PRY@G>3>Q"VZ@],QPQ["CB6$=D$V.(I:2#XS;( MS4*+ \BSZVO#B/,BHN0CJ;C=IL.?8#W,KN-M9_HNK?]%[MA@+R_G\3+7-'4W M;^"WRVY^0<[642!&H.X!]?*WIWRN];^F]_NSJ'MU2 MH83W'&DKLQ^)*=),>R2YBTH3G43Q(B7[Y*E[BSP&5YYX^*70J/QN^>.\"]=^ M^6'^._0!F0)*"9(X< [=,$-ZT=]X/GRMF]7SC\H MAFI74,5M4&3Q:A;6,[@KU.T,4PIKQ *1N6F00TXEBS2G20FI38HE^B+L%*!> MK8/S,7U*D#,5W$!X8#V1=?H>Q8[K!//W1I)\W\V0CCG $44B1)JDBW'8RRL)?07#LVX5XG'Y9?X_PNUU]Z. $JV%)S:7:J,3*9SLXRY7))L(!+ MNZW[Y*F3A#2ZQ3A?]PWP:(=K=A^[,-)PSV5$28(MY"Y?03N<4,($4X,#3AP7 MYM(AF2JG0I9V9D>!H@%J'3@O_OS#3Z_[;,_%(L+_AR_VQT6DBJE((U(^/V%C M2B)-0).P/T7EH]!Q6$NP9HZD2=/7QB."EIUGZF?WJO%@TL;YC1S M"0>D=E!$\*ALL#7Z0S_1DZ"8-U7D\*:'$YF/0!7K=[AJI; SY M63K>#HW[!1.XE=2B%+5%W.(&VX0'$P'++2)'B?ZF;MI_R9_ MZP>W=!47B2E"&!PCN:!@_*)%3B2.0J)2B0C.MK #7-*AWSNK6(/]\=GFDB2+ MC_8F?^=+]V5N_]Y-82TO[ES$"X8MU]&!5RA=SB36"NGH-8*SLJ<.62YHL@Y13U)DCL[Y&G)X2_5.; ],W&*J+D!1ZB/NMYG8EXP9CP+0:+$'8B? M0/Q\78,"UA@<1M"2*IVCLB%"G4#WZ/0IH?"J%2%V:^BI4X9!)4DR)$D,N;,U MR9U5!$K)!FN#T=@."08-^UJ=][//96Y*J[L!DS/\ 8*2@46LEL_2+/@LI_L3VV8S4*!"U>_SZ^9_7N>?IR6>MQ_]]H8/5'J$* MQ2177[@CC#*,1:D9"B(WME"Y$@VS&.F$K70Q.!Q+7U(^EN#L$M/7;C$)$SN_ M^3!?C?Q+7'[MPKO9][A8QOC93N.']'G9^=]?WSS]R[=_;74)&;'D5AF,@-BY M"#N< Q3 46CI6*:IJA+:Z.D_'6#1&O/^9FH7B_4L M5X5T?0R<@,,H H4MGUJ%+(53AL%4:>*(Q.X6I2YIV/)XB M8+7 NGOQ<\'H#^G+W,X6<'(!1&^K1TN#,>-O- M^RU[M7OW6KMMG14(89XE4%+.+34)3A9))H2CH%$&*X4:TJMAZ/\2ECI//B-RD:,>- :.8XE@C]P1G60P0VZO3WP MZ'7;M^L62:[N$Q6!I#*E/L5OUW/_U2[N[Y4VIW1[2(D@?C0)P:$"-*1B7B<: MIJ>M,Q0+$@(OP+/! M5[3GL^YMW8 -3>[?K[K77J+ Z"I&&;&J/AZW'@)% Z\IHL#;X_5$DK*Z]S (B+'DD2&!",T>(9,#WH3?31NM7YFW!K3@>A%?:L MEQ5(1ESF/%&9^+FKDW'>H, =9HY[:]V@9E=#^5/;-SD#N&WPGZ#%VKM/;_G@ MF/?-SB9Q<=N\+Y<7E9@@EBRL RTLTLXR1# L#\&YL)NU7_8X(!N#-P#V*3 ] M<3;.T5D3H+]__^:V)@D/6'GB>=CJ%GU,L#=SR=M(E<:8DY>.VPMX*KK9%TQ*M( M';6T=+^[@T+5O01&0LXG9?"YSFQ[JUKUJ8]CV2' &8%T9[35@4>XRRE86-[M&DG?*] +;R&. OP;BSM M-T"EI]?PTC GE)7@&L9LH&-"+F&")*9:F2 M&Z'P2E/)$.4I7]_-PN3[Y-P;:>]$5TF4#[L[GKZ#+^UR C_/N MPSXL@R(HMSY'1O.$K'(*C+'DH)C29_Z=TM3MK5I]ARL,5[/$ M6R]'JW$(1E(472X]:S%&!O. 6'2@+Q]U+!]NVB-/Y;-_(D$ "IO9]OG M<9M=Y!CS,6#D66Y@V(V@TA;LS+9W M0>_O^SA*FFO/,"0I!Q5Y&O.>CU%(*7#)=5";KL\X#_G>']4)8;06S^UL=.5@ M:X"$[R=7DV6\KTB[2FBY>?_^S8?Y^F1AZ\$/M?+>K!A9RJNW ?/S\%'G=3:Q\ _]"GBW6%Q'<'(>//*\8-8J M9D1$WG*:O9>$'(L>)4IIE-X%' ;E9Y_XQOZ0?*T\!2ANGD8#J2T"?IQ/?(2E MU,_MPLN$.54"!2LEG-02139%@K"BGBH;P_]IY!VXB5QXGZ-#.:\:"[#:+&=9C\>LPP*VDLDU M)MT*P]0 !S_:FYR-=%LM*IMF._/Q3;=8+BZ"$REDK0F%12Y^P9%342,K/8]6 MJ^!3*DRY??*TG&'%0&B 4*_"?UTO^AKTBR_=CH2BNUF"%_!HKM9'$Z4, MR'@28?' \463B)& 0S W3 H22[MJY\C;REU6<4(^&X@-$/;!/'ZZSI5_P)V8 M=&'EJOX:_^A_M+B03ED2\Y,"*Q/X%B;7&;9PGL:&.\8B)4F4WGX'2=9*G+G\ MOEL>F';I]IN=7L?[2>DDF?0?1MV7>"M1#>7: M3[+OPYKY0B5\S#VP)_ULD@?,8;!@:SF&<;L1B M#L6,MWUF&*]>TOU":=TV09-'I?HN(L4D@+E&-"H#/BH%;S7"H9VYY*(Q.F)[ MJ#O+CJ&'T>%EWB"I,;]?KF&D>HF7!,51:8!I=Q-Y,+DW=O'U(D@? ZP1 M.!DS,)I81&1T@!5#E!8N1$GMH$S_(]BU2Y9AC'J)MP-%M-\ B^Z#@G7>7B@.#G4RFMB DI[/-38PXE*[XHX!AH@VCUTN, M\X^!37N4"Z]FX5-<3N;;XG87EA,+QTN"!,Z9)CE29_MT=Q&5,(P0BDN7LSE& MOF'D>XDQ_=%0:I"!3R)X%W D23 EA0+'8,5SC07#G4%*8F>E(C*FXGT7#PDU MC&LO-G1?#(\&"/9E'NWB&C35-R-9U1D*K[['N;WL;[WN4E"$9)Y@SA )^:4& MA35C!7B:"B?AF56F?)63H;(-RX-]B;'[4=!I@'7;_85/,;\)@O5T[S@\J &] M=B%"PMH)8Q#M+V$]M\@9:A$72BMCD_*T>%^KDZ4=QLP7&9I_'@0;X.I/D\5R M/G'7&;5?;(A?NL=O'O(1_.'?6>1D@@L?G4L1M@%%@X0SN61(!\J19%RI)#7W MIO2M^DF"#F/H2PKR/Q]N+9-SRTN>U9N=[=.&([\1'MQB1PC+7HM#)J?)!VP8 MC0YK0TLGQ!42?1B!7]*U1$ULBU'Z__[[$SQ *[_W/^I_DO^K3S'][_S[/SZ] MNQO?]V66_XC3Z==HP[_Y[FKU@;=V,N\][%]ZEZB__EW\:N#R-Q>3JV_30;=>PPH[LDXI/]+'<95SE#,QI5$AR!0*K_Y]\IQK%._&OETH?5WV7N'A M0\YNOI[G4]MKNY@L_C'KW"+.O^?GP.]FWZZ7\.-NYN&_Z@%>/1/FRBI&P)WF M.)<,9P0TY0GM?_%1LEP];BS]%)I#W9>KQ=BW:2.K0MW _G\W_]\I_.[K6QME"0@!9(R*]%*F)R, 5R5(*,2+$1:.LATE("-T+4@ M0W:1L#A<+7&Q7[^+7F-L73.&)\:,H@Q9E6NJ2Q9@*CX@[YP37AE%4NFPTAYQ M&N%9>1+LHMN9B#1*+GI;<8]$(92UB*A<33T7*K>S!"M/14+<8SC:YRK'$F.M MA;6!Z=+/RG:(T@BIFG#D"H#5 .?ZM[_PY<6K6?@,^IIXT."'M&5VBR\PY&+[ MC];K6$N-$]48X$0=LTDG37 JOH>/,(^Z]:7: M<@!JTZ2EI?+ S<\5SI_,=_%XPHO'ZKDS&*OD*N)=Y%ISY'V,N6.90)IIT E- MWE"F(D[/$1\Z>R*-G.^K\7- U.EYR=+"BNGF<7(Y>P,3BC-_\Z:;]= LGG,7B^NI;O\J7W4\1!+L"W=\KINR%_QD2C)D:4$HQ MSY)$('(M;990(D!2CB4X2RR 0V^\2#GOF8?21_QG22( ?<=E/CSMMQ[P%W[M M9O-'QB3_]RN?,OJOL\D_K^-BY5U2&CG6.1M'YF,4!C/BC DH.4&"9";!]C26 MKD:83R/NS+FLW.F6U*9 ][) ZO4;XLY5- 'H;3'AL/9'Z60.WL2[&%;DAIY M*8/!S-&P68OB;"KODJ41&E9G2S<"=(U2$P,F8@UHDGD M%8Z-TJ4?0>V6IBX-RZ ]@$(GJ+Y!$GV:+'Y_.X_QME_!)[N\[9/F@HM21@?. MO2#Y CHADU-Y \96>4JM$6.3:K=T[9'L%#XD#9YP3/EOWB%Z8 M4&.KO4%#EIW?_+[JP1J11,(R( $9DPM(ZD16K5)0E 2N ?Z5S7/$,AF5%"*P5!$G$DYKG'@PNDPXA[%YD@_Z5[YR64*-FJ]\ M!+IMYBL+[UW$)N\-)M=[2@XYGPN61)(+E3B3V(91_1?-5SX&ZHO0&3 M.-*6\_XN"2IP+1G!# 7'">*.:V1(L,A%<%W UW'&%4\_&WE.=8-0[3H)+5&I M@:7U^GH!HB]R+6X'YB?/*J?QP50!Y4?=%!_8D,42@2_Y!1"#R>[ M;*$;[YF@_+H*O1TSEW?^E9TC8' M3O0YTC,Y,2YPHC.; N(*2^"U ')9;!GL#,[ZTN6I7U2-IT!5U$$3E%C L$,2 MCHRE >%$O! 12VQ&2\G\\]=X.H9]H]=X.@;J!ER-@65?HM28"*61%KGP-(.S MB84="PD"YQ_"\X&G=!>[?\D:3T>QY[0:3\= V1)!!Y7T\"(P0YE#BAB8G+4! M.7"X$+,.RQ -3^ZO&D]%&7)6C:=CX&J)BULJ"FD*0A-05?(^%Y-Q%!F:/ I, MB0#3HXP^1QF>%UCCZ2@2'%'CZ1A$6B#7CL"V"-%[)3$2+C<,E"2 8^,",C C MV!:89*&E*ZZ7\-"RP%Y; *P&.%BV>:W%>0B*:H4$9UGNO,\(G!"&LR-U A0I-G;H?\UK MK:.0/GRM=8S:&S")MV'6OB'.8M(CF!=0V3> 03W**H452 & M&U\Z_G)0J+HFKPCT ^AT.@Z5=\&WT_CC\S+&Z=H.&^DDG(%\#HN"8HQR, DF M$?7>8$H"E4$-V/XVAFV/!&< UI717@,6992J--$I1UVNETQA07%L"7*Y2%_$ MUE@K\@7F:"&.YRXF-WX21@O[9W6:_+F6RAL[]=?3_H^?NNGT;3?_P\[#A16. MLR@#G.$L*$1CBK3(Q9TLMMIGI;#1@M)C3:J1 &,UWHZWD J0J*555;3J7C1) M"4X34LEZ4 +LP@;.D,A$@ YSG80:K9?47R4:1R+KL]1K/(8Y)R^?;ZMFX$L[ M7U9=1#LT\3=PB-]WB\6[F9]>AQC>S7+(!O[:XD(J%XWE&DG,0#W!. 063R.F MI0PX2AOX: DJ8T_N3W-MT=!B&Y=A?]K]*^"DO!<.43!&B+OHD<%6(DRMT1*' MJ.AH*>W/OG^]A!!D0TNJ''/.W+]^GH4QLW<_Q\NLDD_Q6S?/V'+)0 M/NYQHA=*O-W\Z'W:([9.&V41,<;D4E4,V8@]DL+3Z!CFC)5.NMTER[G6]M?K M'&3[D%8#YQ6R_E)N<@PK,8J$O,CE46Q2R.HDD>&YC1+!@?G2)G.W-'7]]B), MV#17A53?[FN!3:VM\N-COS@2+;JG&F/;5EJ#!(TF"CTE(D%<>QZ"WD)A0$ M=I,R)VNY4Z\YHY1R/R2H.C:5A -@2#-.,B<>U4 M2/B TW7H&TWL7J? UHV@P\I<^/RMZZ;9>O9/I+MI=]D'<%:%32>AUWY_"=L;2!HB M-0J\N1@YRUH!ERY*"LS&'&;'O).#C@,':KMM_WIE>CR3"U)(^\WQYS;K2TM/ M7,"(<@*' DKS"S;%D3/86!,):&J07WLT@VIZ'Z4PW4N1$Q3<@'/ZX5M?&F-V M>>N(W6Z:@:H@6(3#8W;%C(!-DUB)A"(F&I>P(Z7;H^X0I27*G()Q5U[A#?#F M33<'\PO._*_=[+&[92VEGB>/+ NY6!<'HTM@^Y;$D>0!=1I+9Z+L%*9>7=)1 MN%-&Z0VP9\\6_OXNZ\P0AAG&+X<=Q9K;K719.Q;G&URU;WA M??9(3&FD&F#?NA7)6U#N;0_0? W]YGJQ[*[B_.><>O)MY MF%-.&;H05GLE$FA+YHK4X D@[45$5C#"M X$5#>6+W8O1A/1@?&X=:[B&^#. M;;^NU0QRXZ79(KL*W>W4?HW+"\6H)08K! K)_8S!]3 :ED<(QO$H1-"N]*XZ M1*[*N^K8["H.S[)>H[ONF\4U8.3B:H->]);[=\2>SZ_Q\_]NZG.?B=005QM7? M@\T^+G[^ 5X! #F9V?E-KU'0AU_="DQ[C:S6X07VS#(F/9(Z5X^@N01.+BGM M!.6^[!*FE6RJD6BP*YOJ+$P:(-=#^=?A="%=DB10%$/N^:6B M058FC+Q0QCO#%-:EXW)/I6@DI^H\>#?O&L[3=0MLN5]#KVYKE0ABC8D93*>JRY5Q&G*$(-,.[7N+P/?-R=/X3WEE%%D$A> MPR2(0V!L):(V&FQH(EB4MDU;!6GK>'8>UIL/_\Y6?&OLN;!:1^>=14)9,+8I MF$+6<(&2R-<'3*M0_%W4&>+6W0!'IMV( MR%5^!O%HFJN**3"3C_EV 9 [;MJY*P?FPB%'*4P[NQ4N6@4.AI7.22=\V$B9 MW_ILHJ!(=:^ZRY&R)E(-;+#_$2>77\'G>/4]SNUEO*T6T+LCBP_7R\72SK(R MUJ[)?7NN5?+YK>:5,L*Q0!"5&/:.F (<@S1'*5ACI8X6-I;"!K6,Y'5MZZ@. M8 5H6R?TN\7B&DYL=C'Q%U%82JS.S6A,;BA.-:Q1,!L1,RZMBIH7KW8[5+:Z M?F8-WAQ#W5-!;("L"D;9Z2IHL)K1XRVF_W01^FH+S)TU(.V9A:6,O30Q8R]*G^R-%K.OS-D#C,2%M(*2PZ8ZM M]ACII HT6D2L2X@[#T=.$@QB(7HJP =SO/3E[%9!ZN9]-L"^\^%IP 78X?)? M!)&BU6#9J0W@R1 KD'-P>,1<)4LT3B&6KI&U0Y2Z:9@-\NP4B&JW2$LI^ERY M\BZ9])-=QG^ :_&VFV^/7*S^YD5D-J=8YTS2E!NJ"##9TGN$J2 A$LNYW? O MMW=1.U6 NGOL* ?RYP.D?FIO/_8B^G^[[+[_>_1AG2\[GX/;^^U^L1Y.Z7UD MW1X.N#)L/MS;LZ>C'YGF>Y+09Z;WPF]?8SJXS7.F"5:,BQ^-PN]D-JJ;@QK*:TN$VT^PE^[]-(SV/8T_&J MX;57[]T@)52&YQWX-M\GX=I.ST9F8Z@J$9AC0-D^]5R#BI; M!ZRV8';HO!NF@,K8@-?T:^Q*@/)XI&IH[-5U=V#B#>TK$8:\FLQZG67[6FR# M>3)P-:-VJF.AJISLSD%KNRHJXW,KT,Q.;Q:3 MQ1PN]^.FB5F&,!WWNG>BJC]WGY^\>Y_S#_LIC_O%A.5N^+?XG+ MKUTH@^2@#U2)\)V#ZC%JJXSP@QAE05.Z>]0A6,J6L#RHH'8VP%^[Y7_&NYTZ M%EJB@SXP!%;5$JS'J*TRPF]AT&X6;V<*3O>O]NH\-W7'D$-0U"VAN%\U;>'V MTW7\TJWKPL \<[T.W[O6YQK;8[XS!&'3,,)#E-@@[+]-NE5;OP_I[]U5?--= MSY;SF_?VCS&PW_NQ0>$"W#H#ANBS01K C/]Y;:>3-/%KZ;_8'Z_C+*;)O;5$"S-C4SM8"O[OZEC,!8 *K/IME?+?3OCB(%$T%JL[2 M;#LGL)(NWIYA!^';5&CKL([: ['P.7ISV$$@-A7K.JRCAFX%NKB <^&G^,_K MR?S.KI0QRD=\9A#(386^CM=AJUE '[^/E0'T>.0BV3][A"V0^?/1WOR6D\SZ M$I,S'TLG_@P9_XQU#;XMUWJ3LK@+QOX'K95WNAZ([32V7H/L:N M $[WH]3,*3FLZV[/Q.LG^8!(OQ:!8W.L:MDCQX*R0PE_Y2H^YT[S5W[B7_F) MQV$3_NM+UY_'SUT>CT>JED:U;W5LG6QM *;3.['*+(W-X>IMZUO5W0V9>V50 M?HDV'[#.7A,/QZF6I+9O16R9:&VG=BUMF:#;T]'J;=OGG>-;N[]XTWV.T^B7 M,:PY=/;5Q?81ZVTDI^&U5R^USRD@2KASZC^D-/$P[MM9F;5V>/1Z)O T+ ?K MJ[;-C''^MWEW_:VO.E0.T7WC5LO./=6.'M91;8OZ-=?1"7>"ED)QW[C5\G)/ MM:Z'=51]+79?NE4%I;/O@3?'JI9N>_*:VZJ+^@B]\DLXB4]O/MI)* 34MB&K M)=:>CM<>S=0^*.>3(DB8I2IE&G>-62U?]D3@#NBFMMMY&QE^]?VRF&W<.6B] M5-=3OANDY=O60 MHFIG5OSS>K*\^JA./-U;?^N?8D@3 19EL*W2,_52_A]$2X3U-E[6/C MAIGY;=%O(GUEL*_=%+3\:5GJ)'G0 /C3T(R99"60.5U4"U^L?M M+W>#^#RM-6DK :R]ZJGN[6QXWNG2MZ.,0B/EF(P&Y-O(\W[ M;#B.S5>E+85)&DQ3[69_ \=E+=A/<>'GD_X:IE">ZN'A!X'84@!DN,JJ[TMA MDN6R4X[I]_O9E;I^/C3Z(&1;BH4,5EBK!35>_6'GXU?*%)@ M8X#P!0IMK+YRU7_B"1E.6PA;1SQGW:X'_&7V;9('+;1>=XY:[]':/BP>+]>8]1ZI'XU6D^6X;Z7[")]=SJ]FX>W47A9!ZO&(U1Y3'8W3 M5DTT@E)>\6]FBS O!]/&D-4>2IUD_9[JHA&@_M[]<2]?60NX8^AJKZ*.!FZ_ M;FH?S&_WU,E5WWLR1W!^L].SE]N^<:L]A1H,W0"MM+#P%F_ 38Y?NCMQR]UQ M#QF_VB.IXY;@,"TUB^=(,-9[,E4 O49 JUOR:+Q#V7Z=_U4$Z:\B2.N; M^[_ST=[TO4+R9.YG- L?IW:6KSU^ZJ[L9%88\U%$K+*\]Y.A>SYD&B#>SU?? MIMU-C)^7X*1]^+9J\'; E)_"GMW?J6(]G@7=[DA5-T"'7K97W^#S?M*KXM/D M\NMR\?G5I\^CT.+P]ZI$^&K08[#J:_M]VS;=$IT^]@Y<>HMKI[]"+^ M8Q;FTYO+S]%?SR?+23R[8=/N4>M5+C@.M7TJ:0&RGW_,_7Y?70":+6/6JR]P'$:[U5$9K,9O0-#UZL5,!BZ8SQ1) MR!DZC0)9.4\^]80=)\94=PY[SI.TN^%>YQYIY\?HMPY8,;QX"(M'C]#V**/V MT\$[TBDHCT<1U5'J++2D3GM\]< -8[0G3'U3(O_0%URC^ MX] U]-?5UE]76\=ETBSGTR]Q?K7XD+[, _"K3"+&GF&KK:'C?(3#BJGN*62I M2D0*'X]4+0?T6!]NR_1;@>3+9'FV>_UHJ&H)GR>"\D@!E5'Y=#V-!#M!LE<3 MNF_+>'Y>[JXQJ^5W'H?3 974?]\W!F9[AJV6VWD<;(<5TX0![.7*53'MLH01 M?#1S-4PSA-D4T9 R_S*]FR[*V\,&0U3(U3S>%3Q72EB4L!-CN4:M="Y]E M!YN#[?; ,+^:S&Q!2[@Y8KT+X5.LX0Y]-('53]?S7K "(-T-5>]&^!1T-C70 M!"P/4@@N+U]]MY/IV77T]HQ;[WKX%,#VZN9EW#)^[*83#Q/X.._\B+>,CSXS MPBWC[FD4OV5\^*DG'"EPW;A]_+-B\>OAP\.A2QWI#H_>R(WD7MP>!_ 'ZJOZ M'#-)CCC]I)>FL7N?3I0TL@B(HE:DK+C M^_4W,Y1?$CNMTWVI4UR!.I(X',YP'CXSI#1,7):>#Q.0T?E?AG^MU\4/.BPS MR)T(#4@'D2BMRB?BYPCLO:C7*ZD+7UV>G&[%YQ& MS3X#&[W=[A1O,5.22?JO9_-L!RYT/8YT[',Q@ M9W_I=6QHVLLA?UI"J'A?VM-AE]^9"H0#G1:37: MCRU>]UJ:"3KN=(&]4.V:[2'.-)BO9/S%Y>W=^&I\,;H;WUR+FROQX79\?3'^ M,/I17(VO1WB)5S=7*'%Y^ZQS^^+,AY]N/_XTNKX3=S?BX^4%N]1IMLFMN[]? MBH^CV^]'UY__'CY;S&ZN*.6=K.Y<]B^DE_CFABE,A?_ !6#J8D0C%/Q M7+A$NC>'O;/!RV"G\@BCU.^3<-8 M)'(*PL!4P0R9TR7*BE]+:1#-Z1R?%]HXH7-QI4TF6LWZOX2.Q84,76EK8IR' M#7'D$A!O#L_:[>; P$199V3N^$%K<(QQ>C=X<]@Z;;ZZ:+7W+EK?2XLQPFAD MY,">@!9D=.E!A#*3*\,TJF M(L9P"FV$SI#.G?9R&P(YA&"M-',2R>0]" K\4J?%9Q$:@T.FG&5Q#!((E<&L MBF(Y=D=+(C!BEJ@P$;:DGU7_&1BHE) #F;(IIE_*Y#/E$G30%A"R@:2W0--T MA&Y.L5LD@OGZ-+QBU'5>#^I Q"K'N!)$5G&L(>10')O-6KO*8V00Z13J47F8 MEA'J1*RL!:V&.%/$.@6&FE!*Z$W3%0PK!-@G0R/2(T6*:R11IBB V-,($![. MLCVAM(F(4SVS"V"NN$I(>NCM1BMK:_BR"V,VK'W%$.ON'<3N'L6#'X71(43XV(HCA$,$B"\?\\N',)'Y!,0(R>>V3%&BU9'U5N\( MO!6M7N3O_*VB2C#WN"3]@AAJ#:X>/F3+S@/%CP:*<2#R\RF(48*2.5=&+P3F MHZ"TSO8'JD?R>%^P>MIXUZ)YP%TE5OP8,LY?G\=3C5)K*$N[>Q?*<0&(Y4@^ M:^K2H +DI:FRS'8H!3GKH8IXQ9/K7&L@E0RV*FVN %.K>)@:%7(FVF)UJB+> M0=LRL"I2TBAR0/GDSNR?DZ;24L+EY6DY.S,W:@MH$.Z=N5.!1:0*RU02I:-; M;,0J<6,/7P:L5R]X%0 )(NMB?XB^A&7W%\S!'H&YT]T$\\[4M8'IW4EO9VCC MP[C 5($\ MSBC^!O ;[A%^/1G#5*8E,Q8%%^(8ZT,UQ;#8+77>LJ[8@8'][?;2C^&*'9$] MK2\P UVZYRW8)4?(I310]1Q_?H\C@D5=SBNPF@FTA]%& WP#B(OV"'$58_I@ M;H*"-MI5 <;B[.@%Z&NVI_X(X8ME"8C[&AAR6C/(K2J3+$+P@P+R)K/_!;3OBTS MA =.$CM399*MIV9?RG;[B[;]VPU1"H\-$D@-8P],>X@>/HRN8%;S&5#E4YU. M@=)@+B?5F;JIF!*R(M5SP-99HCTWRD<@1M#]+C5"8W^BJM8 D0BF MCO.=RL)"?W$Q0"(O4CGOJYQGC3L-*EV!=DYGI&XPI82 Q4/U!I11Y9M7[[8; M3?]^VQG\'RU&KIH;W'3BHLVV7J_Q]MWIL\W-1NO9MD^I[;;1H.Y.:D_89&\V MSHPM9/[^H'.PZ%#!I]\N'D3K\7MM0M33R?'S\N27@F._/BU@[&R;R:_X&01K["N'HX4[6#\F:U0F+A(%L;A:,NB-+V!? MH4=''_RA$CJQX<[QD^^&EH@_80K?XN?Z]TB%MOP2K>]/C*>P\872"ON< YJK M+C+ !5"ZS2Z?^:BI^O7?5YWP=UW_ U!+ 0(4 Q0 ( &M]HEA/1MF:JPP M .9- 8 " 0 !A,C R-# S,S$M97AH:6)I=#$P,2YH M=&U02P$"% ,4 " !K?:)8!;'-D4$L! A0#% M @ :WVB6+LRQ];G!P OB8 !@ ( !_@L! '=H9"TR,#(T M,#,S,3(T>&5X,S$Q+FAT;5!+ 0(4 Q0 ( &M]HE@ B5OEDP0 ,P1 8 M " 1L4 0!W:&0M,C R-# S,S$R-'AE>#,R,2YH=&U02P$" M% ,4 " !K?:)8XIP$+H$$ "C$0 & @ 'D& $ =VAD M+3(P,C0P,S,Q,C1X97@S,C(N:'1M4$L! A0#% @ :WVB6#I)]GMH'P M)3X! !0 ( !FQT! '=H9"TR,#(T,#,S,5]C86PN>&UL4$L! M A0#% @ :WVB6!#5LM G7 GO,# !0 ( !-3T! '=H M9"TR,#(T,#,S,5]D968N>&UL4$L! A0#% @ :WVB6$&K]M)FX0 ];(( M !0 ( !CID! '=H9"TR,#(T,#,S,5]L86(N>&UL4$L! A0# M% @ :WVB6.F$H_>ZA@ *S8& !0 ( !)GL" '=H9"TR M,#(T,#,S,5]P&UL4$L! A0#% @ :WVB6$AL3?C2!P WB4 !8 M ( !$@(# '=H9"TR,#(T,#,S,7AE>#,Q,BYH=&U02P4& / L "P#@ @ & H# end XML 78 whd-20240331_htm.xml IDEA: XBRL DOCUMENT 0001699136 2024-01-01 2024-03-31 0001699136 us-gaap:CommonClassAMember 2024-04-30 0001699136 us-gaap:CommonClassBMember 2024-04-30 0001699136 2024-03-31 0001699136 2023-12-31 0001699136 us-gaap:CommonClassAMember 2023-12-31 0001699136 us-gaap:CommonClassAMember 2024-03-31 0001699136 us-gaap:CommonClassBMember 2024-03-31 0001699136 us-gaap:CommonClassBMember 2023-12-31 0001699136 us-gaap:ProductMember 2024-01-01 2024-03-31 0001699136 us-gaap:ProductMember 2023-01-01 2023-03-31 0001699136 whd:RentalRevenueMember 2024-01-01 2024-03-31 0001699136 whd:RentalRevenueMember 2023-01-01 2023-03-31 0001699136 us-gaap:ProductAndServiceOtherMember 2024-01-01 2024-03-31 0001699136 us-gaap:ProductAndServiceOtherMember 2023-01-01 2023-03-31 0001699136 2023-01-01 2023-03-31 0001699136 us-gaap:CommonClassAMember 2024-01-01 2024-03-31 0001699136 us-gaap:CommonClassAMember 2023-01-01 2023-03-31 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-12-31 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-12-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001699136 us-gaap:RetainedEarningsMember 2023-12-31 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001699136 us-gaap:NoncontrollingInterestMember 2023-12-31 0001699136 us-gaap:NoncontrollingInterestMember 2024-01-01 2024-03-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001699136 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2024-03-31 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2024-03-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001699136 us-gaap:RetainedEarningsMember 2024-03-31 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001699136 us-gaap:NoncontrollingInterestMember 2024-03-31 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-12-31 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-12-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001699136 us-gaap:RetainedEarningsMember 2022-12-31 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001699136 us-gaap:NoncontrollingInterestMember 2022-12-31 0001699136 2022-12-31 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001699136 us-gaap:NoncontrollingInterestMember 2023-01-01 2023-03-31 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001699136 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-03-31 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-03-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001699136 us-gaap:RetainedEarningsMember 2023-03-31 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001699136 us-gaap:NoncontrollingInterestMember 2023-03-31 0001699136 2023-03-31 0001699136 whd:FlexSteelMember 2023-02-28 2023-02-28 0001699136 whd:FlexSteelMember 2023-02-28 0001699136 whd:FlexSteelMember 2024-01-01 2024-03-31 0001699136 us-gaap:LandMember 2024-03-31 0001699136 us-gaap:LandMember 2023-12-31 0001699136 us-gaap:BuildingAndBuildingImprovementsMember 2024-03-31 0001699136 us-gaap:BuildingAndBuildingImprovementsMember 2023-12-31 0001699136 us-gaap:MachineryAndEquipmentMember 2024-03-31 0001699136 us-gaap:MachineryAndEquipmentMember 2023-12-31 0001699136 whd:ReelsAndSkidsMember 2024-03-31 0001699136 whd:ReelsAndSkidsMember 2023-12-31 0001699136 us-gaap:VehiclesMember 2024-03-31 0001699136 us-gaap:VehiclesMember 2023-12-31 0001699136 whd:RentalEquipmentMember 2024-03-31 0001699136 whd:RentalEquipmentMember 2023-12-31 0001699136 us-gaap:FurnitureAndFixturesMember 2024-03-31 0001699136 us-gaap:FurnitureAndFixturesMember 2023-12-31 0001699136 whd:ComputerAndSoftwareMember 2024-03-31 0001699136 whd:ComputerAndSoftwareMember 2023-12-31 0001699136 us-gaap:ConstructionInProgressMember 2024-03-31 0001699136 us-gaap:ConstructionInProgressMember 2023-12-31 0001699136 us-gaap:CustomerRelationshipsMember 2024-03-31 0001699136 us-gaap:CustomerRelationshipsMember 2023-12-31 0001699136 us-gaap:TechnologyBasedIntangibleAssetsMember 2024-03-31 0001699136 us-gaap:TechnologyBasedIntangibleAssetsMember 2023-12-31 0001699136 us-gaap:TradeNamesMember 2024-03-31 0001699136 us-gaap:TradeNamesMember 2023-12-31 0001699136 us-gaap:OrderOrProductionBacklogMember 2024-03-31 0001699136 us-gaap:OrderOrProductionBacklogMember 2023-12-31 0001699136 whd:IdentifiableIntangibleAssetsAcquiredMember 2024-03-31 0001699136 whd:IdentifiableIntangibleAssetsAcquiredMember 2024-01-01 2024-03-31 0001699136 whd:CactusWellheadLlcAndItsSubsidiariesMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2018-08-21 0001699136 whd:CactusWellheadLlcAndItsSubsidiariesMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2022-07-25 0001699136 whd:CactusWellheadLlcAndItsSubsidiariesMember us-gaap:LineOfCreditMember 2022-07-25 0001699136 whd:AmendedABLCreditFacilityMember us-gaap:SecuredDebtMember 2023-02-28 0001699136 us-gaap:RevolvingCreditFacilityMember whd:AmendedABLCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 us-gaap:LetterOfCreditMember whd:AmendedABLCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 whd:CactusWellheadLlcAndItsSubsidiariesMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 us-gaap:SecuredDebtMember whd:TheCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 us-gaap:RevolvingCreditFacilityMember whd:TheCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 srt:SubsidiariesMember us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember 2024-01-01 2024-03-31 0001699136 srt:SubsidiariesMember us-gaap:RevolvingCreditFacilityMember whd:SecuredOvernightFinancingRateMember 2024-01-01 2024-03-31 0001699136 srt:SubsidiariesMember srt:MinimumMember us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember 2024-01-01 2024-03-31 0001699136 srt:SubsidiariesMember srt:MaximumMember us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember 2024-01-01 2024-03-31 0001699136 srt:SubsidiariesMember srt:MinimumMember us-gaap:RevolvingCreditFacilityMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2024-01-01 2024-03-31 0001699136 srt:SubsidiariesMember srt:MaximumMember us-gaap:RevolvingCreditFacilityMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2024-01-01 2024-03-31 0001699136 srt:SubsidiariesMember srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2024-01-01 2024-03-31 0001699136 srt:SubsidiariesMember us-gaap:RevolvingCreditFacilityMember whd:CreditAgreementMember us-gaap:LineOfCreditMember 2024-03-31 0001699136 srt:SubsidiariesMember us-gaap:RevolvingCreditFacilityMember 2024-01-01 2024-03-31 0001699136 2018-02-01 2018-02-28 0001699136 2024-03-01 2024-03-31 0001699136 whd:CactusCompaniesMember 2024-01-01 2024-03-31 0001699136 whd:CactusLLCMember 2023-01-01 2023-12-31 0001699136 us-gaap:CommonClassAMember whd:AdditionalOfferingMember 2023-01-01 2023-01-31 0001699136 us-gaap:CommonClassAMember whd:AdditionalOfferingMember 2023-01-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-01-31 0001699136 whd:KeyEmployeeMember whd:FlexSteelMember 2023-01-01 2023-03-31 0001699136 whd:CactusCompaniesMember us-gaap:CommonClassBMember 2024-03-31 0001699136 us-gaap:CommonClassAMember whd:CCUnitsRedeemedForClassCommonStockMember 2018-02-01 2024-03-31 0001699136 whd:ShareRepurchaseProgramMember 2023-06-06 0001699136 whd:ShareRepurchaseProgramMember us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001699136 whd:ShareRepurchaseProgramMember us-gaap:CommonStockMember 2024-03-31 0001699136 whd:CactusIncMember 2024-01-01 2024-03-31 0001699136 whd:CCUnitHoldersOtherThanCactusIncMember 2024-01-01 2024-03-31 0001699136 whd:CactusIncMember 2023-01-01 2023-03-31 0001699136 whd:CCUnitHoldersOtherThanCactusIncMember 2023-01-01 2023-03-31 0001699136 us-gaap:FairValueInputsLevel3Member whd:EarnOutLiabilityMember 2024-03-31 0001699136 srt:MinimumMember whd:EarnOutLiabilityMember us-gaap:MeasurementInputRiskFreeInterestRateMember 2023-12-31 0001699136 srt:MaximumMember whd:EarnOutLiabilityMember us-gaap:MeasurementInputRiskFreeInterestRateMember 2023-12-31 0001699136 whd:EarnOutLiabilityMember whd:MeasurementInputExpectedRevenueVolatilityMember 2023-12-31 0001699136 srt:MinimumMember whd:EarnOutLiabilityMember us-gaap:MeasurementInputDiscountRateMember 2023-12-31 0001699136 srt:MaximumMember whd:EarnOutLiabilityMember us-gaap:MeasurementInputDiscountRateMember 2023-12-31 0001699136 srt:MinimumMember whd:EarnOutLiabilityMember whd:CreditDiscountRateMember 2023-12-31 0001699136 us-gaap:FairValueInputsLevel3Member whd:EarnOutLiabilityMember 2023-02-28 0001699136 us-gaap:FairValueInputsLevel3Member whd:EarnOutLiabilityMember 2023-02-28 2023-12-31 0001699136 us-gaap:FairValueInputsLevel3Member whd:EarnOutLiabilityMember 2023-12-31 0001699136 us-gaap:FairValueInputsLevel2Member 2024-03-31 0001699136 whd:PressureControlSegmentMember 2024-01-01 2024-03-31 0001699136 whd:PressureControlSegmentMember 2023-01-01 2023-03-31 0001699136 whd:SpoolableTechnologiesMember 2024-01-01 2024-03-31 0001699136 whd:SpoolableTechnologiesMember 2023-01-01 2023-03-31 0001699136 us-gaap:OperatingSegmentsMember whd:PressureControlSegmentMember 2024-01-01 2024-03-31 0001699136 us-gaap:OperatingSegmentsMember whd:PressureControlSegmentMember 2023-01-01 2023-03-31 0001699136 us-gaap:OperatingSegmentsMember whd:SpoolableTechnologiesMember 2024-01-01 2024-03-31 0001699136 us-gaap:OperatingSegmentsMember whd:SpoolableTechnologiesMember 2023-01-01 2023-03-31 0001699136 us-gaap:OperatingSegmentsMember 2024-01-01 2024-03-31 0001699136 us-gaap:OperatingSegmentsMember 2023-01-01 2023-03-31 0001699136 us-gaap:CorporateNonSegmentMember 2024-01-01 2024-03-31 0001699136 us-gaap:CorporateNonSegmentMember 2023-01-01 2023-03-31 shares iso4217:USD iso4217:USD shares whd:segment pure 0001699136 --12-31 2024 Q1 false 10-Q true 2024-03-31 false 001-38390 Cactus, Inc. DE 35-2586106 920 Memorial City Way, Suite 300 77024 Houston, TX 713 626-8800 Class A Common Stock, par value $0.01 WHD NYSE Yes Yes Large Accelerated Filer false false false 65706197 13848630 194257000 133792000 3803000 3642000 207624000 205381000 204049000 205625000 11027000 11380000 616957000 556178000 344973000 345502000 24429000 23496000 175981000 179978000 203028000 203028000 201037000 204852000 9482000 9527000 1575887000 1522561000 66142000 71841000 58284000 50654000 34114000 20810000 20855000 20855000 7181000 7280000 4094000 4220000 190670000 175660000 3743000 3589000 250069000 250069000 9529000 9352000 20283000 19121000 1004000 0 475298000 457791000 0.01 0.01 10000000 10000000 0 0 0 0 0 0 0.01 0.01 300000000 300000000 65518000 65518000 65409000 65409000 655000 654000 0.01 0.01 215000000 215000000 14034000 14034000 14034000 14034000 0 0 462464000 465012000 431703000 400682000 -1456000 -826000 893366000 865522000 207223000 199248000 1100589000 1064770000 1575887000 1522561000 207511000 159510000 23943000 27817000 42669000 41078000 274123000 228405000 120666000 100815000 12946000 16084000 35235000 31917000 29422000 29901000 -13304000 0 211573000 178717000 62550000 49688000 689000 1002000 0 3538000 63239000 54228000 13424000 1940000 49815000 52288000 10850000 9394000 38965000 42894000 0.60 0.67 0.59 0.63 65378000 63740000 79556000 79155000 49815000 52288000 -803000 303000 49012000 52591000 10677000 9477000 38335000 43114000 65409000 654000 14034000 0 465012000 400682000 -826000 199248000 1064770000 1684000 1684000 234000 0 234000 196000 2000 -3466000 -1432000 -4896000 -630000 -173000 -803000 87000 1000 2996000 375000 3372000 3680000 789000 4469000 0.12 7944000 7944000 38965000 10850000 49815000 65518000 655000 14034000 0 462464000 431703000 -1456000 207223000 1100589000 60903000 609000 14978000 0 310528000 261764000 -984000 138528000 710445000 3352000 34000 143302000 26033000 169369000 1644000 1644000 -13981000 16826000 2845000 193000 2000 -3009000 -1336000 -4343000 220000 83000 303000 3004000 699000 3703000 0.11 7130000 7130000 42894000 9394000 52288000 64448000 645000 14978000 0 439844000 297528000 -764000 188583000 925836000 49815000 52288000 15046000 13110000 280000 291000 4432000 3841000 162000 -376000 1062000 576000 208000 1033000 -4403000 1406000 13304000 -121000 0 3417000 3011000 12883000 -234000 -20565000 -128000 -2151000 -8132000 -6282000 8748000 -6842000 86263000 60462000 0 618857000 7902000 15928000 1094000 1633000 -6808000 -633152000 0 155000000 0 169878000 0 6665000 2031000 1709000 8144000 7353000 1684000 1645000 8268000 4343000 -20127000 303163000 1137000 422000 60465000 -269105000 133792000 344527000 194257000 75422000 1611000 556000 535000 327000 4515000 4874000 2637000 1249000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Preparation of Interim Financial Statements and Other Items</span><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the acquisition of the FlexSteel business through a merger (the “Merger”) with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition. See Note 2 for additional information related to the acquisition.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2023.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Standards Not Yet Adopted</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740).” The amendments in this ASU require entities to disclose on an annual basis specific categories in the income tax rate reconciliation and provide additional disclosures for reconciling items that meet a specified </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">quantitative threshold. Entities will also be required to disclose annually income taxes paid disaggregated by federal, state and foreign taxes and the amount of income taxes paid by individual jurisdictions that meet a five percent or greater threshold of total income taxes paid net of refunds received. The ASU also adds certain disclosures in order to be consistent with U.S. Securities and Exchange Commission rules and removes certain disclosures that no longer are considered cost beneficial or relevant. The amendments in this ASU are to be applied on a prospective basis and will be effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our disclosures.</span></div><div><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the FASB issued ASU No. 2023-07, “Improvements to Reportable Segment Disclosures (Topic 280)” in order to require disclosure of incremental segment information on an annual and interim basis for all public entities. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly provided to the chief operating decision maker and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items and interim disclosures of a reportable segment’s profit or loss and assets. The ASU is to be applied retrospectively to all prior periods presented in the financial statements and is effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our segment disclosures.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the acquisition of the FlexSteel business through a merger (the “Merger”) with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition. See Note 2 for additional information related to the acquisition.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2023.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.</span></div> 0.01 2 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Standards Not Yet Adopted</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) No. 2023-09, “Income Taxes (Topic 740).” The amendments in this ASU require entities to disclose on an annual basis specific categories in the income tax rate reconciliation and provide additional disclosures for reconciling items that meet a specified </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">quantitative threshold. Entities will also be required to disclose annually income taxes paid disaggregated by federal, state and foreign taxes and the amount of income taxes paid by individual jurisdictions that meet a five percent or greater threshold of total income taxes paid net of refunds received. The ASU also adds certain disclosures in order to be consistent with U.S. Securities and Exchange Commission rules and removes certain disclosures that no longer are considered cost beneficial or relevant. The amendments in this ASU are to be applied on a prospective basis and will be effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our disclosures.</span></div><div><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the FASB issued ASU No. 2023-07, “Improvements to Reportable Segment Disclosures (Topic 280)” in order to require disclosure of incremental segment information on an annual and interim basis for all public entities. The ASU expands public entities’ segment disclosures by requiring disclosure of significant segment expenses that are regularly provided to the chief operating decision maker and included within each reported measure of segment profit or loss, an amount and description of its composition for other segment items and interim disclosures of a reportable segment’s profit or loss and assets. The ASU is to be applied retrospectively to all prior periods presented in the financial statements and is effective for our Annual Report on Form 10-K for the fiscal year ended December 31, 2024, with early adoption permitted. We are currently evaluating the impact the adoption of this new standard will have on our segment disclosures.</span></div> <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">FlexSteel Acquisition</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 28, 2023 we completed the acquisition of FlexSteel. Including final adjustments for closing working capital, cash on hand and indebtedness adjustments as set forth in the merger agreement, we paid total cash consideration of $621.5 million. There is also a future earn-out payment of up to $75.0 million to be paid no later than the third quarter of 2024, if certain revenue targets are met by FlexSteel. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Purchase Price Consideration</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The final purchase price consideration for the acquisition was $627.5 million and is summarized as follows:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:82.808%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.274%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Purchase Price Consideration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash consideration</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">621,505 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Add: Contingent consideration </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of consideration transferred</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">627,465 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5.25pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75.0 million of additional cash consideration if certain revenue targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the fair value of the earn-out liability subsequent to the acquisition date are recognized in the consolidated statements of income. As of March 31, 2024, the estimated earn-out payment is $34.1 million. The increase is based on the improvements in FlexSteel's expected revenues for the period January 1, 2023 through June 30, 2024, compared to projections made at the time of the acquisition. See further discussion of the calculation of fair value of the earn-out liability in Note 12.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Purchase Price Allocation</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the final allocation of the purchase price as of the acquisition date:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:82.808%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.274%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,316 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Receivables</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,002 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,746 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,283 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,928 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,021 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Identifiable intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets acquired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">570,262 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,975)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses and other current liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease obligations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(974)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(906)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(94,319)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities assumed</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(138,001)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,204 </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The acquisition was accounted for using the acquisition method of accounting, with Cactus being treated as the accounting acquirer. Under the acquisition method of accounting, the assets and liabilities were recorded at their respective fair values as of the acquisition date. Fair values were determined by management, based in part on independent valuations performed by third-party valuation specialists. The valuation methods used to determine the fair value of intangible assets included the excess earnings approach for customer relationships and backlog using customer inputs and contributory charges and the relief from royalty method for tradename and developed technology. </span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The fair values determined for accounts receivable, accounts payable and most other current assets and liabilities, other than inventory, were equivalent to the carrying value due to their short-term nature. Acquired inventories were comprised of raw materials, work-in-progress and finished goods. The fair value of finished goods was calculated as the estimated selling price, less costs of the selling effort and a reasonable profit allowance relating to the selling effort. The fair value of identifiable fixed assets was calculated using a combination of valuation approaches, but primarily consisted of the cost approach which adjusts estimates of replacement cost for the age, condition and utility of the associated assets. </span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Goodwill is calculated as the excess of the purchase price over the estimated fair value of net assets acquired. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Pro forma financial information </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The pro forma financial information below represents the combined results of operations as if the acquisition had occurred as of January 1, 2022. The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.</span></div><div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:86.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281,784 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net Income attributable to Cactus, Inc.</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,803 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 621500000 75000000 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The final purchase price consideration for the acquisition was $627.5 million and is summarized as follows:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:82.808%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.274%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Purchase Price Consideration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash consideration</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">621,505 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Add: Contingent consideration </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of consideration transferred</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">627,465 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5.25pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75.0 million of additional cash consideration if certain revenue targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.</span></div> 627500000 621505000 5960000 627465000 75000000 34100000 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the final allocation of the purchase price as of the acquisition date:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:82.808%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.274%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,316 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Receivables</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,002 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,746 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,283 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,928 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,021 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Identifiable intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets acquired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">570,262 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,975)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses and other current liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease obligations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(974)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(906)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(94,319)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities assumed</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(138,001)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195,204 </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5316000 58002000 91746000 1283000 206928000 1021000 200300000 5666000 570262000 14975000 26827000 974000 906000 94319000 138001000 432261000 195204000 The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.<div style="margin-bottom:6pt;margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:86.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281,784 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net Income attributable to Cactus, Inc.</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,803 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 281784000 40803000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Accounts Receivable and Allowance for Credit Losses</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We extend credit to customers in the normal course of business. Our customers are predominantly oil and gas exploration and production companies located in the U.S. Our receivables are short-term in nature and typically due in 30 to 60 days. We do not accrue interest on delinquent receivables. Accounts receivable includes amounts billed and currently due from customers and unbilled amounts for products delivered and services performed for which billings have not yet been submitted to the customers. Total unbilled revenue included in accounts receivable as of March 31, 2024 and December 31, 2023 was $31.7 million and $26.8 million, respectively.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We maintain an allowance for credit losses to provide for the amount of billed receivables we believe to be at risk of loss. In our determination of the allowance for credit losses, we pool receivables with similar risk characteristics based on customer size, credit ratings, payment history, bankruptcy status and other factors known to us and apply an expected credit loss percentage. The expected credit loss percentage is determined using historical loss data adjusted for current conditions and forecasts of future economic conditions. Accounts deemed uncollectible are applied against the allowance for credit losses. The following is a rollforward of our allowance for credit losses.</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.583%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.393%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at <br/>Beginning of<br/>Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Expense<br/>(Recovery)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Write off</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Translation Adjustments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at <br/>End of<br/>Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2024</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,642 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">162 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,803 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,060 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(376)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 31700000 26800000 The following is a rollforward of our allowance for credit losses.<div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.583%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.393%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at <br/>Beginning of<br/>Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Expense<br/>(Recovery)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Write off</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Translation Adjustments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at <br/>End of<br/>Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2024</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,642 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">162 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,803 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Three Months Ended March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,060 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(376)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3642000 162000 1000 0 3803000 1060000 -376000 19000 2000 667000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Inventories</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of cost or net realizable value. Cost is determined using standard cost (which approximates average cost). Costs include an application of related material, direct labor, duties, tariffs, freight and overhead costs. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal and transportation. Reserves are made for excess and obsolete items based on a range of factors, including age, usage and technological or market changes that may impact demand for those products. Inventories consist of the following:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,941 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,373 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,330 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171,778 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171,781 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,049 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,625 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> Inventories consist of the following:<div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,941 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,373 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,330 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171,778 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171,781 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,049 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,625 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 18941000 22373000 13330000 11471000 171778000 171781000 204049000 205625000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Property and Equipment, net</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost. We manufacture or construct most of our Pressure Control rental equipment assets. During the manufacture of these assets, they are reflected as construction in progress until complete. Property and equipment consists of the following:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Land</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,442 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,442 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Buildings and improvements</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132,091 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,974 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,082 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,962 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reels and skids</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,181 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vehicles</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,657 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,552 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">219,692 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">218,340 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and fixtures</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,908 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,913 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computers and software</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,951 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross property and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">558,108 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">554,315 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(239,984)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(231,594)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net property and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">318,124 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">322,721 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Construction in progress</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,849 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,781 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total property and equipment, net</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">344,973 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">345,502 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> Property and equipment consists of the following:<div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Land</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,442 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,442 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Buildings and improvements</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132,091 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,974 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,082 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,962 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reels and skids</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,181 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vehicles</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,657 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36,552 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">219,692 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">218,340 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and fixtures</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,908 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,913 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computers and software</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,951 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross property and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">558,108 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">554,315 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(239,984)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(231,594)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net property and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">318,124 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">322,721 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Construction in progress</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,849 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,781 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total property and equipment, net</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">344,973 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">345,502 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 16442000 16442000 132091000 131974000 130082000 128962000 16124000 16181000 37657000 36552000 219692000 218340000 1908000 1913000 4112000 3951000 558108000 554315000 239984000 231594000 318124000 322721000 26849000 22781000 344973000 345502000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Other Intangible Assets</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the detail of acquired intangible assets:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.701%"><tr><td style="width:1.0%"></td><td style="width:18.164%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.697%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net Cost</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net Cost</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,300 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,244)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93,056 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,300 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,572)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,728 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,342)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,658 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,417)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,583 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tradename</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,733)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,267 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,333)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,667 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(24,319)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,981 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,322)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,978 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All intangible assets are amortized over their estimated useful lives. The weighted average amortization period for identifiable intangible assets acquired as of March 31, 2024 is 12 years. Amortization expense recognized during the three months ended March 31, 2024 was $4.0 million and was recorded in selling, general and administrative expenses in the consolidated statements of income. Estimated future amortization expense is as follows:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:85.209%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,990 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2029</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,981 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the detail of acquired intangible assets:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.701%"><tr><td style="width:1.0%"></td><td style="width:18.164%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.388%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.697%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net Cost</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net Cost</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,300 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,244)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93,056 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,300 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,572)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,728 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,342)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,658 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,417)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,583 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tradename</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,733)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,267 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,333)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,667 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(24,319)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,981 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,322)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,978 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 100300000 7244000 93056000 100300000 5572000 94728000 77000000 8342000 68658000 77000000 6417000 70583000 16000000 1733000 14267000 16000000 1333000 14667000 7000000 7000000 0 7000000 7000000 0 200300000 24319000 175981000 200300000 20322000 179978000 P12Y 4000000 Estimated future amortization expense is as follows:<div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:85.209%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,990 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2029</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,981 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 11990000 15987000 15987000 15987000 15987000 15987000 84056000 175981000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Debt</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We had no debt outstanding as of March 31, 2024 and December 31, 2023. We had $1.1 million in letters of credit outstanding and were in compliance with all covenants under the Amended ABL Credit Facility (as defined below) as of March 31, 2024. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2018, Cactus LLC entered into a five-year senior secured asset-based revolving credit facility with a syndicate of lenders and JPMorgan Chase Bank, N.A., as administrative agent for such lenders and as an issuing bank and swingline lender (the “ABL Credit Facility”). The ABL Credit Facility was first amended in September 2020 and provided for up to $75.0 million in revolving commitments. On July 25, 2022, the ABL Credit Facility was amended again for up to $80.0 million in revolving commitments, up to $15.0 million of which was available for the issuance of letters of credit.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 28, 2023, in connection with the Merger, Cactus Companies assumed the rights and obligations of Cactus LLC as Borrower under the ABL Credit Facility, and the ABL Credit Facility was amended and restated in its entirety (the “Amended ABL Credit Facility”). The Amended ABL Credit Facility provides for a term loan of $125.0 million and up to $225.0 million in revolving commitments, of which $20.0 million is available for the issuance of letters of credit. Subject to certain terms and conditions set forth in the Amended ABL Credit Facility, Cactus Companies may request additional revolving commitments in an amount not to exceed $50.0 million, for a total of up to $275.0 million in revolving commitments. The term loan under the Amended ABL Credit Facility was set to mature on February 27, 2026 and any revolving loans under the Amended ABL Credit Facility mature on July 26, 2027. The maximum amount that Cactus Companies may borrow under the Amended ABL Credit Facility is subject to a borrowing base, which is based on a percentage of eligible accounts receivable and eligible inventory, subject to reserves and other adjustments.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We borrowed the full $125.0 million term loan amount and $30.0 million as a revolving loan at closing of the Amended ABL Credit Facility to fund a portion of the Merger. The term loan was required to be repaid in regular set amounts starting July 1, 2023 as set forth in the amortization schedule in the Amended ABL Credit Facility and could be prepaid without the payment of any prepayment premium (other than customary breakage costs for Term Benchmark (as defined below) borrowings). The term loan and revolving loan were repaid in full in July 2023.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Amended ABL Credit Facility bear interest at Cactus Companies’ option at either (i) the Alternate Base Rate (as defined therein) (“ABR”), or (ii) the Adjusted Term SOFR Rate (as defined therein) (“Term Benchmark”), plus, in each case, an applicable margin. Letters of credit issued under the Amended ABL Credit Facility accrue fees at a rate equal to the applicable margin for Term Benchmark borrowings. The applicable margin is 2.50% per annum for term loan ABR borrowings and 3.50% per annum for term loan Term Benchmark borrowings. The applicable margin for revolving loan borrowings ranges from 0.0% to 0.5% per annum for revolving loan ABR borrowings and 1.25% to 1.75% per annum for revolving loan Term Benchmark borrowings and, in each case, is based on the average quarterly availability of the revolving loan commitment under the Amended ABL Credit Facility for the immediately preceding fiscal quarter. The unused portion of revolving commitment under the Amended ABL Credit Facility is subject to a commitment fee of 0.25% per annum. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Amended ABL Credit Facility contains various covenants and restrictive provisions that limit Cactus Companies’ and each of its subsidiaries’ ability to, among other things, incur additional indebtedness and create liens, make investments or loans, merge or consolidate with other companies, sell assets, make certain restricted payments and distributions, and engage in transactions with affiliates. The obligations under the Amended ABL Credit Facility are guaranteed by certain subsidiaries of Cactus Companies and secured by a security interest in accounts receivable, inventory, equipment and certain other real and personal property assets of Cactus Companies and the guarantors. Until the term loan was paid in full, the Amended ABL Credit Facility required Cactus Companies to maintain a leverage ratio no greater than 2.50 to 1.00 based on the ratio of Total Indebtedness (as defined therein) to EBITDA (as defined therein). The Amended ABL Credit Facility requires Cactus Companies to maintain a minimum fixed charge coverage ratio of 1.00 to 1.00 based on the ratio of EBITDA (as defined therein) minus Unfinanced Capital Expenditures (as defined therein) to Fixed Charges (as defined therein) during certain periods, including when availability under the Amended ABL Credit Facility is under certain levels. If Cactus Companies fails to perform its obligations under the Amended ABL Credit Facility, (i) the revolving commitments under the Amended ABL Credit Facility could be terminated, (ii) any outstanding borrowings under the Amended ABL Credit Facility may be declared immediately due and payable, and (iii) the lenders may commence foreclosure or other actions against the collateral. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Amended ABL Credit Facility was amended in December 2023 to incorporate certain changes related to revised and new definitions associated with the satisfaction of payment conditions for restricted payments, investments, permitted acquisitions, periodic reporting and asset dispositions. The amendment did not change the ABR, applicable margin rates, commitment fees, the </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">maturity date, borrowing availability or covenants under the Amended ABL Credit Facility other than timing of certain reporting requirements.</span></div> 0 0 1100000 P5Y 75000000 80000000 15000000 125000000 225000000 20000000 50000000 275000000 125000000 30000000 0.0250 0.0350 0.000 0.005 0.0125 0.0175 0.0025 2.50 1.00 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Revenue</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The majority of our revenues are derived from short-term contracts for fixed consideration or in the case of rentals, for a fixed charge per day, plus repairs while the equipment is in use by the customer. Product sales generally do not include right of return or other significant post-delivery obligations. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Revenues are recognized when we satisfy a performance obligation by transferring control of the promised goods or providing services to our customers at a point in time, in an amount specified in the contract with our customer and that reflects the consideration to which we expect to be entitled in exchange for those goods or services. The majority of our contracts with customers contain a single performance obligation to provide agreed upon products or services. For contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We do not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract with the customer. We do not incur any material costs of obtaining contracts.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not adjust the amount of consideration per the contract for the effects of a significant financing component when we expect, at contract inception, that the period between the transfer of a promised good or service to a customer and when the customer pays for that good or service will be one year or less, which is in substantially all cases. Payment terms and conditions vary, although terms generally include a requirement of payment within 30 to 60 days of invoicing. Revenues are recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. We treat shipping and handling associated with outbound freight as a fulfillment cost instead of as a separate performance obligation. We recognize the cost for the associated shipping and handling when incurred as an expense in cost of sales.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We disaggregate revenue into three categories: product revenues, rental revenues and field service and other revenues. We have predominately domestic operations with a small amount of sales in Australia, Canada, the Middle East and other international markets. The following table presents our revenues disaggregated by category:</span><span style="font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"></span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.262%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.942%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"></span></div></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"></span></div></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product revenue</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">207,511 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">159,510 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental revenue</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,817 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Field service and other revenue</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,669 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,078 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,123 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">228,405 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At March 31, 2024, we had a deferred revenue balance of $7.9 million compared to the December 31, 2023 balance of $8.1 million. Deferred revenue represents our obligation to transfer products to or perform services for a customer for which we have received cash or billed in advance. The revenue that has been deferred will be recognized upon product delivery or as services are performed. As of March 31, 2024, we did not have any contracts with an original length of greater than a year from which revenue is expected to be recognized in the future related to performance obligations that are unsatisfied.</span><span style="font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:120%"></span></div> The following table presents our revenues disaggregated by category:<div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.262%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.942%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"></span></div></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"></span></div></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product revenue</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">207,511 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">159,510 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental revenue</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,817 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Field service and other revenue</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,669 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,078 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,123 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">228,405 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 207511000 0.76 159510000 0.70 23943000 0.08 27817000 0.12 42669000 0.16 41078000 0.18 274123000 1 228405000 1 7900000 8100000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Tax Receivable Agreement (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">“</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TRA</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">)</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with our initial public offering (“IPO”) in February 2018, we entered into the TRA which generally provides for payment by Cactus Inc. to certain direct and indirect owners of Cactus LLC (after the CC Reorganization, Cactus Companies) of 85% of the net cash savings, if any, in U.S. federal, state and local income tax and franchise tax that Cactus Inc. actually realizes or is deemed to realize in certain circumstances. Cactus Inc. will retain the benefit of the remaining 15% of these net cash savings.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The TRA liability is calculated by determining the tax basis subject to the TRA (“tax basis”) and applying a blended tax rate to the basis differences and calculating the resulting iterative impact. The blended tax rate consists of the U.S. federal income tax rate and an assumed combined state and local income tax rate driven by the apportionment factors applicable to each state. Subsequent changes to the measurement of the TRA liability are recognized in the statements of income as a component of other expense, net. As of March 31, 2024, the total liability from the TRA was $270.9 million with $20.9 million reflected in current liabilities based on the expected timing of our next payment. The payments under the TRA will not be conditional on a holder of rights under the TRA having a continued ownership interest in either Cactus Companies or Cactus Inc.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The term of the TRA commenced upon completion of our IPO and will continue until all tax benefits that are subject to the TRA have been utilized or expired, unless we exercise our right to terminate the TRA. If we elect to terminate the TRA early (or it is terminated early due to certain mergers, asset sales, other forms of business combinations or other changes of control), our obligations under the TRA would accelerate and we would be required to make an immediate payment equal to the present value of the anticipated future payments to be made by us under the TRA and such payment is expected to be substantial. The calculation of anticipated future payments will be based upon certain assumptions and deemed events set forth in the TRA, including the assumptions that (i) we have sufficient taxable income to fully utilize the tax benefits covered by the TRA and (ii) any CC Units (other than those held by Cactus Inc.) outstanding on the termination date are deemed to be redeemed on the termination date. Any early termination payment may be made significantly in advance of the actual realization, if any, of the future tax benefits to which the termination payment relates.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may elect to defer payments due under the TRA if we do not have available cash to satisfy our payment obligations under the TRA. Any such deferred payments under the TRA generally will accrue interest from the due date for such payment until the payment date. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March of 2024, the TRA was amended to replace all references to one year LIBOR with references to the 12-month term SOFR published by CME Group Benchmark Administration Limited plus 71.513 basis points. Additionally, all references to Cactus LLC were replaced with references to Cactus Companies as described in the CC Reorganization. The foregoing description of the TRA Amendment is a summary of the material terms of the TRA Amendment, does not purport to be complete and is qualified in its entirety by reference to the complete text of the TRA Amendment, a copy of which is filed as an Exhibit to this Quarterly Report and is incorporated herein by reference.</span></div> 0.85 0.15 270900000 20900000 0.0071513 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Equity</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, Cactus Inc. owned 82.4% of Cactus Companies as compared to 82.3% of Cactus Companies as of December 31, 2023. As of March 31, 2024, Cactus Inc. had outstanding 65.5 million shares of Class A common stock (representing 82.4% of the total voting power) and 14.0 million shares of Class B common stock (representing 17.6% of the total voting power).</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Equity Offering</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2023, Cactus Inc. completed an underwritten offering of 3,224,300 shares of Class A common stock at a price to the underwriters of $51.36 per share for net proceeds of $165.6 million (net of $6.9 million of underwriting discounts and commissions). In addition to the underwriting discounts and commissions, approximately $2.2 million of costs directly associated with the stock issuance were recorded as a reduction to additional paid-in capital.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">FlexSteel Acquisition</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In conjunction with the FlexSteel acquisition, a restricted stock award of 128,150 shares of Class A common stock was issued under the Company’s long-term incentive plan to a key employee in exchange for cash consideration of $6.5 million. The shares were restricted from sale or trading and were subject to vesting requirements for one year from grant date. The agreement included a guaranteed provision whereby if the fair market value of the restricted shares was below the purchase price upon vesting, Cactus would compensate the key employee for the difference in price plus a gross-up for taxes. The restricted stock award early vested in October 2023 when the employee separated from the Company. The guaranteed payment provision was not triggered when the shares vested; therefore no cash payment was required or made in accordance with the terms of this award. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">CC Reorganization</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the CC Reorganization in connection with the acquisition of FlexSteel, Cactus Companies acquired all of the outstanding units representing limited liability company interests of Cactus LLC (“CW Units”) in exchange for an equal number of CC Units issued to each of the previous owners of CW Units other than Cactus Inc. (the “CW Unit Holders”). Upon the completion of the CC Reorganization, CW Unit Holders ceased to be holders of CW Units and, instead, became holders of a number of CC Units equal to the number of CW Units such CW Unit Holders held immediately prior to the completion of the CC Reorganization. After the CC Reorganization, we refer to the owners of CC Units, other than Cactus Inc. (along with their </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">permitted transferees), as “CC Unit Holders.” Following the completion of the CC Reorganization, CC Unit Holders own one share of our Class B Common Stock for each CC Unit such CC Unit Holder owns.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the CC Reorganization, Cactus Inc. and the owners of CC Units entered into the Amended and Restated Limited Liability Company Operating Agreement of Cactus Companies (the “Cactus Companies LLC Agreement”), which contains substantially the same terms and conditions as the Second Amended and Restated Limited Liability Company Operating Agreement of Cactus LLC (the “Cactus Wellhead LLC Agreement”), which was the limited liability company operating agreement of Cactus LLC prior to the CC Reorganization. Cactus Inc. was responsible for all operational, management and administrative decisions relating to Cactus LLC’s business for the period from completion of our IPO until the CC Reorganization and relating to Cactus Companies’ business for periods after the CC Reorganization. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Redemptions of CC Units</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Cactus Companies LLC Agreement, holders of CC Units are entitled to redeem their CC Units, which results in additional Class A common stock outstanding. Since our IPO in February 2018, an aggregate of 46.5 million CC Units (including CW Units prior to the CC Reorganization) and a corresponding number of shares of Class B common stock have been redeemed in exchange for shares of Class A common stock. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">During the three months ended March 31, 2024 and 2023, there were no redemptions of CC Units (or CW Units prior to the CC Reorganization). </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Dividends</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate cash dividends of $0.12 and $0.11 per share of Class A common stock were declared during the three months ended March 31, 2024 and 2023 totaling $8.0 million and $7.1 million, respectively. Cash dividends paid during the three months ended March 31, 2024 and 2023 totaled $8.1 million and $7.4 million, respectively. Dividends accrue on unvested equity-based awards on the date of record and are paid upon vesting. Dividends are not paid to our Class B common stockholders; however, a corresponding distribution up to the same amount per share as our Class A common stockholders is paid to the owners of CC Units other than Cactus Inc. for any dividends declared on our Class A common stock. See further discussion of the distributions below under “Member Distributions.”</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Share Repurchase Program</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 6, 2023, our board of directors authorized the Company to repurchase shares of its Class A common stock for an aggregate purchase price of up to $150 million. Under our share repurchase program, shares may be repurchased from time to time in open market transactions or block trades, in privately negotiated transactions or any other method permitted under U.S. securities laws, rules and regulations. The repurchase program does not obligate the Company to purchase any particular amount of shares, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. During the three months ended March 31, 2024, the Company purchased and retired 86,599 shares of Class A common stock for $3.4 million, or $38.92 average price per share excluding commissions, under the share repurchase program. As of March 31, 2024, $146.3 million remained authorized for future repurchases of Class A common stock under the program.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Member Distributions</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Distributions made by Cactus Companies are generally required to be made pro rata among all its members. For the three months ended March 31, 2024, Cactus Companies distributed $7.8 million to Cactus Inc. to fund its dividend payments and made pro rata distributions to the other members totaling $1.7 million over the same period. During the three months ended March 31, 2023, Cactus Companies distributed $7.1 million to Cactus Inc. to fund its dividend payments and made pro rata distributions to the other members totaling $1.6 million.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Limitation of Members’ Liability</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the terms of the Cactus Companies LLC Agreement, the members of Cactus Companies are not obligated for debt, liabilities, contracts or other obligations of Cactus Companies. Profits and losses are allocated to members as defined in the Cactus Companies LLC Agreement.</span></div> 0.824 0.823 65500000 0.824 14000000 0.176 3224300 51.36 165600000 6900000 2200000 128150 6500000 P1Y 1 46500000 0 0 0.12 0.11 8000000 7100000 8100000 7400000 150000000 86599 3400000 38.92 146300000 7800000 1700000 7100000 1600000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Commitments and Contingencies</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are involved in various disputes arising in the ordinary course of business. Management does not believe the outcome of these disputes will have a material adverse effect on our consolidated financial position or consolidated results of operations.</span></div> <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Fair Value Measurements</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Authoritative guidance on fair value measurements provides a framework for measuring fair value and establishes a fair value hierarchy that prioritizes the inputs used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 inputs), observable inputs other than quoted prices in active markets (Level 2 inputs) and the lowest priority to unobservable inputs (Level 3 inputs). </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying value of cash and cash equivalents, receivables, accounts payable and accrued expenses approximates fair value based on the short-term nature of these accounts.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At March 31, 2024, due to the short-term nature of this account, the earn-out liability related to the FlexSteel acquisition (see Note 2) was determined based on the estimated future payments, utilizing projections for the second quarter of 2024. At December 31, 2023, the earn-out liability was measured at a fair value of $20.8 million using Level 3 unobservable inputs. The fair value at December 31, 2023 was determined based on the evaluation of the probability and amount of earn-out that may be achieved based on expected future performance of FlexSteel using a Monte Carlo simulation model. The Monte Carlo simulation model uses assumptions including revenue volatilities, risk free rates, credit discount rates and revenue discount rates. The following table sets forth the range of inputs for the significant assumptions utilized to determine the fair value as of December 31, 2023:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:81.340%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.895%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.40%</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.63%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected revenue volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.70%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue discount rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.02%</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.23%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credit discount rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.85%</span></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:85.209%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Earn-out</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Opening Balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,960 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in fair value</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,850 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,810 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our foreign currency forwards was less than $0.1 million as of March 31, 2024 and was determined using market observable inputs including forward and spot prices (Level 2 inputs).</span></div> 20800000 The following table sets forth the range of inputs for the significant assumptions utilized to determine the fair value as of December 31, 2023:<div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:81.340%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.895%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.40%</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.63%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected revenue volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.70%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue discount rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.02%</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.23%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credit discount rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.85%</span></td></tr></table></div> 0.0540 0.0563 0.2170 0.1002 0.1023 0.0985 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:85.209%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Earn-out</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Opening Balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,960 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in fair value</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,850 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,810 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5960000 14850000 20810000 100000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Segment Reporting</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate in two business segments that offer different products and services and correspond to the manner in which our chief operating decision maker reviews and evaluates operating performance to make decisions about resources to be allocated to each segment.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our reporting segments are:</span></div><div style="margin-top:5.25pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Pressure Control – engaged in the design, manufacture, sale, installation and service of wellhead and pressure control equipment utilized during the drilling, completion and production phases of oil and gas wells. </span></div><div style="margin-top:5.25pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Spoolable Technologies – engaged in the design, manufacture, sale, installation, service and associated rental of onshore spoolable pipe technologies utilized for production, gathering and takeaway transportation of oil, gas or other liquids.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial information by business segment for three months ended March 31, 2024 and 2023 is summarized below.</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:72.463%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pressure Control</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194,655 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99,095 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,750 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,123 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">228,405 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating income:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pressure Control</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,675 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,171 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,393 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total segment operating income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,068 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,420 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate and other expenses </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,518)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,732)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,550 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,688 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">689 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,002 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,538 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,239 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,228 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:5.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">Includes corporate and other costs not directly attributable to our reporting segments, such as corporate executive management and other administrative functions. These costs were previously included in the Pressure Control segment. The information for the three months ended March 31, 2023 has been recast to align with the presentation for the three months ended March 31, 2024.</span></div> 2 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial information by business segment for three months ended March 31, 2024 and 2023 is summarized below.</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:72.463%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pressure Control</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">175,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194,655 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99,095 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,750 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,123 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">228,405 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating income:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pressure Control</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,675 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,171 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,393 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total segment operating income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68,068 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,420 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate and other expenses </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,518)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,732)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,550 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,688 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">689 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,002 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,538 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,239 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,228 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:5.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">Includes corporate and other costs not directly attributable to our reporting segments, such as corporate executive management and other administrative functions. These costs were previously included in the Pressure Control segment. The information for the three months ended March 31, 2023 has been recast to align with the presentation for the three months ended March 31, 2024.</span></div> 175028000 194655000 99095000 33750000 274123000 228405000 51675000 63171000 16393000 249000 68068000 63420000 -5518000 -13732000 62550000 49688000 689000 1002000 0 3538000 63239000 54228000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:5.5pt">Earnings per Share</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during the period by the weighted average number of shares of Class A common stock outstanding during the same period. Diluted earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during that period by the weighted average number of common shares outstanding assuming all potentially dilutive shares were issued.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We use the if-converted method to determine the potential dilutive effect of outstanding CC Units and corresponding shares of outstanding Class B common stock. We use the treasury stock method to determine the potential dilutive effect of unvested stock-based compensation awards assuming that the proceeds will be used to purchase shares of Class A common stock. For our unvested performance stock units, we first apply the criteria for contingently issuable shares before determining the potential dilutive effect using the treasury stock method. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the basic and diluted earnings per share calculations:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"></span></div></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"></span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Numerator:</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to Cactus Inc.—basic</span></div></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,965 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,894 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to non-controlling interest </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to Cactus Inc.—diluted</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"> (1)</span></div></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,206 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,206 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Denominator:</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average Class A shares outstanding—basic</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,378 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,740 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effect of dilutive shares</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,178 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,415 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average Class A shares outstanding—diluted</span></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,556 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,155 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"></span></div></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings per Class A share—basic</span></div></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.60 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.67 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings per Class A share—diluted </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.59 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.63 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:4.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the three months ended March 31, 2024 and 24.5% for the three months ended March 31, 2023.</span></div> <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the basic and diluted earnings per share calculations:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"></span></div></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"></span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Numerator:</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to Cactus Inc.—basic</span></div></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,965 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,894 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to non-controlling interest </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,241 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to Cactus Inc.—diluted</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"> (1)</span></div></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,206 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,206 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Denominator:</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average Class A shares outstanding—basic</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,378 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,740 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effect of dilutive shares</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,178 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,415 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average Class A shares outstanding—diluted</span></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,556 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,155 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"></span></div></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings per Class A share—basic</span></div></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.60 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.67 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings per Class A share—diluted </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.59 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.63 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:4.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the three months ended March 31, 2024 and 24.5% for the three months ended March 31, 2023.</span></div> 38965000 42894000 8241000 7312000 47206000 50206000 65378000 63740000 14178000 15415000 79556000 79155000 0.60 0.67 0.59 0.63 0.260 0.245 false false false false

45KSMOG:B'W6\FOUTI4F_'%_%4I*%E*.2Z0K MZ! F(4>4X P5HB0DC(J2YY&3W7YTN2]U,=:6X!4#8WOT C14)VF!U@D3U-U( MSV3Q;9D?W^8V>%C 01L\?Q(>)_ZJ^%VOI$::?Y6;'^]?Y,-:12__?J'+JJRX MJ??Z7#[0[_^0*UE6RM"?=K8QIS4^L49O63J1,4%5^C$Z<(VHG@;-'V->KH1N97K>/0@?D7 MW8CMG4J;%)W?5L^53J) .>SP"A-[E9IP8"AK?,B'ZLF8P6^?OMQW?EI1T3:E^UN_20W7^6R MQ@+X5CVW,P]5*!Y+D6,4"R955DT)HD)D*(YX5"8:"D'$H F1P[2F/NYM* >; M+FD@FNN(INSB=4_R P]\6]&/J$XQ&O*R=+[P1DEGD,R1/BU?@4YMJ MW,[J5=:7JFK/UFB>&C5/;?)Z:-A>V7+8%#0$.Q6TZM_K]5B"7O'#E]^[1/[#SS"NJW4_,K3+?>W9AGM=+7YW"-CUBSD" M/O&C+K[>7U4/_W] M;^V_J/\PNI5__]O_ U!+ P04 " !K?:)8Z82C][J& K-@8 % '=H M9"TR,#(T,#,S,5]P&UL[+UI=YM)U1:VCI7 M)>E*:O?U?,'))5+";0B0 5 E^==/)+B*!$DL^?)-JJ>/K2(E$AG+DY$1D9$1 M__(_OGV>_?(5EZOI8OZO?^)_9G_Z!>=ID:?SC__ZI[]^> 'N3__CW_[IG_[E M_P+XW[^]>_7+LT4Z^8SS]2]/EQC6F'_Y8[K^],OZ$_[RM\7R[].OX9>WL[ N MB^5G@'_;_-K3Q9?OR^G'3^M?!!/J_,?._W7YSX)EFX)RD)74H(P6$*(N4$+& MX**WSIG_Y^,_E\0Y]U9!R9F#HB\A2&/K+UA;O..&OJD?.IO.__[/]8\85O@+ ML3=?;;[]US]]6J^__/.OO_[QQQ]__A:7LS\OEA]_%8S)7\]_^D]G/_[MQL__ M(3<_S;WWOV[^]>)'5]-M/T@?RW_]W[^_>I\^X>< T_EJ'>:I+K":_O-J\Y>O M%BFL-U*_EZY?;OV)^AV<_QC4OP(N0/(_?UOE/_W;/_WRRZDXEHL9OL/R2_WO M7]^]O%@RA;0^6?V!L]DG#/G/:?'YU_HCOSY=$"2(V,TOK[]_P7_]TVKZ^T["25HG5R$7RR M"*H0 H.* EQ 5J*DKY/[D>=*](JHWNAAA>G/'Q=??Z4/)GT(6;^H$I$;:=Q8 M[E0RA]']?+Z>KJ>X^A#B#"<^(6>2!RAH&"BA/82@$@3.BN>1JV3T473_L-R/ M=%_5Z9-E^F6QS+@DVW&^7EBF'_1[$[5G/_'KE["D#X+T:3K+Y[]=EHO/+;2U M7K20W:EFB-X__4)L%UPN,;\Z5 8(25G%# M]=E*ITC V7IU_C>7D+B7F/$@)SF,XGOB 1F@JD3$>M M0L4@&.% 2.M$,-JQ9!MCY285XX"DL7H7367= UH6GS\OYAL^GOR.GR,N)S)I M9)PVD/'.@TJ<@<>H07J)43!=;."MT7*#BG'1K\/D."'W!9/?SCG(FH48 M.-B2B .I.41/+JB.FD3W_: B7A\,#E$R!W Y,+*DKN/+^G+U42Y M;+T."A++F3@PY, A*N HH]7.1^[R4'[*!17CP&0@!^4PV8Z(CBJ'\]3!!_K9 M2;!9Q"@0BK:T28*RX+@TH%C(MBC.+$M'!3!75^O$[SA0:XL&(NQ$]?_K)"SI M$V??W^&7Q7(]"<&BE"*!%,I7QTM!$,E!3"&'&)G ,IV_)XGGAD+O2YN"X MMO).V%"/"!M'B79D>&Q\JN\OIC-\?;+QDA5:HW5F(+)$.@)M F]YH6]%%%H' MYOA=$>N."=$K*^X$!_T(X'"4*+N P3O\.*T9XOGZ=?B,$Q$T^I"(?G*TR2^* M!6(H")++HHW,*-)=:=%=H?#CJCO!P3P:.!PATBX@\7*>%DLR:AL-;*3S='$R M7R^_/UUD8B<)Q2,Y1M((DDTBI]GED* :N-3B#-F!B)T 8Q\-8-H)O O\? C? M7F82S[1,3V]ISVQCC$H2Z#6$*,FOUD* UU8 BT'E5)PQ[+C[PCN7WPDS[M%@ MIH60NT#+DYQ)%ZNS_U3Q\$GDK"HV0U04=RG/&)VB*$!+ID4TO/#0XA3:LO1. M*/&/!B7'"K 3&HR$62!X^&4G.-G&6K,S1JG;X MN%QXMUP8>VSP.%"R/8%C(YHWR[?+Q=?I/.$D\Y)"MA)LK.&88QJ\T)*8"1B= M*-:+NVY7]D3(M=5W@\ECR)DVDW%/6'F[6*W#[/^=?MFX5YEYAL$R",YQ4"(E M<"Q(*,@UE\[S$AO:DA_6W@TGCR&5VDB^(Z.DVL$G2PP;NE,Q.>:007A!=!LN M(1CO@0/#U8AB/KOE:4SMY^6LS/,SF6H8E. M"\C:%U#T9[TA4@1CI7*1K*;[CM+_]15WP\!C2)(>)T\F2,,Q%_#!= MSW"BC;2L, ,E1P$J& [>> 3FG3XFP@XRZP4B^1ET]).!\7R^\3*S5/"C.DPNJE3PP0 M1-"0N T*H\A)'^=U;EETM\*NQY/=/%RB70#B_>/>;A$NP#$\\^X_$BGX5^6BS_6 MGYXN/G\)\^\3[JS(REJR;)9B:^\R4#"5@:5BBI1&:']3P#Q> MPET Y?TGG,W.J2]H3:UJ!A4]Q=S6D-/D6(%,7K8RG,DD6N2WKZZY&RP>0S;S M2'EV@8;39S&;1S;O/Y$ 5V].UO5%?0W,)TQ8W]-.R&EL>0]VPL[S[00Y)9AMG+><9O_Q/)C2J)QV(22)8H7H^1@==" M 3JO%$KO5#HN$[9UV=TP\AARHL=+=>Q+LM, Z\5TE<+L/S$L+PKD/2>'.AO( MPBERL#& K^U&:H>2I!C3,OFCD'';RKN!XS&D2YO(MI/'!Y=,O*"_64ULCMGP M4, HM.1NTQ\1:V$:R\:2W1.N'%=D?LO"NZ'C,>1/6TBV*W"ZF$#05/@QHRC0"X* M6>YLT/%S-PS;2[WW-PS;1]8]H.5F+RMR\!Q+*0)Y8_7-<%00G4J@G_#L'V$W!=,SGM9J>031E'#-V5HMW 'H?9"XM:7&)4UP30W M*OTW#&L$DT.$W %,MD2,4C/+-2.26;6QEHB/R"0@<]D;[;+4K6'22\.P(;V4 MPP3< 42>K%:X7EWX]R8[J7Q2H#0F CC3$))U(++SM%LP&M;ZL/F1@D[2C)9F**.',F,M#"^Q ESPJ;][[=A; >L'04 *Y[+LVUT0'$GJ14VYZLWF%" M8HF.[M>X/J_GE8D.ZJ@R8):;_EI(42-)J]"N-.2P>7/GL(&#K-(=](SKX+0' M5#/9=X"CE_.O1/5B^?TOR\5J-;&NMF;S''BI]MND7*]0/*"(5A6!NN36-NE' M"L9MC-@>*T?(MP-TO%WBES#-S[]]P?D*R8B^67_"Y0]2FK H?> 9(5K.0>7" M:I56 #3D!1B?(OUC8\CL0-:X313;XZBU)CH UX_$6\(^S@T%NLP:PB-UXMYNB81'@NWF#5D]!1: MH(Y ,44"Z;V0D8N<[BS@/QPE-VGIP:MI&'(=*>P.[,G;Y>(++M??W\X",3'/ MU=G_4M,7]/7I'2Z^PK#"=W5&W)OR5S*CE?,GA4@@E^[D\\FL#II[AL1 FIYJ MR='< .P?6= M!/5@6QM#LIT".D#32]+&_..4(M\S6>'Z^;U"5P\19F-L-5='!Q"[H#MIEX(6B0+E["BJ MB0H\BPRX#TQGS(K+UH5H>T%EX""R,50.$FL'<'AVMFQM__P9/X1O%TB?^,R] M,98B7J^03F)/G'CKH39+,3Q8S9L?7K=3TT,8V1@RC43? 8BNY$PN9301W@IE M/ =,M<=O8A8BHXTA(K 3H&)=6ZP4P:"P !"(.!W26)[3J#1E-&%=DG[,$'IBOX_WJ"UDI(.D@"_?9.GE7 MP[4#T;.=F'&/MN$ U$#T'6#HO('8T\7G.)UOU/)T,:]IT/K:93%?33,NSUZ( MGO)ZWL]R(HL27% P&:N?H"S+$)Q'\A@R2G3))]LZ?7@XM>/ZZ .A\(&4-R), M__B4)Q_"M\M"KB4A]NLN>L9-3 YDH9HIH ,P_7A!>(,;C0Z]C@$\,0$JDAL9BY%@BR@.4S29 MR<9PNINB<=.5 P&JH1(Z@-06_Q&=Q.*5 \EJV8+*%!6G7!_N%9Z##)Z.Y\$S M">..)!T(.D<*NZ],YY9[@&@E-RR32R=-;:O&"OA"''G%O?!<0]) MW>2FCE7^?1>Z1VBB[^"-!'=NBZ,LH6"2D$.NY2^&DRVN]7HY.U$\>8?AVO7= M(?';Y8+=F*=&X!E.VAW8IJUQQ)4;:V58R4HSB-G7GG""C+@SC-P$05O%49QQ M9V>]9K'MKMLIKDJ1S(I0 VM6+ E:;LZ EQH+(7(0D MN3>M<74K-=TDGUH#JHW\.T#2%28FCOP[K,-'HQ.9HN"D(:B2(&2OC:%M(%UK M3_S*\MV<; \2U^TE[ YR!+4-U'1=W;XJGXOKH%1949A,89Y#TB(0*QKK!&,+ M,L2BE<\!^1!-MVXA9UP<-:YY:B7V#BS-'7M*T;0^LXZLF7O(22O'X*>1T#N S]OS=3I,,LPU8:$A1FXA MB528);DEV[K?R18RQF[6U4;#-_L.'"7N#A!S9<;0*?U.%9N#0:#C5=8VB!X\ MKR GG>X#G16Y^=A M.2?G;/7#._(R3=/U1,40A-8"T&0&R@M)^X&B0^TH L@V9$RM2T+NIVIL/V<0 M3#561@?PNL+!)NM01RPN\1/.5].O>'J3\VJQJOY(X;E)H*&,VH)HZ0.%-J4UD8E*0.P@RUD&?@F(3 M+^I,/JYM=+I8XUH[WS>I&+<8:2 L'2GL#K)%OT_GB^7YW'EB4 MQM0WA$A?)0N,9W(40RVA:EU$KYP^+FFA?S-=$!7WBQPNN]'WP7@IH!J@1)OR]W4C_$ZZG*3%E" IE!4JU,A6U/L" M TGF9'G)#IOW2WD<@P#WTO#.@P#W$7<'N-DVGSR# O=2[PR# /63= UINSJCC*:8@-8*)SH,B9Y%BDMIZ+*@0 MBN->8>M<^F,8!+B/7N\?!+B/D/N"R?F,NFR-+HI(-E(J4)[50(+7:O2BF?;% M"MZZENTQ# )L Y-#A-P!3+;$F]Q*#,E)<#:20%10$+DV0-\%94,,-K=/8G<] M"+")EW*8@#N R)/9;/%'?8CP8K%\MCB)ZW(RNSGVYZ)M@?4Y"Z?!TID,"E," M%Y4"BX$%SDK)MOE=VSX$=N+4'(B&ZS=L@ZFF ]S]6&[U-BS?+#?BRYN"FK>X M?/^)9#XQ KD0-1^6E:S/JP2XH!W(I&-M)2Y+;%V1LAMEG9BP-D@;0!D'0^PK M+N-B$)!MF%@].5E_6BRG_XUYDF6AS>+H#-=>4*A1(D3&$[!<7&$\B,A:-]R^ MFZ*QJYX&!-51PN\63"]7JQ/BQP$T<-4$[W_0'_^_OSUA_=O7KQ\_?3-[\];51%M^>0AJX?N8Z11U=!I??\% M_"[*0YB3W-8I*>30I-.&6AZQ@)$YN&A]-*%U1N464AK7!J%E/#.KR'[2":QJ M86A$E38OMZVG]J@%OJ^IQQH'PF/F+]>+==UZ&H^26MR]7'Y=9IP M4[=@E/3!6 TZQCKKB2QEE(*.V3HZ2A0IF-TI!T0+7$$'?7>)C-O6[N36XP ] M+AH*M0]0;"IQ3SE8G=U!LZ2X0"9 ALRK U8+<"D,E(Y[H5DA&>WD[^Z&C)L$ MC ./-CJ]"9 C!=S%U=>&D;.2@N"I[O-);/GJ<^\OV:F\AN7YLPJ5,-F]JSWA1W)E@BH5L6*Q/DQQX+LAL M6LR<&>\#;]V4\RYZQKFE'-QB'"_[#G!T>UUM9LX(SAE(QLDYDT&!TUQ"G0Z1 M2Y%!JM:AV7%5Z@]5_W6(P]I6W!W@9DOII"H>EIP$5R=*Q.3)@Z*RA3\Y0#(5;1>&<%RZ[O# \N/ MAR^S:GC\'";@#B!RYK1?CMT6R4;FHX3L*\31ESH]6P!W7I?,% K1^M2Y3D,G M9\Z!.KW1'^H( ?<#D!0.2[,CL/%=I -IJ0.O&>M\95GLI MH8OBF?>XZ2GT%YSC,LR(G2?Y\W0^K5):3[_B\V]?<+["B7+(+&H-F=BK%[<4 M21B;P>ODH@WH8VC^#' GRD9^03HLT 903@BZY=4D&W?I]Q+U$C1L$#@RTMBK9'V/^%&-S M_%AKH3^TGS)UME56$T-RT8;VBE B@1*9W DL 5*,WAIELLW-I_]<)V+<%S<# M0^DXD7?0INZ"@9]RF\Q-BZLP$+^:KW[ LEG@Q]AA7S[^1 M)T!*F\[#\OM&GK?TH(W:1*<"AV)3 55?$L04(G OA> A%I9:7] ,R$YW#PV/ MLXI]J+V+D_J,Q;,=_!M%U&5*;)00@Q&>0F4;B V*G&.=-, ";7'CB_:Q_>&\ ME93NGB4>C[SCQ-U%=NSM@XT"A=F!&R(V\-*J[M6B/01/6&:1<;\EX,D#!,SD.6)(1-C&; M6H]UV)O([MXD'@.N8574@3/W X.3I)1SB B!B=J'TA?PJDY!X85V$]-.[O:* MZ%!\[7;/PQXC>/:2;0?&Z7RBUWD3B8ML7BB8C&)(1C;1J5M(-DYX61L!),U0 MF!A:]YN^C9;=X/)8:F6:2+P#DW*=C]_":IHFG <9K B010UM"PIPV0FP*0AC MH@[.# V;#2'C7B6WT?$]P-E?X!VBYMET=K+&/%'>:UVT IM- B5U'>&&$2+: MHG/((9761](MI(Q[-_P@R#E$Z!U@YV\X_?B)Z'Y"P5KXB*]/:KGRFW*CB\3I MQF!T]*(5Y)=II4'5)EN>AT*&&D7-0W#-6D?I>Q$X[KW,(#@;3D']HN]L+]UL M94(D,&:MA\@M@LK1DTM8/&#F)4CKB/O6)^&>)(Y[F_.0"&RBI&88?/AN,T_? M_/[VW?-_IY]Y^1_/AVL]LVV9A^I#XC\2Z2XW>-<7ZQ6)+]GI\VFT_?/RS#?$6RJAJ< MY\UWLU-]YO]SLEI785\,?DY:8Q#UT9JL89#-F<1)WQ;N'>:D(U.M!Y,,PTDG MI?0/@.(.D-"!6[E% .>L'#3>U5D;&?E+9 ;(9U)&<8@%ZU0:)H,,WG(YP(2> MEBQT4K#V #M@3-UWD'N^@_V=V!5!*>># $.K- MH#U\_=RXT&ZNVR[\FCL8GFA&X:4J"MBFB-#565[9!T@\1*MB"%:T[HIR!SF= MU-R-"\*]=/+(IE9?#8O??WCS]'_^^YM7SYZ_>__\?_WUY8?_'"+PW[+*0\7] M]S'8/NR_.0+]LE-IS-87'R%:7M-)(H/SHM8'*",U)L93ZW*?G0AKW*E%W5 DVA]\/;4I[8]%N[I6KN/O#L(:6YO:.0%-[P@ M@V"=($F8VC*Q.!#)9TZ-I#[:7>N]O#[:/K'M RY;.58XK[2T#J>I\ M956?-#LN0 HIM<-@.6]]Y?8(VH/MI=<=VH/M(>2^8'(^7UEE\OL=[19MZJMD M;2.XY J%%+$(93B2+1X.)KT.L6X$DT.$W %,+JSLJ1=7(\?%G+Y=;2RM93SZ M8$U]?5S[_&*!$!-%C,%FHV**7 TVSWH;09U<$C3T78X6>P<8NL;#Q7!XGICW M&GAMS*A\(?JQ)AI8U&0W;3+-!U%M):03+^9X15\O;CM:ZAU Y\I0I#/[F;CE M!M6F59FHKT4=.!TY&5'/,"O#2OO&N->)&+F(]GC%WCYZZ@ I=P"3)SE/J_C# M[&V8YI?SI^'+=!UFY]WH-V]/Z(S5G-$)+OVF 4< HZTJW A4HG7UQ9T$C5Q) MVQP^[:3? 93>X9KD@?F\#.^,"TS"%$$,6,]3?6SIP3$RS$PS00&EB,6U[XRZ MC9*1RV.;@Z>!O#M S9.43CZ?S&J_I=O*-\[]_V \=Q0<.L%)5E99"(P"QJBU MTV%%XOE'V&9)U:@=YZ" M!B$\10Z!P!^RXY"$XIRA]%H,T,)F'Q(["?@/1,3-YB"#J:<#]-U\F2)90!NB M!LGK(/;:)#W2&0W%B2,[*YC,L#GH@-.0XV.%4?MU^'27_@P'T!9?31::M MLEPW.N>N"^B@.E+ER&DH)$1;]&:8.YT$2B4P)AI4IG#1_!E'&\K'S3@\*& ? M7M-]H?SE:G6"^=G)LG)\NL!F#[_&/S;_M)HD5-$HFT D9BG6,13U,,^!_I]S M4V*1L77[U=TH&]?K>W"4MM54#X?U=J[^(\Q.\)(IP6A+H=602$*TM6H^D-P= ML DY9HJ]E&G=Q&DGPL9-?G2 OB/TU 'X?I_.%\N-N3\UX>>"K-T:G]4F_]7F MUS:-M]G\?S\5]<066XR*#K2WD23K/00N:0]*(XV(1;/0&I^M:!\WU?*0$!Y% MV\=VXC\*YW74\N6K/N+KEEN7#^';.TPX_5K]FRW,)PZJ M6(HQBQ!@6,S921%8NE:IL766]>$4C-L,]B&P^8 :ZL#>WNG"G/=APLT3%IRO M-HJ>Q"2XB[9V-DDD5;7)CGH%UNA2@>0.6[SV X<@68Z[!>F&U_G M%@[16O*LC:][D+QN+3DXY!IBR%'(6K'7/L.T-Y7C]K#M *2M--@!1F^[FSSM MFW_^,"\&9YBM=Y)6U1&1.8)GV4*03BO&!&K=NF'*3H2-V_#V(9'87D\=@&\C MKG?XY629/M6-=/,@F$2,"@MYQC+7 4:2G))@18+LL^(L9RM=Z\ [534ST"QNQC;V/>)0,.33 %0:0K/4 KPUG/@(>4L9%8ZMRZ[NI>HD=ON M]H*\_174#_!V"=,V.RM>]RV>S//S;[A,TQ6>/1-Y\V63:)@HDU31F,"X^NI, M<7*1?VD7IZ# )!3+J@BRD5&SKRL5A.-D-R3_%95('4.C D-ZLDZD= MQ*TAVG,R9/]33."2U5"'MV)M0#YO8U8;%:\$ M[A(O3D%MZ0A*V *!D2!") E+*S6+@]RP/TR9$G_4ET0CJKHIR'OHV/5VH]5/ MN)ZF,/N1RZ':=_VXY'B]O.Y@_4$;>Z7HI;"Y@, Z[HNY!'%S3 LN,7+M-!NL M<=&0C;VNO(B]<-4OIH1@FM%_\D1:9P)J"T*3LZYX#N ,#V M4R:3"HCTQLSO M0EW-<'/':^4VNGG, PR>O/_W%Z_>_.W]$.;O\L,?;%C!=G;:F[0:=K^8 M+?Y874[7X)9Q*S1$)!PJ.D_!%:7\S?G([B?I#7MG?44KT@@NV)J=PG'8IUZY TXZQ4H9;P7VF/[B0S[ M4]F-<3L.05MF)0ZIKBXZ 5^9SN!9,O0_#U%J$I7QJ7JL 71(S.L@;&K>^+>7 M>1A#:_KVD1C["+T+P/R0H'^'%/^DZ0Q_&"OZ8;&O,+D(+'NI0)=:9I>"A2C( M1=!9AI!D2B&V;P;2GH]Q7_0\,(A'!T(7V^$9TMIINE$R?3W#LZNH)Y]KPN"_ M3TN?-.:@G',@O N@G"HD9G20?4F*O%X;FP]6WX6N<6WN^/BY?OW36I4=I,"O MTOZFO)C. TEY_O'I8K5>$6O/IJNT."$-3!*=-=%( UES.H>\<>"=KLX2BQ0- M6L5X\XOR'6D;UZIV!]-!5-H!5&\I&_51*:Z\)P8$'5%."(@V(LE+8F(R<(:# M/"T_K+AWL'OP[F#80%U='. ;>:V(]!>+Y;/%25R7D]F3=+:%@LTL!XH998@D MH'J/X+DIP#UJ9K.TPK>^^[Z+GG%?0W8'P6:JZ\#ZO9Q_)<$NEM__MIRN\=GB MC_G$B2!J7P>0WD>HMU= !EV Y#:ED@HC-Z1YX<5U*L9]O=@=Y(Y44P= ^TN8 MSJO,^4>P.@ W5UTO1VK7K_6=GI)Q*^$/X5BOIA>,Q?JI?OIQ3O':RN9O8_BNOIB%.9]/U=SZ1,4>2A*?SHXY> MDD+782D>T')6NY$QV=S;?"#6QGT8V=T^Z1%0([HF]8W^]O?WEZ?=._P:9B=G M28\+%B?!2"=XK?$2=?)FRJ:66B%H&:SW69L;?6NV=E X;/5Q'UEV@^H'4E\_ M#Y5N'G,7(CU[H7(A3V%LLCI3<) E,2@T!0=%)RC9"9=,I@.O]<76[M2-F]%Z MX.NJ@936041WD[/S),CEEIQXC3()Z:'H0E%JL@IB0@?H$UJ;([.L]7/A7>CJ MK6EG&TS<"[TC%=2%5WR3J_/D"&W9"28MG,H,.*O)X%QGE9L1+&AM)XU)?V91,_^)4^0&Z9R=. Q1>*N&(BV M2'*::TO0: Q)M76YTA[T=?G&HQE:KA%_SMZ+Q?+,]]G$<7FZ M/JFM[[P4(FM-;/",H+QTX'@T($W@00L5(K_V!'GKO)L33R(AQ,!*[1N2Z[3CF$3K M./E^JKJ\,!G,@+554K_1QA8!3C17K*"SH*VH,P:5)M, V^/;3J7>G MKLMH8R@8#J2T?J.-BQ<=6P09D6LGHH="01JH0M(,J#UD^I_R+,B@'N@U^!U4 M=C(G](&BC5;JZB/:N&+S:W=WXHSL_JO%_"-YC9^?822>HN:),PNR5)M/&QO( MY"/P$)VUK$3-6K_'N9^J+B.+9LBXXV!NH*0.#N;M'%UI*3.Q$F,.VM4L:JF5 M;)X\#:D@>J^DTEX(TWI(R;U$=1E^/"SH#E51#Y@[BZFN/Z$D9T5%[@5"B,G4 M\=+D192<02;&B@FN>-<<:K?0TF6\,1C"6BAD_.3(.3NG3."K>H/S=CDE?K[4 M-M:G/$Y23B&2SP%<<@_*6$$\4?A4/&VRB,)C;EV.=2=!78840R&MG6KZR*9< M;)S+!M97['+*+%,$9$#[2,&7E)F"+U/ HHU:)B>D';:-HW$O<'?JQGWR]\! '$AI'22IGY>":?VF//^6 M-L\/WQ'0W\PKL_7_:P/AKV&&FZ<,U>8GV@:;F^UY_O$OKOSD1-KLA%$:DJH] M8KB+Y/0P"9B4*R$PSG7K_M0#L#%NR#18FGMLA7>0&CJ*V=,Y;#=K.,_F"%P5 MZZFH)X8G1V$ I.Q]FQ #[$.JN+2<*L#T\ZW;KWVL!R.&_ -ME,ZADD'!\>9 M *ZQ_83.R>7R.W&XF51X62]=8LA$!1VY18%BHJ:1 P-TV08G"I.B=8?,O0@< M-^@;%,+#*.FQF_$)%U)R%VA_&7("%7,D5O0(6;&$7$4AL'4!TO#NR&!7H ," MJ:75W4NK1X[FH4V[7'< Y&R"D$SKVJ)6U<=,!6(2 5B1-I(T\:2,/XJ12\MO)^O5B_9^X.10V M#]V*M@:*\K5S;(G@K7-D!4*@H"=XDUI'!KO2-G(Q\(- M$RCV9_'L]AH"NB;Y<