0000950170-24-060537.txt : 20240515 0000950170-24-060537.hdr.sgml : 20240515 20240515163300 ACCESSION NUMBER: 0000950170-24-060537 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 69 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240515 DATE AS OF CHANGE: 20240515 FILER: COMPANY DATA: COMPANY CONFORMED NAME: SOUNDTHINKING, INC. CENTRAL INDEX KEY: 0001351636 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-PREPACKAGED SOFTWARE [7372] ORGANIZATION NAME: 06 Technology IRS NUMBER: 470949915 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-38107 FILM NUMBER: 24951802 BUSINESS ADDRESS: STREET 1: 39300 CIVIC CENTER DRIVE, SUITE 300 CITY: FREMONT STATE: CA ZIP: 94538 BUSINESS PHONE: (510) 794-3100 MAIL ADDRESS: STREET 1: 39300 CIVIC CENTER DRIVE, SUITE 300 CITY: FREMONT STATE: CA ZIP: 94538 FORMER COMPANY: FORMER CONFORMED NAME: SHOTSPOTTER, INC DATE OF NAME CHANGE: 20150820 FORMER COMPANY: FORMER CONFORMED NAME: SHOTSPOTTER INC DATE OF NAME CHANGE: 20110517 FORMER COMPANY: FORMER CONFORMED NAME: Shotspotter Inc DATE OF NAME CHANGE: 20060131 10-Q 1 ssti-20240331.htm 10-Q 10-Q
--12-31falseQ10001351636P9MP1YP1Y0001351636us-gaap:CommonStockMember2024-03-310001351636ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember2023-01-012023-12-3100013516362025-01-012024-03-310001351636ssti:RecognitionFromNewBillingsOfDeferredRevenueMember2023-01-012023-03-310001351636ssti:AcquiredSoftwareTechnologyMember2024-03-310001351636us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-03-310001351636ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember2017-05-012017-05-310001351636us-gaap:CreditConcentrationRiskMember2024-03-310001351636us-gaap:CommonStockMember2023-03-310001351636us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001351636ssti:SubscriptionMaintenanceAndSupportServicesMember2024-01-012024-03-310001351636ssti:SafepointeLLCMemberus-gaap:CommonStockMember2023-07-012023-09-300001351636us-gaap:CustomerConcentrationRiskMemberssti:CustomerOneMemberus-gaap:SalesRevenueNetMember2024-01-012024-03-310001351636us-gaap:RetainedEarningsMember2023-01-012023-03-310001351636ssti:TechnologicSolutionsLlcMember2023-01-012023-03-3100013516362027-01-012024-03-310001351636us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001351636us-gaap:AdditionalPaidInCapitalMember2022-12-310001351636us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMemberssti:ForensicLogicLlcMember2023-01-012023-03-310001351636country:ZA2023-01-012023-03-310001351636us-gaap:PatentsMember2023-12-310001351636us-gaap:FairValueInputsLevel3Memberssti:ForensicLogicLlcMember2022-01-310001351636ssti:SoundthinkingMember2024-01-012024-03-310001351636us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-01-012023-03-310001351636ssti:RecognitionFromBeginningDeferredRevenueBalanceMember2024-01-012024-03-310001351636us-gaap:CostOfSalesMember2023-01-012023-03-310001351636us-gaap:CommonStockMember2022-12-310001351636ssti:LetterOfCreditSubfacilityMemberssti:UmpquaCreditAgreementMember2018-09-270001351636ssti:UmpquaCreditAgreementMember2023-12-310001351636us-gaap:CustomerConcentrationRiskMemberssti:CustomerTwoMemberus-gaap:SalesRevenueNetMember2024-01-012024-03-310001351636us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001351636ssti:PerformanceBasedRestrictedStockUnitRSUMember2024-01-012024-03-310001351636us-gaap:CostOfSalesMember2024-01-012024-03-310001351636us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001351636us-gaap:RetainedEarningsMember2023-12-310001351636ssti:SafepointeLLCMember2024-01-012024-03-310001351636ssti:SafepointeLLCMember2023-01-012023-03-310001351636srt:MaximumMemberssti:SafepointeLLCMemberus-gaap:IndemnificationGuaranteeMember2023-09-300001351636us-gaap:GeneralAndAdministrativeExpenseMember2024-01-012024-03-310001351636us-gaap:TradeNamesMember2023-12-310001351636us-gaap:CustomerRelationshipsMember2024-03-310001351636country:BS2024-01-012024-03-310001351636ssti:TwoThousandSeventeenEquityIncentivePlanMember2024-01-012024-01-010001351636us-gaap:AdditionalPaidInCapitalMember2024-03-310001351636us-gaap:RetainedEarningsMember2024-03-310001351636us-gaap:EmployeeStockOptionMember2023-01-012023-03-310001351636us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMemberssti:CustomerOneMember2023-01-012023-03-310001351636us-gaap:RestrictedStockUnitsRSUMember2023-12-310001351636us-gaap:CommonStockMember2023-12-310001351636us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001351636us-gaap:FairValueInputsLevel3Member2022-01-310001351636us-gaap:RevolvingCreditFacilityMemberssti:UmpquaCreditAgreementMember2020-08-310001351636ssti:AcquiredSoftwareTechnologyMember2023-12-310001351636us-gaap:RestrictedStockUnitsRSUMember2024-03-310001351636ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember2024-01-012024-03-310001351636us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-03-310001351636country:BS2023-01-012023-03-310001351636us-gaap:SellingAndMarketingExpenseMember2023-01-012023-03-310001351636us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-03-310001351636us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001351636us-gaap:AdditionalPaidInCapitalMember2023-12-310001351636ssti:TwoThousandSeventeenEquityIncentivePlanMember2023-01-012023-12-310001351636us-gaap:CommonStockMember2023-01-012023-03-310001351636country:US2023-01-012023-03-310001351636ssti:SoundthinkingMember2023-01-012023-03-310001351636ssti:UmpquaCreditAgreementMember2024-01-012024-03-310001351636ssti:LetterOfCreditSubfacilityMemberssti:UmpquaCreditAgreementMember2022-11-230001351636us-gaap:RetainedEarningsMember2022-12-310001351636us-gaap:FairValueInputsLevel3Member2023-08-310001351636us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001351636us-gaap:TechnologyBasedIntangibleAssetsMemberssti:SafepointeLLCMember2024-03-310001351636us-gaap:CustomerConcentrationRiskMemberssti:CustomerOneMemberus-gaap:SalesRevenueNetMember2023-01-012023-03-310001351636ssti:UnvestedRestrictedStockUnitsMember2024-01-012024-03-310001351636us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-03-310001351636us-gaap:CreditConcentrationRiskMembercountry:US2024-01-012024-03-310001351636us-gaap:FairValueInputsLevel3Memberus-gaap:OtherNoncurrentLiabilitiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001351636ssti:TwoThousandSeventeenEquityIncentivePlanMember2017-01-012017-12-310001351636us-gaap:EmployeeStockOptionMember2024-01-012024-03-310001351636us-gaap:RevolvingCreditFacilityMemberssti:UmpquaCreditAgreementMember2018-09-2700013516362024-05-0800013516362023-01-012023-03-310001351636us-gaap:CommonStockMember2024-01-012024-03-310001351636us-gaap:CustomerConcentrationRiskMemberssti:CustomerTwoMemberus-gaap:SalesRevenueNetMember2023-01-012023-03-310001351636us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMemberssti:CustomerTwoMember2023-01-012023-12-310001351636ssti:SafepointeLLCMemberus-gaap:IndemnificationGuaranteeMember2023-07-012023-09-300001351636ssti:SubscriptionMaintenanceAndSupportServicesMember2023-01-012023-03-310001351636us-gaap:RevolvingCreditFacilityMemberssti:UmpquaCreditAgreementMember2022-11-232022-11-230001351636ssti:ProfessionalSoftwareDevelopmentServicesMember2023-01-012023-03-310001351636us-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMember2024-01-012024-03-310001351636us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310001351636ssti:SafepointeLLCMemberus-gaap:TradeNamesMember2024-03-310001351636us-gaap:RetainedEarningsMember2023-03-310001351636us-gaap:CreditConcentrationRiskMemberssti:DomesticFinancialInstitutionOneMember2024-03-310001351636us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-03-310001351636ssti:SafepointeLLCMemberus-gaap:ComputerSoftwareIntangibleAssetMember2023-09-300001351636us-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMember2023-01-012023-03-3100013516362024-03-310001351636us-gaap:CreditConcentrationRiskMemberus-gaap:NonUsMember2024-01-012024-03-310001351636us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2023-01-012023-12-310001351636us-gaap:RetainedEarningsMember2024-01-012024-03-3100013516362022-12-310001351636us-gaap:RevolvingCreditFacilityMemberssti:UmpquaCreditAgreementMember2024-03-310001351636us-gaap:SellingAndMarketingExpenseMember2024-01-012024-03-310001351636ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember2024-03-310001351636country:US2024-01-012024-03-310001351636ssti:SafepointeLLCMemberus-gaap:CustomerRelationshipsMember2024-03-310001351636us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001351636ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember2024-01-012024-01-010001351636us-gaap:RevolvingCreditFacilityMemberssti:UmpquaCreditAgreementMember2024-01-012024-03-3100013516362024-04-012024-03-310001351636us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMemberssti:CustomerOneMember2023-01-012023-12-310001351636country:UY2024-01-012024-03-310001351636us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2024-01-012024-03-310001351636us-gaap:CustomerRelationshipsMember2023-12-310001351636ssti:UmpquaCreditAgreementMember2024-03-310001351636us-gaap:RevolvingCreditFacilityMemberssti:UmpquaCreditAgreementMember2022-11-230001351636ssti:TwoThousandSeventeenEquityIncentivePlanMember2017-05-012017-05-310001351636srt:MinimumMember2024-01-012024-03-310001351636ssti:SafepointeLLCMember2023-01-012023-12-310001351636us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001351636ssti:RecognitionFromNewBillingsOfDeferredRevenueMember2024-01-012024-03-310001351636ssti:SafepointeLLCMember2023-09-300001351636ssti:PatentsAndIntellectualPropertyMember2024-03-310001351636us-gaap:AdditionalPaidInCapitalMember2023-03-310001351636us-gaap:TradeNamesMember2024-03-310001351636ssti:ProfessionalSoftwareDevelopmentServicesMember2024-01-012024-03-310001351636ssti:RecognitionFromBeginningDeferredRevenueBalanceMember2023-01-012023-03-310001351636ssti:SafepointeLLCMemberus-gaap:TradeNamesMember2023-09-300001351636ssti:SafepointeLLCMemberus-gaap:CustomerRelationshipsMember2023-09-300001351636us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001351636us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMemberssti:CustomerTwoMember2023-01-012023-03-310001351636ssti:UmpquaCreditAgreementMember2023-09-3000013516362023-03-310001351636us-gaap:FairValueInputsLevel3Memberssti:SafepointeLLCMember2023-08-310001351636us-gaap:CreditConcentrationRiskMemberssti:DomesticFinancialInstitutionTwoMember2024-03-310001351636ssti:MaintenanceSupportAndProfessionalSoftwareDevelopmentServicesMember2024-01-012024-03-310001351636us-gaap:RevolvingCreditFacilityMemberssti:UmpquaCreditAgreementMember2023-12-310001351636us-gaap:CreditConcentrationRiskMemberssti:DomesticFinancialInstitutionThreeMember2024-03-310001351636country:ZA2024-01-012024-03-3100013516362023-12-310001351636ssti:UnvestedRestrictedStockUnitsMember2023-01-012023-03-3100013516362026-01-012024-03-310001351636ssti:SafepointeLLCMember2023-07-012023-09-3000013516362024-01-012024-03-31iso4217:USDxbrli:sharesxbrli:puressti:Universitiesssti:Financialinstitutionxbrli:sharesssti:Customersssti:Agenciesssti:Cityssti:Subsidiaryiso4217:USDssti:Customer

 

 

 

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, DC 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-38107

 

SoundThinking, Inc.

(Exact Name of Registrant as Specified in its Charter)

 

 

Delaware

47-0949915

(State or other jurisdiction of

incorporation or organization)

(I.R.S. Employer
Identification No.)

39300 Civic Center Dr., Suite 300

Fremont, California

94538

(Address of principal executive offices)

(Zip Code)

Registrant’s telephone number, including area code: (510) 794-3100

 

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

 

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

 

 

 

Common stock, par value $0.005 per share

SSTI

The Nasdaq Capital Market

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, 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 filer

Accelerated filer

Non-accelerated filer

Smaller reporting company

Emerging growth company

 

 

 

 

 

 

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. ☐

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

As of May 8, 2024 the registrant had 12,793,456 shares of common stock, $0.005 par value per share, outstanding.

 

 

 


 

Table of Contents

 

Page

PART I.

FINANCIAL INFORMATION

 

Item 1.

Condensed Consolidated Financial Statements

2

Condensed Consolidated Balance Sheets

2

Condensed Consolidated Statements of Operations

3

Condensed Consolidated Statements of Comprehensive Loss

4

 

Condensed Consolidated Statements of Stockholders’ Equity

5

Condensed Consolidated Statements of Cash Flows

6

Notes to Condensed Consolidated Financial Statements

7

Item 2.

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

17

Item 3.

Qualitative and Quantitative Disclosures About Market Risk

27

Item 4.

Controls and Procedures

27

PART II.

OTHER INFORMATION

 

Item 1

Legal Proceedings

28

Item 1A.

Risk Factors

28

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

57

Item 6.

Exhibits

57

Exhibit Index

58

Signatures

59

 

 

 

1


 

PART I. FINANCIAL INFORMATION

Item 1. Condensed Consolidated Financial Statements

SoundThinking, Inc.

Condensed Consolidated Balance Sheets

(In thousands, except share and per share data)

 

 

 

March 31,

 

 

December 31,

 

 

 

2024

 

 

2023

 

 

 

(unaudited)

 

 

 

 

Assets

 

 

 

 

 

 

Current assets

 

 

 

 

 

 

Cash and cash equivalents

 

$

8,524

 

 

$

5,703

 

Accounts receivable and contract assets, net

 

 

35,201

 

 

 

30,700

 

Prepaid expenses and other current assets

 

 

3,507

 

 

 

3,902

 

Total current assets

 

 

47,232

 

 

 

40,305

 

Property and equipment, net

 

 

21,429

 

 

 

21,028

 

Operating lease right-of-use assets

 

 

2,078

 

 

 

2,315

 

Goodwill

 

 

34,213

 

 

 

34,213

 

Intangible assets, net

 

 

35,995

 

 

 

36,938

 

Other assets

 

 

4,025

 

 

 

3,909

 

Total assets

 

$

144,972

 

 

$

138,708

 

Liabilities and Stockholders' Equity

 

 

 

 

 

 

Current liabilities

 

 

 

 

 

 

Accounts payable

 

$

2,260

 

 

$

3,031

 

Accrued expenses and other current liabilities

 

 

7,101

 

 

 

8,521

 

Line of credit

 

 

7,000

 

 

 

7,000

 

Deferred revenue, short-term

 

 

44,817

 

 

 

41,265

 

Total current liabilities

 

 

61,178

 

 

 

59,817

 

Deferred revenue, long-term

 

 

5,935

 

 

 

812

 

Deferred tax liability

 

 

1,267

 

 

 

1,226

 

Other liabilities

 

 

1,833

 

 

 

2,096

 

Total liabilities

 

 

70,213

 

 

 

63,951

 

Commitments and contingencies (Note 13)

 

 

 

 

 

 

Stockholders' equity

 

 

 

 

 

 

Common stock: $0.005 par value; 500,000,000 shares authorized;
12,793,168 and 12,761,448 shares issued and outstanding as of March 31, 2024 and December 31, 2023, respectively

 

 

64

 

 

 

64

 

Additional paid-in capital

 

 

173,066

 

 

 

170,139

 

Accumulated deficit

 

 

(98,027

)

 

 

(95,118

)

Accumulated other comprehensive loss

 

 

(344

)

 

 

(328

)

Total stockholders' equity

 

 

74,759

 

 

 

74,757

 

Total liabilities and stockholders' equity

 

$

144,972

 

 

$

138,708

 

 

See accompanying notes to condensed consolidated financial statements.

2


 

SoundThinking, Inc.

Condensed Consolidated Statements of Operations

(In thousands, except share and per share data)

(Unaudited)

 

 

 

Three Months Ended March 31,

 

 

 

 

2024

 

 

2023

 

 

Revenues

 

$

25,410

 

 

$

20,620

 

 

Costs

 

 

 

 

 

 

 

Cost of revenues

 

 

10,271

 

 

 

9,243

 

 

Impairment of property and equipment

 

 

252

 

 

 

72

 

 

Total costs

 

 

10,523

 

 

 

9,315

 

 

Gross profit

 

 

14,887

 

 

 

11,305

 

 

 

 

 

 

 

 

 

Operating expenses

 

 

 

 

 

 

 

Sales and marketing

 

 

7,112

 

 

 

5,848

 

 

Research and development

 

 

3,560

 

 

 

2,653

 

 

General and administrative

 

 

6,830

 

 

 

4,616

 

 

Change in fair value of contingent consideration

 

 

 

 

 

(6

)

 

Total operating expenses

 

 

17,502

 

 

 

13,111

 

 

Operating loss

 

 

(2,615

)

 

 

(1,806

)

 

Other income (expense), net

 

 

 

 

 

Interest income (expense), net

 

 

(122

)

 

 

54

 

 

Other expense, net

 

 

(58

)

 

 

(38

)

 

Total other income (expense), net

 

 

(180

)

 

 

16

 

 

Loss before income taxes

 

 

(2,795

)

 

 

(1,790

)

 

Provision for income taxes

 

 

114

 

 

 

 

 

Net loss

 

$

(2,909

)

 

$

(1,790

)

 

Net loss per share, basic and diluted

 

$

(0.23

)

 

$

(0.15

)

 

Weighted-average shares used in computing net loss per share, basic and diluted

 

 

12,770,988

 

 

 

12,252,517

 

 

 

See accompanying notes to condensed consolidated financial statements.

3


 

SoundThinking, Inc.

Condensed Consolidated Statements of Comprehensive Loss

(In thousands)

(Unaudited)

 

 

 

Three Months Ended March 31,

 

 

 

2024

 

 

2023

 

Net loss

 

$

(2,909

)

 

$

(1,790

)

Other comprehensive loss:

 

 

 

 

 

 

Change in foreign currency translation adjustment, net of taxes

 

 

(16

)

 

 

(17

)

Comprehensive loss

 

$

(2,925

)

 

$

(1,807

)

 

See accompanying notes to condensed consolidated financial statements.

 

4


 

SoundThinking, Inc.

Condensed Consolidated Statements of Stockholders’ Equity

(In thousands, except share data)

(Unaudited)

 

 

 

Common Stock

 

 

Additional
Paid-in

 

 

Accumulated

 

 

Accumulated
Other
Comprehensive

 

 

Total
Stockholders'

 

 

 

Shares

 

 

Par Value

 

 

Capital

 

 

Deficit

 

 

Loss

 

 

Equity

 

Balance at January 1, 2024

 

 

12,761,448

 

 

$

64

 

 

$

170,139

 

 

$

(95,118

)

 

$

(328

)

 

$

74,757

 

Issuance of common stock from RSUs vested

 

 

31,720

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Stock-based compensation

 

 

 

 

 

 

 

 

2,927

 

 

 

 

 

 

 

 

 

2,927

 

Foreign currency translation loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(16

)

 

 

(16

)

Net loss

 

 

 

 

 

 

 

 

 

 

 

(2,909

)

 

 

 

 

 

(2,909

)

Balance at March 31, 2024

 

 

12,793,168

 

 

$

64

 

 

$

173,066

 

 

$

(98,027

)

 

$

(344

)

 

$

74,759

 

 

 

 

Common Stock

 

 

Additional
Paid-in

 

 

Accumulated

 

 

Accumulated
Other
Comprehensive

 

 

Total
Stockholders'

 

 

 

Shares

 

 

Par Value

 

 

Capital

 

 

Deficit

 

 

Loss

 

 

Equity

 

Balance at January 1, 2023

 

 

12,243,929

 

 

$

62

 

 

$

153,573

 

 

$

(92,400

)

 

$

(290

)

 

$

60,945

 

Exercise of stock options

 

 

10,063

 

 

 

 

 

 

127

 

 

 

 

 

 

 

 

 

127

 

Repurchase of common stock

 

 

(35,369

)

 

 

 

 

 

(1,256

)

 

 

 

 

 

 

 

 

(1,256

)

Issuance of common stock from RSUs vested

 

 

25,157

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Stock-based compensation

 

 

 

 

 

 

 

 

2,220

 

 

 

 

 

 

 

 

 

2,220

 

Foreign currency translation loss

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(17

)

 

 

(17

)

Net loss

 

 

 

 

 

 

 

 

 

 

 

(1,790

)

 

 

 

 

 

(1,790

)

Balance at March 31, 2023

 

 

12,243,780

 

 

$

62

 

 

$

154,664

 

 

$

(94,190

)

 

$

(307

)

 

$

60,229

 

 

See accompanying notes to condensed consolidated financial statements.

5


 

SoundThinking, Inc.

Condensed Consolidated Statements of Cash Flows

(In thousands)

(Unaudited)

 

 

 

Three Months Ended March 31,

 

 

 

2024

 

 

2023

 

Cash flows from operating activities:

 

 

 

 

 

 

Net loss

 

$

(2,909

)

 

$

(1,790

)

Adjustments to reconcile net loss to net cash provided by (used in ) operating activities:

 

 

 

 

 

 

Depreciation of property and equipment

 

 

1,573

 

 

 

1,771

 

Amortization of intangible assets

 

 

965

 

 

 

661

 

Impairment of property and equipment

 

 

252

 

 

 

72

 

Stock-based compensation

 

 

2,927

 

 

 

2,220

 

Change in fair value of contingent consideration

 

 

 

 

 

(6

)

Deferred taxes

 

 

41

 

 

 

 

Allowance for credit losses

 

 

126

 

 

 

25

 

Changes in operating assets and liabilities:

 

 

 

 

 

 

Accounts receivable and contract assets

 

 

(4,627

)

 

 

4,211

 

Prepaid expenses and other assets

 

 

278

 

 

 

(486

)

Accounts payable

 

 

(886

)

 

 

219

 

Accrued expenses and other liabilities

 

 

(1,438

)

 

 

(1,834

)

Deferred revenue

 

 

8,675

 

 

 

(6,261

)

Net cash provided by (used in) operating activities

 

 

4,977

 

 

 

(1,198

)

Cash flows from investing activities:

 

 

 

 

 

 

Purchase of property and equipment

 

 

(2,134

)

 

 

(1,537

)

Investment in intangible and other assets

 

 

(6

)

 

 

(23

)

Net cash used in investing activities

 

 

(2,140

)

 

 

(1,560

)

Cash flows from financing activities:

 

 

 

 

 

 

Payment of contingent consideration liability

 

 

 

 

 

(1,500

)

Proceeds from line of credit

 

 

3,000

 

 

 

 

Proceeds from exercise of stock options

 

 

 

 

 

127

 

Repurchases of common stock

 

 

 

 

 

(1,256

)

Payment of line of credit

 

 

(3,000

)

 

 

 

Net cash used in financing activities

 

 

 

 

 

(2,629

)

Change in cash, cash equivalents and restricted cash

 

 

2,837

 

 

 

(5,387

)

Effect of exchange rate on cash and cash equivalents

 

 

(16

)

 

 

(17

)

Cash, cash equivalents and restricted cash at beginning of year

 

 

5,703

 

 

 

10,479

 

Cash, cash equivalents and restricted cash at end of period

 

$

8,524

 

 

$

5,075

 

 

 

 

 

 

 

 

Supplemental cash flow disclosures:

 

 

 

 

 

 

Property and equipment purchases included in accounts payable

 

$

584

 

 

$

1,074

 

 

See accompanying notes to condensed consolidated financial statements.

6


 

SoundThinking, Inc.

Notes to Condensed Consolidated Financial Statements

Note 1. Organization and Description of Business

 

SoundThinking, Inc. (the “Company”) brings the power of digital transformation to law enforcement and security personnel by providing precision-policing and security solutions, combining data-driven solutions and strategic advisory services for law enforcement and civic leadership. As of March 31, 2024, the Company had approximately 250 customers and to date have worked with approximately 2,100 agencies to help drive more efficient, effective, and equitable public safety outcomes.

In April 2023, the Company introduced its SafetySmart™ platform that includes five data-driven tools consisting of (i) its flagship product, ShotSpotter® (formerly ShotSpotter Respond), the leading outdoor gunshot detection, location and alerting system trusted by 171 cities and 18 universities and corporations as of March 31, 2024, (ii) CrimeTracer™ (formerly COPLINK X), a leading law enforcement search engine that enables investigators to search through more than one billion criminal justice records across jurisdictions to generate tactical leads and quickly make intelligent connections to solve crimes, (iii) CaseBuilder™ (formerly ShotSpotter Investigate), a one-stop investigative management system for tracking, reporting, and collaborating on cases, (iv) ResourceRouter™ (formerly ShotSpotter Connect) that directs the deployment of patrol and community anti-violence resources in an objective way to help maximize the impact of limited resources and improve community safety, and (v) SafePointe™, an AI-based weapons detection system that the Company added when it acquired SafePointe, LLC (“SafePointe”) in August 2023. The Company offers its solutions on a software-as-a-service subscription model to its customers.

ShotSpotter for Highways, ShotSpotter for Campus and ShotSpotter for Corporate, are typically smaller-scale deployments of ShotSpotter vertically marketed to universities, corporate campuses, highways, and key infrastructure centers to mitigate risk and enhance security by notifying authorities of outdoor gunfire incidents, saving critical minutes for first responders to arrive. In 2019, the Company created a technology innovation unit, SoundThinking Labs, to expand its efforts supporting innovative uses of its technology to help protect wildlife and the environment. Additionally, the Company provides maintenance and support services and professional software development services to two customers, through sales channel intermediaries.

The Company’s principal executive offices are located in Fremont, California. The Company has six wholly-owned subsidiaries.

Note 2. Summary of Significant Accounting Policies

Basis of Presentation

The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (“U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.

The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 (“Annual Report”) filed with the SEC on April 1, 2024.

In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive loss, stockholders’ equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2024 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.

7


 

Use of Estimates

The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. In particular, the Company's contingent consideration liabilities are subject to significant estimates surrounding forecasts of certain revenues and other factors. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company’s financial position and results of operations.

The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.

Concentrations of Risk

Credit Risk – Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its deposits of cash and cash equivalents at three domestic and four international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation ("FDIC") and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents. As of March 31, 2024, the Company had approximately $7.6 million, $0.3 million and $27,000, deposited with the Company's three domestic financial institutions, for which only $250,000 per bank is insured under FDIC limits.

Concentration of Accounts Receivable and Contract Assets – At March 31, 2024, two customers accounted for 25% and 21% of the Company’s total accounts receivable and contract assets, net. At December 31, 2023, two customers accounted for 24% and 10%, respectively, of the Company’s total accounts receivable and contract assets, net.

Concentration of Revenues – For the three months ended March 31, 2024, two customers accounted for 26% and 10% of the Company’s total revenues. For the three months ended March 31, 2023, two customers accounted for 27% and 10% of the Company’s total revenues.

Concentration of Suppliers The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company’s proprietary sensors.

During the three months ended March 31, 2024, there were no changes to the Company’s significant accounting policies described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023, except as follows:

Recent Accounting Pronouncements Not Yet Effective

Improvements to Income Tax Disclosures

In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2023-09, Improvements to Income Tax Disclosures (“ASU 2023-09”). ASU 2023-09 enhances the transparency of income tax disclosures, primarily by requiring public business entities to disclose on an annual basis, specific categories in the rate reconciliation tabular presentation, as well as by providing additional information for reconciling items that meet a quantitative threshold. The ASU also requires disaggregated disclosures of federal, state and foreign income taxes

8


 

paid. The new guidance is effective for fiscal years beginning after December 15, 2024. The Company does not expect implementation of the new guidance to have a material impact on its condensed consolidated financial statements.

Improvements to Reportable Segment Disclosures

In November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which enhances prior reportable segment disclosure requirements in part by requiring entities to disclose significant expenses related to their reportable segments. The guidance also requires disclosure of the Chief Operating Decision Maker's (“CODM”) position for each segment and detail of how the CODM uses financial reporting to assess their segment’s performance. The new guidance is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company does not expect implementation of the new guidance to have a material impact on its consolidated financial statements.

 

Note 3. Revenue Related Disclosures

The changes in deferred revenue were as follows (in thousands):

 

March 31,

 

 

2024

 

 

2023

 

Beginning balance

$

42,077

 

 

$

43,721

 

   New billings

 

33,242

 

 

 

14,149

 

   Revenue recognized during the year from beginning balance

 

(14,347

)

 

 

(14,987

)

   Revenue recognized during the year from new billings

 

(10,220

)

 

 

(5,429

)

   Foreign currency impact

 

 

 

 

5

 

Ending balance

$

50,752

 

 

$

37,459

 

The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2024 (in thousands):

Remainder of 2024

 

 

$

59,125

 

2025

 

 

 

33,158

 

2026

 

 

 

16,135

 

Thereafter

 

 

 

5,340

 

Total

 

 

$

113,758

 

The timing of certain revenue recognition included in the table above is based on estimates of go-live dates for contracts not yet live. Contractually committed revenue includes deferred revenue as of March 31, 2024 and amounts under contract that will be invoiced after March 31, 2024.

During the three months ended March 31, 2024, the Company recognized revenues of $24.8 million from customers in the United States, and $0.6 million from customers in the Bahamas, South Africa and Uruguay. During the three months ended March 31, 2023, the Company recognized revenues of $20.2 million from customers in the United States, and $0.4 million from customers in the Bahamas and South Africa.

During the three months ended March 31, 2024, the Company recognized revenues of $25.3 million from monthly subscription, maintenance and support services, and $0.1 million from professional software development services. During the three months ended March 31, 2023, the Company recognized revenues of $19.5 million from monthly subscription, maintenance and support services, and $1.1 million from professional software development services.

 

9


 

Note 4. Acquisitions

SafePointe, LLC

During the third quarter of 2023, the Company completed the acquisition of 100% of the membership interests in SafePointe for purchase consideration of $11.4 million in cash, subject to working capital adjustments, of which $1.1 million is indemnification escrow cash, and $11.2 million in the form of 549,579 shares of the Company's common stock based on the closing price on the date of acquisition, of which $1.1 million is indemnification escrow stock. The purchase consideration also included a contingent earnout payable based on SafePointe’s revenues generated during 2023 through 2025. The Company borrowed $7.0 million under the Umpqua Credit Agreement (See Note 12, Financing Arrangements) to partially fund the purchase consideration. The acquisition date fair value of the contingent earnout was $3.0 million, resulting in a total purchase consideration of $25.6 million. Up to $11.5 million in earnout would be payable based on SafePointe’s revenues generated during the remainder of 2023 and during the years ended December 31, 2024 and 2025. The SafePointe acquisition was accounted for as a business acquisition in accordance with ASC 805, Business Combinations. The acquisition allows the Company to enter the AI-based weapons detection market.

The following table summarizes the assignment of fair value to the identified assets and liabilities recorded as of the acquisition date (in thousands):

Cash and cash equivalents

 

 

$

394

 

Accounts receivable and contract assets

 

 

 

370

 

Property and equipment, net

 

 

 

717

 

Customer relationships

 

 

 

2,500

 

Software technology

 

 

 

9,200

 

Tradename

 

 

 

1,100

 

Goodwill

 

 

 

11,242

 

Other assets

 

 

 

101

 

Accrued expenses and other current liabilities

 

 

 

(52

)

Deferred revenue

 

 

 

(581

)

Net assets acquired

 

 

 

24,991

 

Escrow claim

 

 

 

581

 

Total estimated consideration

 

 

$

25,572

 

 

 

 

 

 

The goodwill recognized was primarily attributed to increased synergies that are expected to be achieved from the integration of SafePointe and primarily represents the value of cash flows from future customers and the employee workforce. The Company expects to deduct the amortization of goodwill and intangible assets for tax purposes. A portion of the amortization deduction will commence upon settlement of contingent consideration liabilities. The Company valued the intangible assets using income-based approaches. Significant assumptions included forecasts of revenues, cost of revenues, research and development expense, sales and marketing expense, general and administrative expense, technology lives, royalty rates, working capital rates, customer attrition rates and other estimates. The Company discounted the cash flows at 20.9%, reflecting the risk profile of the assets.

The Company will amortize the acquired customer relationships for 12 years, the acquired software technology for 11 years and the acquired tradename for nine years.

There were no acquisition-related expenses during the three months ended March 31, 2024 and 2023, respectively.

The unaudited pro forma combined revenue and net loss presented below have been prepared as if the Company had acquired SafePointe on January 1, 2023 and is for informational purposes only and is not necessarily indicative of the results of operations that would have been achieved if the acquisition had taken place on January 1, 2023. The unaudited pro forma financial information has been derived from the consolidated statements of operations of the Company and SafePointe for the below period. The historical financial information has been adjusted in the unaudited combined pro forma information based upon currently available information and certain estimates and assumptions. The actual effect of the transactions ultimately may differ from the pro forma adjustments included herein. However, management believes that the assumptions used to prepare the pro forma adjustments provide a reasonable basis for presenting the significant effects of the transactions as currently contemplated and that the pro forma adjustments are factually supportable, give

10


 

appropriate effect to the expected impact of events that are directly attributable to the transactions, and reflect those items expected to have a continuing impact on the Company.

The unaudited pro forma combined revenue and net loss for the three months ended March 31, 2023 would have been $21.0 million and $2.4 million, respectively.

 

Note 5. Fair Value Measurements

In November 2020, the Company estimated the fair value of the contingent consideration liability associated with its acquisition of LEEDS, LLC (“LEEDS”). This fair value measurement was classified as Level III within the fair value hierarchy as prescribed by Accounting Standards Codification 820-10-35-37 ("ASC 820, Fair Value Measurement"). In May 2023, the Company renamed LEEDS to Technologic Solutions, LLC (“Technologic”). During the first quarter of 2023, the Company paid the $1.5 million Technologic contingent consideration balance, in full settlement of its obligations under the purchase agreement.

In January 2022, the Company estimated the fair value of the contingent consideration liability associated with its acquisition of Forensic Logic to be $12.4 million as of the acquisition date, using a Monte Carlo simulation approach with asset and revenue volatility of 60.0% and 28.0%, respectively. This fair value measurement is classified as Level III within the fair value hierarchy as prescribed by ASC 820, Fair Value Measurement. During the three months ended March 31, 2023, the fair value of the contingent consideration was decreased by $0.01 million, based upon adjustments to recorded liabilities as a result of revised 2023 forecasted revenues as of March 31, 2023. As a result of actual revenue recognized in the year ended December 31, 2023, the Company did not pay any amounts under the contingent consideration and no further contingent payments remain.

In August 2023, the Company estimated the fair value of the contingent consideration liability associated with its acquisition of SafePointe to be $3.0 million as of the acquisition date, using a Monte Carlo simulation approach with asset and revenue volatility of 76.1% and 25.8%, respectively. This fair value measurement is classified as Level III within the fair value hierarchy as prescribed by ASC 820, Fair Value Measurement.

The changes in the fair value of contingent consideration liabilities for the three months ended March 31, 2024 and 2023 are as follows (in thousands):

 

 

Three Months Ended March 31,

 

 

 

2024

 

 

2023

 

Beginning balance

 

$

554

 

 

$

4,747

 

Payment of contingent consideration liability

 

 

 

 

 

(1,500

)

Change in fair value of contingent consideration

 

 

 

 

 

(6

)

Ending balance

 

$

554

 

 

$

3,241

 

There were no transfers into or out of Level III during the three months ended March 31, 2024 and 2023. As of March 31, 2024, the SafePointe contingent consideration of approximately $0.6 million is included in other liabilities in the condensed consolidated balance sheet.

Note 6. Goodwill

The change in goodwill is as follows (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Beginning balance

$

34,213

 

 

$

22,971

 

Acquisition of SafePointe (Note 4 - Acquisitions)

 

 

 

 

11,242

 

Ending balance

$

34,213

 

 

$

34,213

 

 

 

 

 

 

 

 

11


 

Note 7. Intangible Assets, Net

Intangible assets consist of the following (in thousands):

 

 

March 31, 2024

 

 

Weighted Average Amortization Period (in years)

Gross

 

 

Accumulated Amortization

 

 

Net

 

Customer relationships

14

$

25,470

 

 

$

(4,927

)

 

$

20,543

 

Acquired software technology

9

 

16,340

 

 

 

(2,627

)

 

 

13,713

 

Patents and intellectual property

4

 

1,988

 

 

 

(1,273

)

 

 

715

 

Tradename

6

 

2,100

 

 

 

(1,076

)

 

 

1,024

 

  Total intangible assets, net

 

$

45,898

 

 

$

(9,903

)

 

$

35,995

 

 

 

 

December 31, 2023

 

 

Weighted Average Amortization Period (in years)

Gross

 

 

Accumulated Amortization

 

 

Net

 

Customer relationships

14

$

25,470

 

 

$

(4,467

)

 

$

21,003

 

Acquired software technology

9

 

16,340

 

 

 

(2,199

)

 

 

14,141

 

Patents

4

 

1,966

 

 

 

(1,227

)

 

 

739

 

Tradename

6

 

2,100

 

 

 

(1,045

)

 

 

1,055

 

  Total intangible assets, net

 

$

45,876

 

 

$

(8,938

)

 

$

36,938

 

Intangible amortization expense was approximately $1.0 million and $0.7 million for the three months ended March 31, 2024 and March 31, 2023, respectively.

The following table presents future intangible asset amortization as of March 31, 2024 (in thousands):

Remainder of 2024

 

 

 

 

 

$

2,857

 

2025

 

 

 

 

 

 

3,818

 

2026

 

 

 

 

 

 

3,801

 

2027

 

 

 

 

 

 

3,801

 

2028

 

 

 

 

 

 

3,736

 

Thereafter

 

 

 

 

 

 

17,982

 

  Total

 

 

 

 

 

$

35,995

 

 

Note 8. Details of Certain Condensed Consolidated Balance Sheet Accounts

Accounts receivable and contract assets, net (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Accounts receivable

$

25,961

 

 

$

24,574

 

Contract assets

 

9,366

 

 

 

6,225

 

Allowance for credit losses

 

(126

)

 

 

(99

)

 

$

35,201

 

 

$

30,700

 

 

12


 

Prepaid expenses and other current assets (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Deferred commissions

$

1,385

 

 

$

1,295

 

Prepaid software and licenses

 

946

 

 

 

1,147

 

Short-term deposits

 

467

 

 

 

406

 

Prepaid insurance

 

399

 

 

 

806

 

Other

 

310

 

 

 

248

 

 

$

3,507

 

 

$

3,902

 

Other assets (long-term) (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Deferred commissions

$

3,275

 

 

$

3,205

 

Escrow claim (Note 4 - Acquisitions)

 

581

 

 

 

581

 

Other

 

169

 

 

 

123

 

 

$

4,025

 

 

$

3,909

 

Accrued expenses and other current liabilities (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Personnel-related accruals

$

4,818

 

 

$

6,500

 

Operating lease liabilities

 

981

 

 

 

964

 

Professional fees

 

371

 

 

 

407

 

Sales/use tax payable

 

125

 

 

 

100

 

State income tax payable

 

201

 

 

 

128

 

Other

 

605

 

 

 

422

 

$

7,101

 

 

$

8,521

 

Other liabilities (long-term) (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Operating lease liabilities

$

1,279

 

 

$

1,542

 

Contingent consideration liability

 

554

 

 

 

554

 

$

1,833

 

 

$

2,096

 

 

 

 

 

 

 

 

Note 9. Related Party Transactions

During the three months ended March 31, 2024, the Company recognized approximately $33 in revenues from SoundThinking Labs projects with charitable organizations that have received donations from one of the Company’s former directors and from one of the Company’s significant stockholders. There were no related party transactions in the three months ended March 31, 2023.

Note 10. Net Income (Loss) per Share

The computation of basic net income (loss) per share is based on the weighted-average number of shares of common stock outstanding during each period. The computation of diluted net income (loss) per share is based on the weighted-average number of shares outstanding during the period plus, when their effect is dilutive, incremental shares consisting of shares subject to stock options, restricted stock units, employee stock purchase plan purchase rights and warrants.

13


 

The following table summarizes the computation of basic and diluted net income (loss) per share (in thousands, except share and per share data):

 

Three Months Ended March 31,

 

 

2024

 

 

2023

 

Numerator:

 

 

 

 

 

Net loss

$

(2,909

)

 

$

(1,790

)

Denominator:

 

 

 

 

 

Weighted-average shares outstanding, basic and diluted

 

12,770,988

 

 

 

12,252,517

 

Net loss per share, basic and diluted

$

(0.23

)

 

$

(0.15

)

The following potentially dilutive shares outstanding at the end of the periods presented were excluded in the calculation of diluted net loss per share as the effect would have been anti-dilutive:

 

March 31,

 

 

2024

 

 

2023

 

Options to purchase common stock

 

1,819,731

 

 

 

1,461,481

 

Unvested restricted stock units

 

1,085,127

 

 

 

337,259

 

Total

 

2,904,858

 

 

 

1,798,740

 

 

Note 11. Equity Incentive Plans

Stock options

A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the "2005 Plan") and 2017 Equity Incentive Plan (the “2017 Plan") during the three months ended March 31, 2024 is as follows:

 

 

Number
of Options
Outstanding

 

 

Weighted
Average
Exercise
Price

 

 

Weighted
Average
Grant Date Fair Value per Option

 

 

Aggregate Intrinsic Value Exercised (in thousands)

 

Outstanding at December 31, 2023

 

 

1,789,431

 

 

$

26.83

 

 

 

 

 

 

 

Granted

 

 

51,667

 

 

$

17.74

 

 

$

10.81

 

 

 

 

Exercised

 

 

 

 

$

 

 

 

 

 

$

 

Canceled

 

 

(21,367

)

 

$

25.86

 

 

 

 

 

 

 

Outstanding at March 31, 2024

 

 

1,819,731

 

 

$

26.59

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Under an “evergreen” provision, the number of shares of common stock reserved for issuance under the 2017 Plan will automatically increase on January 1 of each year, beginning on January 1, 2018 and ending on and including January 1, 2027, by 5% of the total number of shares of the Company's common stock outstanding on December 31 of the preceding calendar year or a lesser number of shares determined by the Board. In accordance with the evergreen provision,

14


 

the number of shares of common stock reserved for issuance under the 2017 Plan was increased on January 1, 2024 by 638,072 shares, which was equal to 5% of the total number of shares of common stock outstanding on December 31, 2023.

Restricted stock units

A summary of restricted stock unit ("RSU") activities under the 2017 Plan during the three months ended March 31, 2024 is as follows:

 

 

Number
of RSUs

 

 

Weighted
Average
Grant Date Fair Value per RSU

 

 

Aggregate Fair Value of RSUs Vested (in thousands)

 

Unvested RSUs at December 31, 2023

 

 

298,361

 

 

$

27.58

 

 

 

 

Granted

 

 

817,408

 

 

$

17.74

 

 

 

 

Vested

 

 

(30,642

)

 

$

29.08

 

 

$

4,897

 

Forfeited

 

 

 

 

$

 

 

 

 

Unvested RSUs at March 31, 2024

 

 

1,085,127

 

 

$

20.18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Performance-based restricted stock units:

During the three months ended March 31, 2024, the Company granted to members of the Company's management team RSU awards with performance-based vesting conditions (“PSUs”), totaling 544,228 shares at a grant date fair value of $17.74 per share, the closing stock price on the grant date. These PSUs vest in one installment on the certification date, which shall occur as soon as administratively practicable following the end of 2026, based on the satisfaction of certain Company performance criteria in 2026, as determined by the Compensation and Human Capital Committee of the Board of Directors of the Company. Compensation expense related to the PSUs is estimated each period based on the fair value of the target stock unit at the grant date and the most probable level of achievement of the performance conditions. Compensation expense related to these awards was approximately $0.1 million for the three months ended March 31, 2024.

2017 Employee Stock Purchase Plan

There were no shares of common stock issued under the 2017 Employee Stock Purchase Plan ("2017 ESPP") during the three months ended March 31, 2024. The 2017 ESPP contains an “evergreen” provision that provides for an automatic annual share increase on January 1 of each year, in an amount equal to the lesser of (1) 2% of the total number of shares of common stock outstanding on December 31st of the preceding calendar year, (2) 150,000 shares or (3) such number of shares as determined by the Board. In accordance with the evergreen provision, the number of shares of common stock reserved for issuance under the 2017 ESPP was increased on January 1, 2024 by 150,000 shares. The number of shares available for grant under the 2017 ESPP was 778,343 as of March 31, 2024.

Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):

 

Three Months Ended March 31,

 

 

2024

 

 

2023

 

Cost of revenues

$

440

 

 

$

474

 

Sales and marketing

 

601

 

 

 

439

 

Research and development

 

302

 

 

 

295

 

General and administrative

 

1,584

 

 

 

1,012

 

Total

$

2,927

 

 

$

2,220

 

 

Note 12. Financing Arrangements

On September 27, 2018, the Company entered into a Credit Agreement with Umpqua Bank (the “Umpqua Credit Agreement”), which allowed the Company to borrow up to $10.0 million under a revolving loan facility (the “Revolving Facility”). On November 23, 2022, the Company entered into a Fifth Amendment to the Umpqua Credit Agreement (the “Amendment”), which amended the terms of the Umpqua Credit Agreement to, among other things, (1) extend the maturity date from November 27, 2022 to October 15, 2024

15


 

, (2) increase the revolving credit commitment from $20.0 million to $25.0 million, (3) increase the letter of credit sub-facility from $6.0 million to $7.5 million, (4) remove the minimum profitability covenants and (5) replace the LIBOR index rate with a Term Secured Overnight Financing Rate index rate. On February 7, 2024, the Company entered into a Sixth Amendment to extend the expiration date to October 15, 2025.

Any amounts outstanding under the letter of credit sub-facility reduce the amount available for the Company to borrow under the Revolving Facility. The available loan facility as of March 31, 2024 and December 31, 2023 was approximately $18.0 million, for both periods. As of March 31, 2024 and December 31, 2023, there was $7.0 million outstanding on the Company's line of credit, which the Company borrowed in August 2023 to partially fund the acquisition of SafePointe. The interest expense recorded for the three months ended March 31, 2024 was $0.1 million, based on a weighted-average interest rate of 7.33%.

Note 13. Commitments and Contingencies

Contingencies

On August 28, 2018, Silvon S. Simmons (the “Plaintiff”) amended a complaint against the City of Rochester, New York and various city employees, filed in the United States District Court, Western District of New York, to add the Company and employees as a defendant. The amended complaint alleges conspiracy to violate the Plaintiff’s civil rights, denial of the right to a fair trial, and malicious prosecution. The Plaintiff claims that the Company colluded with the City of Rochester to fabricate and create gunshot alert evidence to secure Plaintiff’s conviction. On the basis of the allegations, the Plaintiff has petitioned for compensatory and punitive damages and other costs and expenses, including attorney’s fees. The Company believes that the Plaintiff’s claims are without merit and has disputed them vigorously. Following a motion for summary judgment by the Company on September 13, 2023, the court removed the Company as a defendant from the litigation. The Plaintiff then lost its case against the City of Rochester, New York at trial and may appeal.

 

The Company may become subject to legal proceedings, as well as demands and claims that arise in the normal course of business. Such claims, even if not meritorious, could result in the expenditure of significant financial and management resources. The Company makes a provision for a liability relating to legal matters when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. These provisions are reviewed and adjusted to include the impacts of negotiations, estimated settlements, legal rulings, advice of legal counsel, and other information and events pertaining to a particular matter.

An unfavorable outcome on any litigation matters could require payment of substantial damages, or, in connection with any intellectual property infringement claims, could require the Company to pay ongoing royalty payments or could prevent the Company from selling certain of its products. As a result, a settlement of, or an unfavorable outcome on, any of the matters referenced above or other litigation matters could have a material adverse effect on the Company’s business, operating results, financial condition and cash flows.

16


 

Item 2. Management's Discussion and Analysis of Financial Condition and Results of Operations

You should read the following discussion and analysis of our financial condition and results of operations together with our unaudited condensed consolidated financial statements and accompanying notes included in this Quarterly Report on Form 10-Q and the financial statements and accompanying notes and other financial information in the Management’s Discussion and Analysis of Financial Condition and Results of Operations included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023, filed with the Securities and Exchange Commission (“SEC”) on April 1, 2024. This Quarterly Report on Form 10-Q contains “forward-looking statements” within the meaning of Section 27A of the Securities Act of 1933, as amended (the “Securities Act”), and Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). These statements are often identified by the use of words such as “anticipate,” “believe,” “continue,” “could,” “estimate,” “expect,” “intend,” “may,” “plan,” “project,” “will,” “would” or the negative or plural of these words or similar expressions or variations. Such forward-looking statements are subject to a number of risks, uncertainties, assumptions and other factors that could cause actual results and the timing of certain events to differ materially from future results expressed or implied by the forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, those identified herein, those discussed in the section titled “Risk Factors” set forth in Part II, Item 1A of this Quarterly Report on Form 10-Q and in our other SEC filings. You should not rely upon forward-looking statements as predictions of future events. Furthermore, such forward-looking statements speak only as of the date of this report. Except as required by law, we undertake no obligation to update any forward-looking statements to reflect events or circumstances after the date of such statements.

Overview

We are a leading public safety technology company that combines data-driven solutions and strategic advisory services for law enforcement and civic leadership. In April 2023, we introduced our SafetySmartTM platform that includes five data-driven tools consisting of: (i) our flagship product, ShotSpotter® (formerly ShotSpotter Respond), a leading outdoor gunshot detection, location and alerting system trusted by 171 cities and 18 universities and corporations as of March 31, 2024, (ii) CrimeTracer™ (formerly COPLINK X) a leading law enforcement search engine that enables investigators to search through more than one billion criminal justice records from across jurisdictions to generate tactical leads and quickly make intelligent connections to solve cases, (iii) CaseBuilder™ (formerly ShotSpotter Investigate) a one-stop investigative management system for tracking, reporting, and collaborating on cases, (iv) ResourceRouter™ (formerly ShotSpotter Connect), which directs the deployment of patrol and community anti-violence resources in an objective way to help maximize the impact of limited resources and improve community safety, and (v) SafePointe™, an AI-based weapons detection system, that we added when we acquired SafePointe in August 2023. We also offer other security solutions within our flagship product offering ShotSpotter, including ShotSpotter for Highways, ShotSpotter for Campus and ShotSpotter for Corporate that are typically smaller-scale deployments of ShotSpotter vertically marketed to universities, corporate campuses, highways, and key infrastructure centers to mitigate risk and enhance security by notifying authorities of outdoor gunfire incidents, saving critical minutes for first responders to arrive. SoundThinking Labs supports innovative uses of our technology to help protect wildlife and the environment.

Our gunshot detection solutions consist of highly-specialized, cloud-based software integrated with proprietary, internet-enabled sensors designed to detect outdoor gunfire. The speed and accuracy of our gunfire alerts enable law enforcement and security personnel to consistently and quickly respond to shooting events including those unreported through 911, which can increase the chances of apprehending the shooter, providing timely aid to victims, and identifying witnesses before they scatter, as well as aid in evidence collection and serve as an overall deterrent. When a potential gunfire incident is detected by our sensors, our system precisely locates where the incident occurred and applies machine classification combined with human review to analyze and validate the incident. An alert containing a location on a map and critical information about the incident is sent directly to subscribing law enforcement or security personnel through any internet-connected computer and to iPhone or Android mobile devices.

Our software sends gunfire data along with the audio of the triggering sound to our Incident Review Center (“IRC”), where our trained incident review specialists are on duty 24 hours a day, seven days a week, 365 days a year to screen and confirm actual gunfire incidents. Our trained incident review specialists can supplement alerts with additional tactical information, such as the potential presence of multiple shooters or the use of high-capacity weapons. Gunshot incidents reviewed by our IRC result in alerts typically sent within approximately 45 seconds of the receipt of the gunfire incident.

17


 

We offer our solutions on a software-as-a-service subscription model to our customers. We generate annual subscription revenues from the deployment of ShotSpotter on a per-square-mile basis. Our security solutions, ShotSpotter for Highways, ShotSpotter for Campus, and ShotSpotter for Corporate are typically sold on a subscription basis, each with a customized deployment plan. CaseBuilder, ResourceRouter, and CrimeTracer are also sold on a subscription basis generally customized based on the number of sworn officers in a particular city. We generate annual subscription revenues from the deployment of SafePointe on a per-lane basis, a lane being the detection area of an entryway. As of March 31, 2024, we had ShotSpotter, ShotSpotter for Campus, and ShotSpotter for Corporate coverage areas under contract for 1,169 square miles, of which 1,159 square miles had gone live. Coverage areas under contract for ShotSpotter included 171 cities and coverage areas under contract for ShotSpotter for Campus and ShotSpotter for Corporate included 18 campuses/sites across the United States, South Africa and the Bahamas, including some of the largest cities in the United States. As of March 31, 2024, we had 166 SafePointe lanes under contract. Most of our revenues are attributable to customers based in the United States.

While we intend to continue to devote resources to increase sales of our other solutions, we expect that revenues from ShotSpotter will continue to comprise a majority of our revenues for the foreseeable future. SoundThinking Labs projects are generally conducted in coordination with a sponsoring charitable organization and may or may not be revenue-producing. When they are revenue-producing, they will generally be sold on a cost-plus basis. As such, SoundThinking Labs projects will normally produce gross margins significantly lower than most of our other solutions. Additionally, we offer pricing programs for Tier 4 and 5 law enforcement agencies (those with fewer than 100 sworn officers) that allow them to contract for our gunshot detection solutions to cover a footprint of less than three square miles, using standardized coverage parameters, at a discounted annual subscription rate.

Since our founding over 27 years ago, we have been a purpose-led company. We are a mission-driven organization that focuses on improving public safety outcomes. We accomplish this by earning the trust of law enforcement and providing solutions to help them better engage and strengthen the police-community relationships in fulfilling their sworn obligation to equally serve and protect all. Our inspiration comes from our principal founder, Dr. Bob Showen, who believes that the highest and best use of technology is to promote social good. We are committed to developing comprehensive, respectful, and engaged partnerships with law enforcement agencies, elected officials and communities focused on making a positive difference in the world.

We enter into subscription agreements that typically range from one to three years in duration. Substantially all of our sales are to governmental agencies and universities, which often undertake a prolonged contract evaluation process that affects the size or the timing of our sales contracts and may likewise increase our customer acquisition costs.

We rely on a limited number of suppliers and contract manufacturers to produce components of our solutions. We have no long-term contracts with these manufacturers and purchases from them are generally on a purchase order basis. Although we use a limited number of suppliers and contract manufacturers, we believe that we could find alternate suppliers or manufacturers if circumstances required us to do so, in part because a portion of the components required by our solutions are available off the shelf.

We generated revenues of $25.4 million and $20.6 million for the three months ended March 31, 2024 and 2023, respectively, representing an increase of 23%. For the three months ended March 31, 2024 and 2023 revenues from ShotSpotter represented approximately 69%, and 71% of total revenues, respectively. Our two current largest customers, the City of New York and the City of Chicago, each accounted for 26% and 10%, respectively, of our total revenues for the three months ended March 31, 2024. The City of New York and the City of Chicago each accounted for 27% and 10%, respectively, of our total revenues for the three months ended March 31, 2023.

For the three months ended March 31, 2024 and 2023, revenues generated within the United States (including Puerto Rico and the U.S. Virgin Islands) accounted for $24.8 million and $20.2 million, respectively, or 97% and 98% of total revenues, respectively.

We had a net loss of $2.9 million and $1.8 million for the three months ended March 31, 2024 and 2023, respectively. Our accumulated deficit was $98.0 million and $95.1 million at March 31, 2024 and December 31, 2023, respectively.

We have focused on rapidly growing our business and believe that our future growth is dependent on many factors, including our ability to increase our customer base, expand the coverage of our solutions among our existing customers, expand our international presence, increase sales of our other solutions and retain our customers. Our future growth will

18


 

primarily depend on the market acceptance for outdoor gunshot detection solutions. Challenges we face in this regard include our target customers not having access to adequate funding sources, the fact that contracting with government entities can be complex, expensive and time-consuming, the fact that our typical sales cycle is often very long and difficult to estimate accurately, and the fact that negative publicity about our company can and has caused current and potential future customers to evaluate the sales of our solutions more than in the past. We expect international sales cycles to be even longer than our domestic sales cycles. To combat these challenges, we increase awareness of our solutions, invest in new sales and marketing campaigns, often in different languages for international sales, hire additional sales representatives to drive sales to continue to maintain our position as a market leader, and invest in research and development. In addition, we believe that entering into strategic partnerships with other service providers to cities and municipalities offers another potential avenue for expansion.

We will also focus on expanding our business by introducing new products and services to existing customers, such as ResourceRouter, CrimeTracer and as a result of our acquisition in August 2023 of SafePointe, an AI-driven weapon detection system, and acquiring intellectual property assets. We believe that developing and acquiring products for law enforcement in adjacent categories is a path for additional growth. We believe our large and growing installed base of police departments who trust SoundThinking’s products, support, and way of doing business provide revenue growth opportunities. The ability to cross-sell new products provides an opportunity to grow revenues per customer and lifetime value. Challenges we face in this area include ensuring our new products are reliable, integrated well with other SoundThinking solutions, and priced and serviced appropriately. In some cases, we will need to bring in new skill sets to properly develop, market, sell or service these new products depending on the categories they represent.

With respect to international sales, we believe that we have the potential to expand our coverage within existing areas, and to pursue opportunities in Latin America and other regions of the world. By adding additional sales resources in strategic locations, we believe we will be better positioned to reach these markets. However, we recognize that we have limited international operational experience and currently operate in a limited number of regions outside of the United States. Operating successfully in international markets will require significant resources and management attention and will subject us to additional regulatory, economic, and political risks. We may face additional challenges that may delay contract execution related to negotiating with governments in transition, the use of third-party integrations and consultants. Moreover, we anticipate that different political and regulatory considerations that vary across different jurisdictions could extend or make more difficult to predict the length of what is already a lengthy sales cycle.

Net New “Go-Live” Cities and Universities

Net new “go-live” cities and universities represent the number of cities and universities covered by deployments of our gunshot detection ShotSpotter solution that were formally approved by customers during the period, both from initial and expanded customer deployments, net of cities and universities that ceased to be “live” during the period due to customer cancellations. New cities and universities include deployed coverage areas that may have been sold, or booked, in a prior period. We focus on net new “go-live” cities and universities as a key business metric to measure our operational performance and market penetration. Our net new “go-live” cities and universities in the three months ended March 31, 2024 and 2023 were as follows:

 

 

Three Months Ended March 31,

 

 

 

2024

 

 

2023

 

Net new “go-live” cities and universities

 

 

9

 

 

 

6

 

Components of Results of Operations

Presentation of Financial Statements

Our condensed consolidated financial statements include the accounts of our wholly-owned subsidiaries. All significant intercompany balances and transactions have been eliminated in consolidation.

Revenues

We generate annual subscription revenues from the deployment of ShotSpotter on a per-square-mile basis and generate annual subscription revenues from the deployment of SafePointe on a per-lane basis, a lane being the detection area of an entryway. Our security solutions, ShotSpotter for Highways, ShotSpotter for Campus, ShotSpotter for Corporate as well as CaseBuilder are typically sold on a subscription basis, each with a customized deployment plan.

19


 

ResourceRouter, and CrimeTracer are also sold on a subscription basis generally customized based on the number of sworn officers in a particular city.

We derive the majority of our revenues from subscription services. We recognize subscription fees ratably, on a straight-line basis, over the term of the subscription, which for new customers is typically one to three years in length. Customer contracts may include one-time fees for the set-up of our sensors in the customer’s coverage areas, training, and third-party integration licenses. If the set-up fees are deemed to be a material right, they are recognized ratably over three to five years depending on the contract term. Training and third-party integration license fees are recognized upon delivery.

We also generate revenues through sales to two customers through sales channel intermediaries that include enhanced services. One sales channel intermediary contract through our Technologic Solutions subsidiary includes (i) a single on-premise software license for our proprietary software technology and related maintenance and support services and (ii) professional software development services, such as for software development and testing for product feature enhancements, by executing supplementary work orders. The second sales channel intermediary contract includes an enterprise CaseBuilder solution with supplemental professional services to integrate CaseBuilder with the customer's existing systems that will remain in place.

For ShotSpotter sales to cities, we generally invoice customers for 50% of the total contract value when the contract is fully executed and for the remaining 50% when the subscription service is operational and ready to go live – that is, when the customer has acknowledged the completion of all the deliverables in the signed customer acceptance form. For SafePointe, we generally invoice the first year's subscription price when the contract is fully executed. For ShotSpotter for Highways, ShotSpotter for Campus, ShotSpotter for Corporate and CrimeTracer, we generally invoice customers 100% of the total contract value when the subscription service is operational, which is often soon after contract execution. All fees billed in advance of services being delivered are recorded as deferred revenue. The timing of when new miles go live can be uncertain and, as a result, can have a significant impact on the levels of revenues and deferred revenue from quarter to quarter.

We may also offer discounts or other incentives in conjunction with all ShotSpotter sales in an effort to introduce the product, accelerate sales or extend renewals for a longer contract term. As a result of our process for invoicing contracts and renewals upon execution, our cash flow from operations and accounts receivable can fluctuate due to timing of contract execution and timing of deployment.

We generally invoice subscription service renewals for 100% of the total contract value when the renewal contract is executed. Renewal fees are recognized ratably over the term of the renewal, which is typically one year. While most of our customers elect to renew their agreements, in some cases, they may not be able to obtain the proper approvals or funding to complete the renewal prior to expiration. For these customers, we stop recognizing subscription revenues at the end of the current contract term, even though we may continue to provide services for a period of time until the renewal process is completed. Once the renewal is complete, we then recognize subscription revenues for the period between the expiration of the original term of the agreement and the completion of the renewal process in the month in which the renewal is executed. If a customer declines to renew its subscription prior to the end of the contract term, remaining setup fees, if any, are immediately recognized.

We also provide access to CrimeTracer to an intermediary to either be resold or combined with their own materials, software and/or services, to create an integrated solution that is provided to their end-user customers. We recognize this revenue net of margins paid to the intermediary.

It is likely that international deployments may have different payment and billing terms due to their local laws, restrictions or other customary terms and conditions.

SoundThinking Labs projects may or may not be revenue-producing. When they are revenue-producing, they are generally sold on a cost-plus basis.

We anticipate that, due to rising costs of inflation, our customers may experience increased expenditures resulting in budget shortfalls and changes in their business cycle, which may cause delays in their ability to approve proposals for contracts.

20


 

Costs

Costs include the cost of revenues and impairment of property and equipment. Cost of revenues for ShotSpotter solutions primarily includes depreciation expense associated with capitalized customer acoustic sensor networks, communication expenses, costs related to hosting our service applications, costs related to operating our IRC, providing remote and on-site customer support and maintenance and forensic services, providing customer training and onboarding services, certain personnel and related costs of operations, stock-based compensation and allocated overheads that include information technology, facility and equipment depreciation costs. Cost of revenues for our SafePointe solution are similar except that depreciation of the capitalized customer equipment is smaller due to the lower costs of SafePointe customer equipment.

Impairment of property and equipment is primarily attributable to our write-off of the remaining book value of sensor networks related to customers lost.

In the near term, we expect our cost of revenues to increase in absolute dollars as our installed base increases, although certain of our costs of revenues are fixed and do not need to increase commensurate with increases in revenues. In addition, depreciation expense associated with deployed equipment for ShotSpotter and SafePointe is recognized over the first five and three years from the go live date, respectively. We also expect cost of revenues to increase in absolute dollars as we continue to invest in our customer success capabilities to drive growth and value for our customers.

For revenues generated through the sale of a proprietary software license and related maintenance and support services and professional software development services, cost of revenues generally includes employee compensation costs that are relatively fixed, third-party contractor costs, allocated facility costs and overhead, and the costs of billable expenses such as travel and lodging. The unpredictability of the timing of entering into significant professional services agreements may cause significant fluctuations in our costs which, in turn, may impact our quarterly financial results.

The cost of revenues for CrimeTracer, ResourceRouter and CaseBuilder is generally related to employee compensation costs and data center hosting services, both of which are relatively fixed.

Operating Expenses

Operating expenses consist of sales and marketing, research and development, and general and administrative expenses. Consultants, salaries, bonuses, stock-based compensation expense and other personnel costs are the most significant components of each of these expense categories. We include stock-based compensation expense incurred in connection with the grant of stock options and restricted stock units to the applicable operating expense category based on the equity award recipient’s functional area.

We are focused on executing on our growth strategy. As a result, in the near term we expect our total operating expenses to increase in absolute dollars as we incur additional expenses due to growth. Although our operating expenses will fluctuate, we expect that over time, they will generally decrease as a percentage of revenues.

Sales and Marketing

Sales and marketing expenses primarily consist of personnel-related costs attributable to our sales and marketing personnel, commissions, marketing expenses for trade shows and lead generation programs, consulting fees, travel and facility-related costs and allocated overhead.

We expect sales and marketing expenses will increase in the near-term in absolute dollars as we continue to grow our organization and may fluctuate from quarter to quarter based on the timing of commission expense, marketing campaigns and tradeshows.

Research and Development

Research and development expenses primarily consist of personnel-related costs attributable to our research and development personnel, consulting fees and allocated overhead. We have devoted our product development efforts primarily to develop new lower-cost sensor hardware, develop new features, improve functionality of our solutions and adapt to new technologies or changes to existing technologies.

21


 

We are investing in engineering resources to support further development of ResourceRouter, CrimeTracer, CaseBuilder and SafePointe. The focus of this effort will be in the areas of data science modeling, user experience, core application functionality and backend infrastructure improvements, including integration of ShotSpotter gunshot data to enhance forecasting of gun violence.

We are also investing in research and development resources in conjunction with our SoundThinking Labs projects and initiatives. The initial focus of these efforts is to develop innovative sensor applications as well as to test and expand the functionality of our outdoor sensors in challenging environmental conditions.

In the near term, we expect our research and development expenses to increase in absolute dollars and as a percentage of revenues as we increase our research and development headcount to further strengthen our software and invest in the development of our services.

We will continue to invest in research and development to leverage our large and growing database of acoustic events, which includes those from both gunfire and non-gunfire. We also intend to leverage third-party artificial intelligence and our own evolving cognitive and analytical applications to improve the efficiency of our solutions. Certain of these applications and outputs may expand the platform of services that we will be able to offer our customers.

General and Administrative

General and administrative expenses primarily consist of personnel-related costs attributable to our executive, finance, and administrative personnel, legal, litigation, strategic communications, accounting and other professional services fees, and other corporate expenses and allocated overhead.

In the near term, we expect our general and administrative expenses to increase in both absolute dollars and as a percentage of revenues as we grow our business.

Change in Fair Value of Contingent Consideration

Change in fair value of contingent consideration primarily consists of increases or decreases in our contingent consideration liabilities recorded for potential earnouts from certain acquisitions. The changes result from revenue actuals and revised revenue estimates utilized in the fair value methodology to estimate the contingent liability for the earnouts.

Other Income (Expense), Net

Other income (expense), net, consists primarily of interest income, interest expense and local and franchise tax expenses.

Income Taxes

Our income taxes are based on the amount of our income (loss) before tax and enacted federal, state and foreign tax rates, adjusted for allowable credits and deductions, as applicable.

We continually monitor all positive and negative evidence regarding the realization of our deferred tax assets and may record assets when it becomes more likely than not that they will be realized, which may impact the expense or benefit from income taxes.

In assessing the realizability of deferred tax assets, management considers whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. We regularly assess the likelihood that the deferred tax assets will be recovered from future taxable income. We consider projected future taxable income and ongoing tax planning strategies, then record a valuation allowance to reduce the carrying value of the net deferred taxes to an amount that is more likely than not able to be realized. Based upon our assessment of all available evidence, including the previous three years of income before tax after permanent items, estimates of future profitability, and our overall prospects of future business, we have determined that it is more likely than not that we will not be able to realize a portion of the deferred tax assets in the future. We will continue to assess the potential realization of deferred tax assets on an annual basis, or an interim basis if circumstances warrant. If our actual results and updated projections vary significantly from the projections used as a basis for this determination, we may need to change the valuation allowance against the gross deferred tax assets.

22


 

Results of Operations

Comparison of Three Months Ended March 31, 2024 and 2023

The following table sets forth selected condensed consolidated statements of operations data for the three months ended March 31, 2024 and 2023 (in thousands):

 

 

 

 

 

As a % of

 

 

 

 

 

As a % of

 

 

Change

 

 

 

2024

 

 

Revenues

 

 

2023

 

 

Revenues

 

 

$

 

 

%

 

Revenues

 

$

25,410

 

 

 

100

%

 

$

20,620

 

 

 

100

%

 

$

4,790

 

 

 

23

%

Costs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cost of revenues

 

 

10,271

 

 

 

40

%

 

 

9,243

 

 

 

45

%

 

 

1,028

 

 

 

11

%

Impairment of property and equipment

 

 

252

 

 

 

1

%

 

 

72

 

 

 

 

 

 

180

 

 

 

250

%

Total costs

 

 

10,523

 

 

 

41

%

 

 

9,315

 

 

 

45

%

 

 

1,208

 

 

 

13

%

Gross profit

 

 

14,887

 

 

 

59

%

 

 

11,305

 

 

 

55

%

 

 

3,582

 

 

 

32

%

Operating expenses:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sales and marketing

 

 

7,112

 

 

 

28

%

 

 

5,848

 

 

 

28

%

 

 

1,264

 

 

 

22

%

Research and development

 

 

3,560

 

 

 

14

%

 

 

2,653

 

 

 

13

%

 

 

907

 

 

 

34

%

General and administrative

 

 

6,830

 

 

 

27

%

 

 

4,616

 

 

 

22

%

 

 

2,214

 

 

 

48

%

Change in fair value of contingent consideration

 

 

 

 

 

 

 

 

(6

)

 

 

 

 

 

6

 

 

 

(100

%)

Total operating expenses

 

 

17,502

 

 

 

69

%

 

 

13,111

 

 

 

64

%

 

 

4,391

 

 

 

33

%

Operating loss

 

 

(2,615

)

 

 

(10

%)

 

 

(1,806

)

 

 

(9

%)

 

 

(809

)

 

 

45

%

Other income (expense), net

 

 

(180

)

 

 

(1

%)

 

 

16

 

 

 

 

 

 

(196

)

 

 

(1,225

%)

Provision for income taxes

 

 

114

 

 

 

 

 

 

 

 

 

 

 

 

114

 

 

 

 

Net loss

 

$

(2,909

)

 

 

(11

%)

 

$

(1,790

)

 

 

(9

%)

 

$

(1,119

)

 

 

63

%

Revenues

The increase in revenues of $4.8 million was primarily attributable to a $4.2 million increase in revenues from new customers, expansion of existing customer coverage areas, contributions from the SafePointe acquisition and an increase of $0.6 million in professional services revenue. We went live in ten new ShotSpotter cities and one university and expanded in two current cities during the three months ended March 31, 2024.

Costs of Revenues

The increase in cost of revenues of $1.1 million was due primarily to an increase in product costs due to the increase in our customer base and an increase in personnel costs.

Sales and Marketing Expense

Sales and marketing expense increased by $1.3 million, primarily due to salaries, commissions and other personnel costs as a result of increased headcount and increased revenue.

Research and Development Expense

Research and development expense increased by $0.9 million, primarily due to increased headcount.

General and Administrative Expense

General and administrative expense increased by $2.2 million and was due primarily to increased personnel-related costs, legal costs and increases in travel costs, insurance and other costs.

Change in Fair Value of Contingent Consideration

We had no adjustments in the fair value of the contingent consideration liabilities during the three months ended March 31, 2024.

Other Income (Expense), Net

The increase in other expense, net was due to interest expense related to the line of credit balance of $7.0 million.

23


 

Income Taxes

Our income taxes are based on the amount of our taxable income and enacted federal, state and foreign tax rates, adjusted for allowable credits, deductions and the valuations allowance against deferred tax assets, as applicable. A $0.1 million provision for income taxes was recorded in the three months ended March 31, 2024. There was no provision for income taxes in the three months ended March 31, 2023.

Liquidity and Capital Resources

Sources of Funds

Our operations have been financed primarily through net proceeds from the sale of equity, debt financing arrangements and cash from operating activities. Our principal source of liquidity is cash and cash equivalents totaling $8.5 million and accounts receivable of $35.2 million as of March 31, 2024. On March 31, 2024, our available credit facility was approximately $18.0 million and we had $7.0 million outstanding on our line of credit, which was primarily used to fund our acquisition of SafePointe.

We believe our existing cash and cash equivalents, our available credit facility and cash flow from operations will be sufficient to meet our working capital and capital expenditure requirements for at least the next 12 months. We believe that despite our negative working capital, the costs to perform the short-term deferred revenue is relatively low compared to the balance of $44.8 million. However, should additional working capital be needed, we can utilize our unused credit facility. We believe that we will meet longer term expected future working capital and capital expenditure requirements through a combination of cash flows from operating activities, available cash balances and our available credit facility. Our future capital requirements may vary materially from those currently planned and will depend on many factors, including our rate of revenue growth, the timing and extent of spending on sales and marketing, the expansion of sales and marketing activities, the timing of new product introductions, market acceptance of our products and overall economic conditions. We may also seek additional capital to fund our operations, including through the sale of equity or debt financings. To the extent that we raise additional capital through the future sale of equity, the ownership interest of our stockholders will be diluted, and the terms of these securities may include liquidation or other preferences that adversely affect the rights of our existing common stockholders. The incurrence of debt financing would result in debt service obligations and the instruments governing such debt could provide for operating and financing covenants that would restrict our operations. Additionally, there is no guarantee debt or equity financing will be available to us on terms that are favorable to us, or at all.

Use of Funds

Our historical uses of cash have primarily consisted of cash used for operating activities, such as expansion of our sales and marketing operations, research and development activities and other working capital needs, and cash used in investing activities, such as property and equipment expenditures to install infrastructure in customer cities in order to deliver our solutions and acquisitions. Our expected material cash requirements are similar to our historical uses of cash as well as in connection with contingent earnouts, our stock repurchase program and repayment of any outstanding debt obligations under our credit facility, each as described below.

On November 24, 2020, we completed the acquisition of Technologic for a purchase consideration of $21.6 million in cash, subject to working capital adjustments, and the issuance of 63,901 shares of our common stock that were valued at $2.0 million at the time of acquisition. The purchase consideration also included a contingent earnout payable based on revenues generated during the years ended December 31, 2021 and 2022. The $1.5 million contingent earnout for 2022 was earned and paid in March 2023.

24


 

Stock Repurchase Program

In November 2022, we announced that our board of directors had approved a stock repurchase program (the "2022 Repurchase Program") for up to $25.0 million of our common stock. The shares could be repurchased from time to time in open market transactions, in privately negotiated transactions or by other methods in accordance with federal securities laws. The actual timing, number and value of shares repurchased under the program will be determined by management in its discretion and will depend on a number of factors, including the market price of our common stock, general market and economic conditions and applicable legal requirements. The stock repurchase program does not obligate us to purchase any particular amount of common stock and may be suspended or discontinued at any time.

There were no repurchases during the three months ended March 31, 2024. As of March 31, 2024, $19.4 million remains available under the 2022 Repurchase Program.

Credit Facility

In September 2018, we entered into our Umpqua Credit Agreement, initially providing for borrowing capacity of $10.0 million. The agreement was amended in November 2022 to increase the size of our available credit facility to $25.0 million with an expiration date of October 15, 2024. An additional amendment occurred in February 2024 to extend the expiration date to October 15, 2025. The revolving loan facility is for general working capital purposes. Our available credit facility as of March 31, 2024 was $18.0 million. On March 31, 2024 and December 31, 2023, there was $7.0 million outstanding on our line of credit. The Umpqua Credit Agreement subjects us to certain restrictive and financial covenants, see the risk entitled “The incurrence of debt may impact our financial position and subject us to additional financial and operating restrictionsin Part II, Item 1A, Risk Factors, included in this Quarterly Report on Form 10-Q. We are in compliance with all the covenants under the Umpqua Credit Agreement as of March 31, 2024.

Cash Flows

Comparison of Three Months Ended March 31, 2024 and 2023

The following table presents a summary of our cash flows for the three months ended March 31, 2024 and 2023 (in thousands):

 

 

March 31,

 

 

 

2024

 

 

2023

 

Net cash provided by (used in):

 

 

 

 

 

 

Operating activities

 

$

4,977

 

 

$

(1,198

)

Investing activities

 

 

(2,140

)

 

 

(1,560

)

Financing activities

 

 

 

 

 

(2,629

)

Net change in cash and cash equivalents

 

$

2,837

 

 

$

(5,387

)

Operating Activities

Our net loss and cash flows provided by operating activities are significantly influenced by our increase in headcount to support our growth, increase in legal expenses, outside services fees, and sales and marketing expenses, and our ability to bill and collect in a timely manner.

Net cash provided by operating activities increased by $6.2 million during the three months ended March 31, 2024 compared to cash used by operating activities during the same period of 2023. This was primarily due to an increase of $14.9 million in deferred revenue and a $10.8 million increase in accounts receivable collections, offset by a $18.6 million increase in accounts receivable invoicing and a $2.1 million increase in accounts payable payments.

Investing Activities

Our investing activities consist of business acquisition expenditures, capital expenditures to install our solutions in customer coverage areas and purchases of property and equipment.

Investing activities used $2.1 million in the three months ended March 31, 2024. This was primarily driven by investments in property and equipment installed for our solutions in customer coverage areas. Investing activities used $1.6 million in the three months ended March 31, 2023, for investments in installed property and equipment.

25


 

Financing Activities

Financing activities includes net proceeds from the exercise of stock options, proceeds from the employee stock purchase plan purchases and proceeds from our line of credit, offset by payments for repurchases of our common stock and contingent consideration liabilities earned and repayments on our line of credit.

Financing activities in the three months ended March 31, 2024 reflect a draw down and repayment of $3.0 million on our line of credit. Financing activities used $2.6 million in the three months ended March 31, 2023. This was driven by the payout of $1.5 million in contingent consideration relating to our Technologic acquisition and $1.2 million in payments for repurchases of our common stock, offset by $0.1 million in proceeds from the exercise of stock options.

Critical Accounting Estimates

Our condensed consolidated financial statements are prepared in accordance with generally accepted accounting principles in the United States of America. The preparation of our condensed consolidated financial statements requires us to make estimates, assumptions and judgments that affect the reported amounts of revenues, assets, liabilities, costs and expenses. We base our estimates and assumptions on historical experience and other factors that we believe to be reasonable under the circumstances and evaluate our estimates and assumptions on an ongoing basis. Our actual results may differ from these estimates.

Our critical accounting estimates are described under the heading “Management’s Discussion and Analysis of Financial Condition and Results of Operations—Critical Accounting Estimates” in our 2023 Annual Report on Form 10-K and the notes to the audited consolidated financial statements appearing in our 2023 Annual Report on Form 10-K, filed with the SEC on April 1, 2024. As of March 31, 2024, there have been no material changes to our critical accounting policies and estimates from those disclosed in our 2023 Annual Report on Form 10-K.

Recently Issued Accounting Pronouncements

See Note 2, Summary of Significant Accounting Policies, in the notes to our condensed, consolidated financial statements included in this Quarterly Report on Form 10-Q.

26


 

Item 3. Qualitative and Quantitative Disclosures about Market Risk

Market risk represents the risk of loss that may impact our financial position due to adverse changes in financial market prices and rates. Our market risk exposure is primarily the result of fluctuations in interest rates and foreign exchange rates and inflation.

There were no material changes in our market risk during the three months ended March 31, 2024, compared to the market risk disclosed in the Qualitative and Quantitative Disclosures About Market Risk section of our 2023 Annual Report on Form 10-K.

Item 4. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Our management has evaluated, under the supervision and with the participation of our Chief Executive Officer and Chief Financial Officer, the effectiveness of our disclosure controls and procedures (as defined in Rules 13-a-15(e) and 15d-15(e)) under the Exchange Act as of the end of the period covered by this report. Based on this evaluation, our Chief Executive Officer and Chief Financial Officer have concluded that as of March 31, 2024, our disclosure controls and procedures were effective to provide reasonable assurance that the information we are required to file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms, and that such information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, to allow timely decisions regarding required disclosure.

Changes in Internal Control over Financial Reporting

There were no changes in our internal control over financial reporting (as defined in Exchange Act Rule 13a-15(f)) during the quarter ended March 31, 2024 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

Inherent Limitations on Effectiveness of Controls

Our management, including our principal executive officer and principal financial officer, does not expect that our disclosure controls and procedures or our internal control over financial reporting will prevent or detect all errors and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within the Company have been detected. The design of any system of controls also is based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions. Over time, controls may become inadequate because of changes in conditions, or the degree of compliance with the policies or procedures may deteriorate. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected.

27


 

PART II – OTHER INFORMATION

The information contained under the heading “Commitments and Contingencies” in Note 13 to our condensed consolidated financial statements included in this Quarterly Report on Form 10-Q is incorporated by reference into this Item.

 

Item 1A. Risk Factors

Investing in our common stock involves a high degree of risk. You should consider carefully the risks and uncertainties described below, together with all of the other information in this report, including our consolidated financial statements and related notes, before deciding whether to purchase shares of our common stock. If any of the following risks is realized, our business, operating results, financial condition and prospects could be materially and adversely affected. In that event, the price of our common stock could decline, and you could lose part or all of your investment. Moreover, the risks described below are not the only ones that we face. Additional risks not presently known to us or that we currently deem immaterial may also affect our business, operating results, prospects or financial condition. You should carefully consider these risk factors, together with all of the other information included in this Quarterly Report on Form 10-Q as well as our other publicly available filings with the SEC.

Summary of Risk Factors

 

Investing in our common stock involves risks, including those discussed in this section. These risks include, among others:

If our business does not grow as we expect, or if we fail to manage our growth effectively, our operating results and business prospects would suffer.
Any interruptions or delays in service from our third-party providers could impair our ability to make our solutions available to our customers, resulting in customer dissatisfaction, damage to our reputation, loss of customers, limited growth and reduction in revenue.
If we are unable to sell our solutions into new markets, our revenues may not grow.
Our success depends on maintaining and increasing our sales, which depends on factors we cannot control, including the availability of funding to our customers.
Our quarterly results of operations may fluctuate significantly due to a wide range of factors, which makes our future results difficult to predict.
Because we generally recognize our subscription revenues ratably over the term of our contract with a customer, fluctuations in sales will not be fully reflected in our operating results until future periods.
We have not been profitable in the past and may not achieve or maintain profitability in the future.
We may require additional capital to fund our business and support our growth, and our inability to generate and obtain such capital on acceptable terms, or at all, could harm our business, operating results, financial condition and prospects.
Contracting with government entities can be complex, expensive, and time-consuming.
If we are unable to further penetrate the public safety market, our revenues may not grow.
Our sales cycle can be lengthy, time-consuming and costly, and our inability to successfully complete sales could harm our business.
Changes in the availability of federal funding to support local law enforcement efforts could impact our business.
The failure of our solutions to meet our customers’ expectations could harm our reputation, which may have a material adverse effect on our business, operating results and financial condition.

28


 

Real or perceived false positive gunshot alerts or failure or perceived failure to generate alerts for actual gunfire could adversely affect our customers and their operations, damage our brand and reputation and adversely affect our growth prospects and results of operations.
The nature of our business may result in undesirable press coverage or other negative publicity, which could adversely affect our growth prospects and results of operations.
Economic uncertainties or downturns, or political changes, could limit the availability of funds available to our existing and potential customers, which could materially and adversely affect our business.
The nature of our business exposes us to inherent liability risks.
As a result of our use of outdoor acoustic sensors, we are subject to governmental regulation and other legal obligations, particularly related to data privacy, data protection and information security, and our actual or perceived failure to comply with such obligations could harm our business. Compliance with such laws could impair our efforts to maintain and expand our customer base, and thereby decrease our revenues.
Failure to protect our intellectual property rights could adversely affect our business.
Systems and Organizations Controls 2 (“SOC2”) and Criminal Justice Information Services (“CJIS”) requirements could potentially cause obligations that we are not able to completely perform which could adversely affect our reputation and sales, as well as the availability of our solutions in certain markets.
Cyber-attacks, malicious internet-based activity, online and offline fraud, and other similar activities threaten the confidentiality, integrity, and availability of our sensitive information and information technology systems, and those of the third parties upon which we rely. These attacks could materially disrupt our systems and operations, supply chain, and ability to produce, sell and distribute our goods and services.
Ongoing social unrest may have a material adverse effect on our business, the future magnitude or duration of which we cannot predict with accuracy.

Risks Related to Our Growth

 

If our business does not grow as we expect, or if we fail to manage our growth effectively, our operating results and business prospects would suffer.

 

Our ability to successfully grow our business depends on a number of factors including our ability to:

accelerate our acquisition of new customers;
further sell expansions of coverage areas to our existing customers;
expand our international footprint;
expand into new vertical markets, such as precision policing, and security solutions;
increase awareness of the benefits that our solutions offer;
maintain our competitive and technology leadership position; and
manage our business successfully through macroeconomic pressures, such as inflation, rising interest rates, and past and potential future disruptions in access to bank deposits and lending commitments due to bank failures, and any resulting impact on economic conditions, including conditions impacting the availability of funding for our public safety solution.

As usage of our solutions grows, we will need to continue to make investments to develop and implement new or updated solutions, technologies, security features and cloud-based infrastructure operations. In addition, we will need to appropriately scale our internal business systems and our services organization, including the suppliers of our detection equipment and customer support services, to serve our growing customer base. Any failure of, or delay in, these efforts could impair the performance of our solutions and reduce customer satisfaction.

Further, our growth could increase quickly and place a strain on our managerial, operational, financial and other resources, and our future operating results depend to a large extent on our ability to successfully manage our anticipated expansion and growth. To manage our growth successfully, we will need to continue to invest in sales and marketing, research and development, and general and administrative functions and other areas. We are likely to recognize the costs

29


 

associated with these investments earlier than receiving some of the anticipated benefits, and the return on these investments may be lower, or may develop more slowly, than we expect, which could adversely affect our operating results.

If we are unable to manage our growth effectively, we may not be able to take advantage of market opportunities or develop new solutions or upgrades to our existing solutions, satisfy customer requirements, maintain the quality and security of our solutions or execute on our business plan, any of which could have a material adverse effect on our business, operating results and financial condition.

Our quarterly results of operations may fluctuate significantly due to a wide range of factors, which makes our future results difficult to predict.

 

Our revenues and results of operations could vary significantly from quarter to quarter as a result of various factors, many of which are outside of our control, including:

the expansion or contraction of our customer base;
the renewal or non-renewal of subscription agreements with, and expansion of coverage areas by, existing customers;
the size, timing, terms and deployment schedules of our sales to both existing and new customers;
the introduction of products or services that may compete with us for the limited funds available to our customers, and changes in the cost of such products or services;
changes in our customers’ and potential customers’ budgets;
our ability to control costs, including our operating expenses;
our ability to hire, train and maintain our direct sales force;
the timing of satisfying revenues recognition criteria in connection with initial deployment and renewals;
fluctuations in our effective tax rate;
the concentration of our revenue in a small number of large contracts with the potential for fluctuations and delays; and
general economic factors, such as inflation, rising interest rates, past and potential future disruptions in access to bank deposits and lending commitments due to bank failures, and political conditions, both domestically and internationally.

For example, with regard to the concentration of our revenue, for the three months ended March 31, 2024, the City of New York and the City of Chicago, our two largest customers accounted for 26% and 10% of the Company’s total revenues, respectively. We have extended our contract with the City of Chicago through November 2024, but there is no guarantee we will receive another extension. Additionally, we are experiencing a delay in our ShotSpotter renewal with Puerto Rico, see the risk entitled “Our success depends on maintaining and increasing our sales, which depends on factors we cannot control, including the availability of funding to our customers.” Any delays in renewal of our contracts or any of the other factors above or other factors discussed elsewhere in this report may result in fluctuations in our revenues and operating results, meaning that quarter-to-quarter comparisons of our revenues, results of operations and cash flows may not necessarily be indicative of our future performance.

Because of the fluctuations described above, our ability to forecast revenues is limited and we may not be able to accurately predict our future revenues or results of operations. In addition, we base our current and future expense levels on our operating plans and sales forecasts, and our operating expenses are expected to increase in the short term. Accordingly, we may not be able to reduce our costs sufficiently to compensate for an unexpected shortfall in revenues, and even a small shortfall in revenues could disproportionately and adversely affect our financial results for that quarter. The variability and unpredictability of these and other factors could result in our failing to meet or exceed financial expectations for a given period.

Because we generally recognize our subscription revenues ratably over the term of our contract with a customer, fluctuations in sales will not be fully reflected in our operating results until future periods.

 

30


 

Our revenues are primarily generated from subscriptions to our solutions. With the exception of a small number of legacy customers, our customers do not have the right to take possession of our equipment or software platform. Revenues from subscriptions to our software platform are recognized ratably over the subscription period beginning on the date that the subscription is made available to the customer, which we refer to as the “go-live” date. Our agreements with our customers typically range from one to three years. As a result, much of the revenues that we report in each quarter are attributable to agreements entered into during previous quarters. Consequently, a decline in sales, customer renewals or market acceptance of our solutions in any one quarter would not necessarily be fully reflected in the revenues in that quarter and would negatively affect our revenues and profitability in future quarters. This ratable revenue recognition also makes it difficult for us to rapidly increase our revenues through additional sales in any period, as revenues from new customers generally are recognized over the applicable agreement term. Our subscription-based approach may result in uneven recognition of revenues.

We recognize subscription revenues over the term of a subscription agreement. Once we enter into a ShotSpotter contract with a customer, there is a delay until we begin recognizing revenues while we survey the coverage areas, obtain any required consents for installation, and install our sensors, which together can take up to several months or more. We begin recognizing revenues from a ShotSpotter sale only when all of these steps are complete and the solution is live.

While most of our customers elect to renew their subscription agreements following the expiration of a term, in some cases, they may not be able to obtain the proper approvals or funding to complete the renewal prior to such expiration. For these customers, we stop recognizing subscription revenues at the end of the current term, even though we may continue to provide services for a period of time while the renewal process is completed. Once the renewal is complete, we then recognize subscription revenues for the period between the expiration of the term of the agreement and the completion of the renewal process.

The variation in the timeline for deploying our solutions and completing renewals may result in fluctuations in our revenues, which could cause our results to differ from projections. Additionally, while we generally invoice for 50% of the contract cost upon a customer’s go-live date, our cash flows may be volatile and will not match our revenue recognition.

We have not been profitable in the past and may not achieve or maintain profitability in the future.

 

We had a net loss of $2.9 million for the three months ended March 31, 2024 and as of March 31, 2024, we had an accumulated deficit of $98.0 million. Although we posted net income in 2019, 2020 and 2022, we had a net loss in 2023 and 2021 and we had net losses prior to 2019. We are not certain whether we will be able to maintain enough revenues from sales of our solutions to sustain or increase our growth or maintain profitability in the future. We also expect our costs to increase in future periods, which could negatively affect our future operating results if our revenues do not increase. In particular, we expect to continue to expend substantial financial and other resources on:

higher costs to procure the sensors required for our solutions due to inflationary pressures;
sales and marketing, including a significant expansion of our sales organization, both domestically and internationally;
research and development related to our solutions, including investments in our engineering and technical teams;
acquisition of complementary technologies or businesses, such as our acquisition of Technologic in November 2020, our acquisition of Forensic Logic in January 2022 and our acquisition of SafePointe in August 2023;
continued international expansion of our business; and
general and administrative expenses.

 

These investments may not result in increased revenues or growth in our business. If we are unable to increase our revenues at a rate sufficient to offset the expected increase in our costs, our business, operating results and financial position may be harmed, and we may not be able to maintain profitability over the long term. Rising inflation rates have resulted in decreased demand for our products and services and have increased our operating costs. Additionally, we may encounter unforeseen operating expenses, difficulties, complications, delays and other unknown factors that may result in losses in future periods. If our revenue growth does not meet our expectations in future periods, our financial performance may be harmed, and we may not maintain profitability in the future.

31


 

We may require additional capital to fund our business and support our growth, and our inability to generate and obtain such capital on acceptable terms, or at all, could harm our business, operating results, financial condition and prospects.

We intend to continue to make substantial investments to fund our business and support our growth. In addition, we may require additional funds to respond to business challenges, including the need to develop new features or enhance our solutions, improve our operating infrastructure or acquire or develop complementary businesses and technologies. As a result, in addition to the revenues we generate from our business and our existing cash balances, we may need to engage in additional equity or debt financings to provide the funds required for these and other business endeavors. If we raise additional funds through future issuances of equity or convertible debt securities, our existing stockholders could suffer significant dilution, and any new equity securities we issue could have rights, preferences and privileges superior to those of holders of our common stock. Any debt financing that we may secure in the future could involve restrictive covenants relating to our capital raising activities and other financial and operational matters, which may make it more difficult for us to obtain additional capital and to pursue business opportunities, including potential acquisitions. We may not be able to obtain such additional financing on terms favorable to us, if at all. If we are unable to obtain adequate financing or financing on terms satisfactory to us when we require it, our ability to continue to support our business growth and to respond to business challenges could be significantly impaired, and our business may be adversely affected. In addition, our inability to generate or obtain the financial resources needed may require us to delay, scale back, or eliminate some or all of our operations, which may have a material adverse effect on our business, operating results, financial condition and prospects.

Risks Related to Our Public Safety Business

 

Our success depends on maintaining and increasing our sales, which depends on factors we cannot control, including the availability of funding to our customers.

To date, substantially all of our revenues have been derived from contracts with local governments and their agencies, in particular the police departments of major cities in the United States. To a lesser extent, we also generate revenues from federal agencies, foreign governments and higher education institutions. We believe that the success and growth of our business will continue to depend on our ability to add new police departments and other government agencies, domestically and internationally, as customers of our public safety solution and new universities, corporate campuses and key infrastructure and transportation centers as customers of our security solutions. Many of our target customers have restricted budgets, such that we are forced to compete with programs or solutions that offer an alternative use of the same funds. A number of factors could cause current and/or potential customers to delay or refrain from purchasing our solutions, prevent expansion of, or reduce coverage areas and/or terminate use of our solutions, including:

decreases or changes in available funding, including tax revenues, budgetary allocations, government grants and other government funding programs;
potential delays or changes in appropriations or other funding authorization processes;
changes in fiscal or contracting policies;
macro- and/or local economic changes, such as inflation, rising interest rates, and past and potential future disruptions in access to bank deposits and lending commitments due to bank failures, that may affect customer funding;
changes in elected or appointed officials;
changes in public perception of the accuracy of our solutions and the appropriate use of our solutions by law enforcement, including as a result of negative publicity; and
changes in laws or public sentiment regarding privacy or surveillance.

For example, our existing contract with the City of Chicago remains in effect until November 2024 and we may not be able to renew or extend our contract on reasonable terms, if at all. The City of Chicago is one of our largest customers and represented 10% of our total revenues for the three months ended March 31, 2024 and 9% of our total revenues for the year ended December 31, 2023. Additionally, our interim contract with Puerto Rico expired on January 31, 2024, we are working on the delayed renewal with Puerto Rico, which represented 0.8% of our total revenues for the three months ended March 31, 2024 and 1.6% of our total revenues for the year ended December 31, 2023. If we are unable to renew our contracts with the City of Chicago or Puerto Rico, this could have a material adverse effect on our operating results.

32


 

The past and potential future disruptions in access to bank deposits and lending commitments due to bank failures, geopolitical developments such as the conflicts between Ukraine and Russia in Israel, and other macroeconomic pressures in the United States and the global economy such as rising inflation and interest rates, supply chain constraints, labor market shortages, energy prices and recession fears, and any associated impact on economic conditions, could also cause or exacerbate any of the foregoing. The occurrence of any of the foregoing would impede or delay our ability to maintain or increase the amount of revenues derived from these customers, which could have a material adverse effect on our business, operating results and financial condition.

Contracting with government entities can be complex, expensive, and time-consuming.

The procurement process for government entities is in many ways more challenging than contracting in the private sector. We must comply with laws and regulations relating to the formation, administration, performance and pricing of contracts with government entities, including U.S. federal, state and local governmental bodies. These laws and regulations may impose added costs on our business or prolong or complicate our sales efforts, and failure to comply with these laws and regulations or other applicable requirements could lead to claims for damages from our customers, penalties, termination of contracts and other adverse consequences. Any such damages, penalties, disruptions or limitations in our ability to do business with government entities could have a material adverse effect on our business, operating results and financial condition.

Government entities often require highly specialized contract terms that may differ from our standard arrangements. For example, if the federal government provides grants to certain state and local governments for our solutions, and such governments do not continue to receive these grants, then these customers have the ability to terminate their contracts with us without penalty. Government entities often impose compliance requirements that are complicated, require preferential pricing or “most favored nation” terms and conditions, or are otherwise time-consuming and expensive to satisfy. Compliance with these special standards or satisfaction of such requirements could complicate our efforts to obtain business or increase the cost of doing so. Even if we do meet these special standards or requirements, the increased costs associated with providing our solutions to government customers could harm our margins. Additionally, even once we have secured a government contract, the renewal process can be lengthy and as time-consuming as the initial sale, and we may be providing our service for months past the contract expiration date without certainty if the renewal agreement will be signed or not. During periods of economic uncertainty resulting from the past and potential future disruptions in access to bank deposits and lending commitments due to bank failures, geopolitical developments such as the conflicts between Ukraine and Russia and in Israel, and other macroeconomic pressures in the United States and the global economy such as rising inflation and interest rates, supply chain constraints, labor market shortages, energy prices and recession fears, and any associated impact on economic conditions, these risks are more pronounced than usual, as government entities struggle with reduced levels of resources related to implications of such global events.

Changes in the underlying regulatory conditions, political landscape or required procurement procedures that affect these types of customers could be introduced prior to the completion of our sales cycle, making it more difficult or costly to finalize a contract with a new customer or expand or renew an existing customer relationship. For example, customers may require a competitive bidding process with extended response deadlines, review or appeal periods, or customer attention may be diverted to other government matters, postponing the consideration of the purchase of our products. Such delays could harm our ability to provide our solutions efficiently and to grow or maintain our customer base.

If we are unable to further penetrate the public safety market, our revenues may not grow.

Our ability to increase revenues will depend in large part on our ability to sell our current and future public safety solutions. For example, our ability to have our ShotSpotter customers renew their annual subscriptions and expand their mileage coverage or purchase and implement our other products, such as CaseBuilder and ResourceRouter, drives our ability to increase our revenues. Most of our ShotSpotter customers begin using our solution in a limited coverage area. Our experience has been, and we expect will continue to be, that after the initial implementation of our solutions, our new customers typically renew their annual subscriptions, and many also choose to expand their coverage area. However, some customers may choose to not renew or reduce their coverage. If existing customers do not choose to renew or expand their coverage areas, or choose to reduce their coverage, our revenues will not grow as we anticipate, or may even decline. During periods of economic uncertainty resulting from past and potential future disruptions in access to bank deposits and lending commitments due to bank failures, geopolitical developments such as the conflicts between Ukraine and Russia and in Israel, and other macroeconomic pressures in the United States and the global economy, such as rising inflation and interest rates, supply chain constraints, labor market shortages, energy prices and recession fears, and any associated impact on economic conditions, this risk is more pronounced than usual, as our customers’ priorities may change or they may have greater uncertainty regarding the availability of funding for our solutions as a result.

33


 

Our ability to further penetrate the market for our public safety solutions depends on several factors, including: maintaining a high level of customer satisfaction and a strong reputation among law enforcement; increasing the awareness of our SoundThinking solutions and their benefits; the effectiveness of our marketing programs; the availability of funding to our customers; geopolitical developments and other macroeconomic pressures as described above; our ability to expand our solutions; and the costs of our solutions. Some potential public safety customers may be reluctant or unwilling to use our solution for a number of reasons, including concerns about additional costs, unwillingness to expose or lack of concern regarding the extent of gun violence in their community, uncertainty regarding the reliability and security of cloud-based offerings or lack of awareness of the benefits of our public safety solutions. If we are unsuccessful in expanding the coverage of SoundThinking solutions by existing public safety customers or adding new customers, our revenues and growth prospects would suffer.

Our sales cycle can be lengthy, time-consuming and costly, and our inability to successfully complete sales could harm our business.

Our sales process involves educating prospective customers and existing customers about the use, technical capabilities and benefits of our solutions. Prospective customers, especially government agencies, often undertake a prolonged evaluation process that may last up to nine months or more and that typically involves comparing the benefits of our solutions to alternative uses of funds. We may spend substantial time, effort and money on our sales and marketing efforts without any assurance that our efforts will produce any sales.

In addition, in 2011 the Federal Bureau of Investigation’s (the “FBI”) Criminal Justice Information Services Division (the “CJIS”) issued the CJIS Security Policy, a set of standards for organizations that access criminal justice information (“CJI”). CJIS developed this policy to better protect the data it delivers to federal, state and local law enforcement agencies, from services like the National Crime Information Center, the Integrated Automated Fingerprint Identification System and the National Incident Based Reporting System. The policy is also designed to protect CJI that comes from sources other than the FBI. As part of the process of implementing CaseBuilder for a customer, we will have to complete a rigorous application process to become an approved CJIS compliant vendor. While this CJIS compliant vendor approval process is based upon the FBI’s CJIS Security Policy, a separate process will have to be completed in each state where CaseBuilder will be implemented.

We are continually improving our security, compliance, and processes. Our general processes are based on the NIST-800-53 standard with some aspects also being controlled by CJIS. In the fourth quarter of 2022, an audit of our processes under a SOC2 Type 2 audit was completed. These initiatives require fiscal and time investments. Failure to obtain a SOC2 Type 2 audit report or to be compliant with the CJIS standard could adversely affect our reputation and sales, as well as the availability of our solutions in certain markets.

Additionally, events affecting our customers’ budgets or missions may occur during the sales cycle that could negatively impact the size or timing of a purchase after we have invested substantial time, effort and resources into a potential sale, contributing to more unpredictability in the growth of our business. If we are unable to succeed in closing sales with new and existing customers, our business, operating results and financial condition will be harmed. During periods of economic uncertainty resulting from the past and potential future disruptions in access to bank capital and lending commitments due to bank failures, geopolitical developments such as the conflicts between Ukraine and Russia and in Israel, and other macroeconomic pressures in the United States and the global economy, such as rising inflation and interest rates, supply chain constraints, labor market shortages, energy prices and recession fears, and any associated impact on economic conditions, this risk is more pronounced than usual, as our customers’ priorities may change or they may have greater uncertainty regarding the availability of funding for our solutions as a result.

Changes in the availability of federal funding to support local law enforcement efforts could impact our business.

Many of our customers rely to some extent on funds from the U.S. federal government in order to purchase and pay for our solutions. Any reduction in federal funding for local law enforcement efforts could result in our customers having less access to funds required to continue, renew, expand or pay for our solutions. Social unrest, protests against racial inequality, protests against police brutality and movements such as “Defund the Police” have increased in past years. In addition, recently four members of Congress requested the Inspector General of the Department of Homeland Security to investigate the appropriateness of the use of federal funds to purchase our ShotSpotter solution. These events may directly or indirectly affect municipal and police agency budgets, including federal funding available to current and potential customers. If federal funding is reduced or eliminated and our customers cannot find alternative sources of funding to purchase our solutions, our business will be harmed.

We do not know whether additional stimulus funding will be made available to our existing or potential customers, and many state and local governments anticipate budget shortfalls without additional funding. Further, the allocation and

34


 

prioritization of stimulus funds or earnings is uncertain and may change. There is no guarantee that additional funding will be made available to fund our solutions.

Real or perceived false positive gunshot alerts or false positive security threat detection, or failure or perceived failure to generate alerts for actual gunfire could adversely affect our customers and their operations, damage our brand and reputation and adversely affect our growth prospects and results of operations.

A false positive alert, in which a non-gunfire incident is reported as gunfire or detection of items that do not actually represent security threats, could result in an unnecessary rapid deployment of police officers and first responders, which may raise unnecessary fear among the occupants of a community or facility, and may be deemed a waste of police and first responder resources. A failure to alert law enforcement or security personnel of actual gunfire or security threats (false negative) could result in a less rapid or no response by police officers and first responders, increasing the probability of injury or loss of life. Both false positive alerts and the failure to generate alerts of actual gunfire or security threats (false negative) may result in customer dissatisfaction, potential loss of confidence in our solutions, and potential liabilities to customers or other third parties, any of which could harm our reputation and adversely impact our business and operating results. Additionally, third parties may misunderstand or misrepresent what constitutes a false positive or false negative and generate negative publicity regarding our solutions. For example, a May 2021 report by the MacArthur Center for Justice appears to argue that any incident that does not result in a police report is a false positive. The perception of a false positive alert or of a failure to generate an alert, even where our customers understand that our solutions were utilized correctly, could lead to negative publicity or harm the public perception of our solutions, which could harm our reputation and adversely impact our business and operating results.

The nature of our business may result in undesirable press coverage or other negative publicity, which could adversely affect our growth prospects and results of operations.

Our solutions are used to assist law enforcement and first responders in the event that gunfire is detected. Even when our solutions work as intended, the incidents detected by our solutions could lead to injury, loss of life and other negative outcomes, and such events are likely to receive negative publicity. If we fail to detect an incident, or if we detect an incident, such as a terrorist attack or active-shooter event, but the response time of law enforcement or first responders is not sufficiently quick to prevent injury, loss of life, property damage or other adverse outcomes, we may receive negative media attention. At times, our data or information concerning our techniques and processes may become a matter of public record due to legal or other obligations (for example, as a result of public-records requests or subpoenas to provide information or to testify in court), and we may receive negative media attention as a result.

Our reputation and our business may be harmed by inaccurate reporting, which could have an adverse impact on new sales or renewals or expansions of coverage areas by existing customers, which would adversely impact our financial results and future prospects. For example, in July 2021, VICE Media, LLC (“VICE”) falsely accused us of illegal behavior, which has had a material adverse effect on our business. We initiated a defamation lawsuit against VICE that has since been dismissed.

The role of our solutions and our personnel in criminal prosecutions or other court proceedings may result in unfavorable judicial rulings that generate negative publicity or otherwise adversely impact new sales or renewals or expansions of coverage areas by existing customers, which would adversely impact our financial results and future prospects. For instance, a court ruling limiting or excluding evidence related to information gathered through our systems or to the operation of our systems in a judicial proceeding could harm public perceptions of our business and solutions.

Economic uncertainties or downturns, or political changes, could limit the availability of funds available to our existing and potential customers, which could materially and adversely affect our business.

Economic uncertainties or downturns could adversely affect our business and operating results. Negative conditions in the general economy both in the United States and abroad, including past and potential future disruptions in access to bank deposits and lending commitments due to bank failures, conditions resulting from changes in gross domestic product growth, labor market shortages, inflation, interest rates, financial and credit market fluctuations, political deadlock, natural catastrophes, warfare, geopolitical tensions, such as the ongoing conflicts between Russia and Ukraine and in Israel, terrorist attacks, climate change and global pandemics, could cause a decrease in funds available to our existing and potential customers and negatively affect the rate of growth of our business.

These economic conditions may make it extremely difficult for our customers and us to forecast and plan future budgetary decisions or business activities accurately, and they could cause our customers to reevaluate their decisions to purchase our solutions, which could delay and lengthen our sales cycles or result in cancellations of planned purchases. Furthermore, during challenging economic times or as a result of political changes, our customers may tighten their budgets and face constraints in gaining timely access to sufficient funding or other credit, which could result in an

35


 

impairment of their ability to make timely payments to us. In turn, we may be required to increase our allowance for credit losses, which would adversely affect our financial results.

We cannot predict the timing, strength or duration of any economic slowdown, instability or recovery, generally or within any particular industry, or the impact of political changes. If the economic conditions of the general economy or industries in which we operate worsen from present levels, or if past political changes result in less funding being available to purchase our solutions, our business, operating results, financial condition and cash flows could be adversely affected.

New competitors may enter the market for our public safety solution.

If cities and other government entities increase their efforts to reduce gun violence or our solutions gain visibility in the market, companies could decide to enter into the public safety solution market and thereby increase the competition we face. In addition to other gunshot detection products, we also compete with other technologies and solutions targeting our public safety customers’ resources for law enforcement and crime prevention. Our competitors could benefit from the disclosure of our data or information concerning our techniques and processes due to legal or other obligations (for example, as a result of public-records requests or subpoenas to provide information or to testify in court). Because there are several possible uses for these limited budgetary resources, if we are not able to compete successfully for these limited resources, our business may not grow as we expect, which could adversely impact our revenues and operating results.

Concerns regarding privacy and government-sponsored surveillance may deter customers from purchasing our solutions.

Governmental agencies and private citizens have become increasingly sensitive to real or perceived government or third-party surveillance and may wrongly believe that our outdoor sensors allow customers to listen to private conversations and monitor private citizen activity. Our sensors are not designed for “live listening” and are triggered only by loud impulsive sounds that may likely be gunfire. However, perceived privacy concerns may result in negative media coverage and efforts by private citizens to persuade municipalities, educational institutions or other potential customers not to purchase our precision policing solutions for their communities, campuses or facilities. In addition, laws may exist or be enacted to address such concerns that could impact our ability to deploy our solutions. For example, the City of Toronto, Canada decided against using SoundThinking solutions because the Ministry of the Attorney General of Ontario indicated that it may compromise Section 8 of Canada’s Charter of Rights and Freedoms, which relates to unreasonable search and seizure. If customers choose not to purchase our solutions due to privacy or surveillance concerns, then the market for our solutions may develop more slowly than we expect, or it may not achieve the growth potential we expect, any of which would adversely affect our business and financial results.

Ongoing social unrest may have a material adverse effect on our business, the future magnitude or duration of which we cannot predict with accuracy.

We may be adversely affected by ongoing social unrest, protests against racial inequality, protests against police brutality and movements such as “Defund the Police” or increases in such unrest that may occur in the future, and such unrest may be exacerbated by inaccurate information or negative publicity regarding our solutions. These events may directly or indirectly affect police agency budgets and funding available to current and potential customers. Participants in these events may also attempt to create the perception that our solutions are contributing to the “problem” which may adversely affect us, our business and results of operations, including our revenues, earnings and cash flows from operations.

Strategic and Operational Risks

If we are unable to sell our solutions into new markets, our revenues may not grow.

Part of our growth strategy depends on our ability to increase sales of our security and public safety solutions in markets outside of the United States. We are focused on expanding the sales of these solutions into new markets, but customers in these new markets may not be receptive or sales may be delayed beyond our expectations, causing our revenue growth and growth prospects to suffer. During periods of economic uncertainty resulting from the past and potential future disruptions in access to bank deposits and lending commitments due to bank failures, geopolitical developments such as the conflicts between Ukraine and Russia and in Israel, and other macroeconomic pressures in the United States and the global economy such as rising inflation and interest rates, supply chain constraints, labor market shortages, energy prices and recession fears, and any associated impact on economic conditions, this risk is more pronounced than usual.

Our ability to successfully face these challenges depends on several factors, including increasing the awareness of our solutions and their benefits; the effectiveness of our marketing programs; the costs of our solutions; our ability to attract, retain and effectively train sales and marketing personnel; and our ability to develop relationships with

36


 

communication carriers and other partners. If we are unsuccessful in developing and marketing our solutions into new markets, new markets for our solutions might not develop or might develop more slowly than we expect, either of which would harm our revenues and growth prospects.

The failure of our solutions to meet our customers’ expectations or of our solutions generally could, in some cases, result in injury or loss of life, and could harm our reputation, which may have a material adverse effect on our business, operating results and financial condition.

Promoting and demonstrating the utility of our solutions as useful, reliable and important tools for law enforcement and security personnel is critical to the success of our business. Our ability to secure customer renewals, expand existing customer coverage areas, and enter into new customer contracts is dependent on our reputation and our ability to deliver our solutions effectively. We believe that our reputation among police departments using SoundThinking solutions is particularly important to our success. Our ability to meet customer expectations will depend on a wide range of factors, including:

our ability to continue to offer high-quality, innovative and accurate precision policing solutions;
our ability to maintain continuous gunshot detection monitoring during high outdoor-noise activity periods such as New Year’s Day, the Fourth of July and Cinco de Mayo, and Carnival for international deployments;
our ability to maintain high customer satisfaction, including meeting our service level agreements standards;
the perceived value and quality of our solutions;
differences in opinion regarding the metrics that measure the success of our solutions;
our ability to successfully communicate the unique value proposition of our solutions;
our ability to provide high-quality customer support;
any misuse or perceived misuse of our solutions;
interruptions, delays or attacks on our platform;
litigation- or regulation-related developments; and
damage to or degradation of our sensors or sensor network by third parties.

In some cases, if our solutions fail to detect threats such as a firearm or other potential weapon or explosive device, or if our products contain undetected errors or defects, these failures or errors could result in injury or loss of life, which could harm our brand and reputation, subject us to litigation and potential claims against us, and have an adverse effect on our business, operating results and financial condition. There is no guarantee that our solutions will detect and prevent all attacks, especially in light of the rapidly changing security landscape to which it must respond, as well as unique factors that may be present in our customers’ operating environments. If our products fail to detect security threats for any reason, including failures due to customer personnel or security processes, it may also result in significant costs, the attention of our key personnel could be diverted, our customers may delay or withhold payment to us or elect not to renew or cause other significant customer relations problems to arise.

Interruptions or performance problems associated with our technology and infrastructure may adversely affect our business and results of operations.

We have in the past experienced, and may in the future experience, performance issues due to a variety of factors, including infrastructure changes, human or software errors, intentional or accidental damage to our technology (including sensors), website or third-party hosting disruptions or capacity constraints due to a number of potential causes including technical failures, natural disasters or security attacks. If our security is compromised, our platform is unavailable or our users are unable to receive our alerts or otherwise communicate with our IRC reviewers, within a reasonable amount of time or at all, our business could be negatively affected. In some instances, we may not be able to identify the cause or causes of these performance problems within an acceptable period of time.

In addition, our IRC department personnel operate either remotely or out of our offices. Any interruption or delay in service from our IRC, such as from a communications or power outage, could limit our ability to deliver our solutions. In addition, it may become increasingly difficult to maintain and improve the performance of our solutions, especially during peak usage times as the capacity of our IRC operations reaches its limits. If there is an interruption or delay in service from our IRC operations and a gunshot is detected but not reviewed in the allotted time, our software will flag the

37


 

incident for off-line review. This may result in delayed notifications to our customers and as a result, we could experience a decline in customer satisfaction with our solutions and our reputation and growth prospects could be harmed.

We expect to continue to make significant investments to maintain and improve the performance of our solutions. To the extent that we do not effectively address capacity constraints, upgrade our systems as needed and continually develop our technology to accommodate actual and anticipated changes in technology, our business, operating results and financial condition may be adversely affected.

We rely on wireless carriers to provide access to wireless networks through which our acoustic sensors communicate with our cloud-based backend and with which we provide our notification services to customers, and any interruption of such access would impair our business.

We rely on wireless carriers, mainly AT&T and Verizon, to provide access to wireless networks for machine-to-machine data transmissions, which are an integral part of our services. Our wireless carriers may suspend wireless service to expand, maintain or improve their networks. These wireless carriers perform routine maintenance and periodic software and firmware updates that may damage our sensors or make them inoperable. Any suspension or other interruption of services would adversely affect our ability to provide our services to our customers and may adversely affect our reputation. In addition, the terms of our agreements with these wireless carriers provide that either party can cancel or terminate the agreement for convenience. If one of our wireless carriers were to terminate its agreement with us, we would need to source a different wireless carrier and/or modify our equipment during the notice period in order to minimize disruption in the performance of our solutions. Price increases or termination by our wireless carriers or changes to existing contract terms could have a material adverse effect on our business, operating results and financial condition.

Furthermore, our reliance on wireless carriers may require updates to our technology and making such updates could also result in interruptions in our service or increase our costs of operations. We may not be able to successfully implement new technologies or adapt existing technologies to changing market demands. If we are unable to adapt timely to changing technologies, market conditions or customer preferences, our business, operating results and financial condition could be materially and adversely affected.

Natural disasters, infectious disease outbreaks, power outages or other events impacting us or our customers could harm our operating results and financial condition.

We recognize revenue on a subscription basis as our solutions are provided to our customers over time. If our services are disrupted due to natural disasters, infectious disease outbreaks, power outages or other events that we cannot control, we may not be able to continue providing our solutions as expected.

When we stop providing coverage, we also stop recognizing revenues as a result of the affected subscription agreement. If we are forced to discontinue our services due to natural disasters, power outages and other events outside of our control, our revenues may decline, which would negatively impact our results of operations and financial condition. In addition, we may face liability for damages caused by our sensors in the event of heavy weather, hurricanes or other natural disasters. We may also incur additional costs to repair or replace installed sensor networks damaged by heavy weather, hurricanes or other natural disasters.

Any of our facilities or operations may be harmed or rendered inoperable by natural or man-made disasters, including earthquakes, tornadoes, hurricanes, wildfires, floods, nuclear disasters, acts of terrorism or other criminal activities, global pandemics, and power outages, which may render it difficult or impossible for us to operate our business for some period of time or decrease productivity. For example, our primary IRC and a data center that hosts some of our customer services are located in the San Francisco Bay Area, a region known for seismic activity. Our facilities would likely be costly to repair or replace, and any such efforts would likely require substantial time. In addition, like many companies, at the beginning of the COVID-19 pandemic, we implemented a work from home policy. We expect to work in a hybrid work model for the foreseeable future. This policy may negatively impact productivity of our employees.

Any disruptions in our operations could negatively impact our business and operating results and harm our reputation. In addition, we may not carry business insurance or may not carry sufficient business insurance to compensate for losses that may occur. Any such losses or damages could have a material adverse effect on our business, operating results and financial condition. In addition, the facilities of significant vendors, including the manufacturer of our proprietary acoustic sensor, may be harmed or rendered inoperable by such natural or man-made disasters, which may cause disruptions, difficulties or material adverse effects on our business.

The incurrence of debt may impact our financial position and subject us to additional financial and operating restrictions.

38


 

On September 27, 2018, we entered into a senior secured revolving credit facility with Umpqua Bank (the “Umpqua Credit Agreement”) and in November 2022, we amended the Umpqua Credit Agreement to, among other things, extend the maturity date from November 27, 2022 to October 15, 2024, increase the revolving credit commitment from $20.0 million to $25.0 million and increase the letter of credit sub-facility from $6.0 million to $7.5 million. In February 2024, we amended the Umpqua Credit Agreement to extend the maturity date from October 15, 2024 to October 15, 2025. As of March 31, 2024, there was $7.0 million outstanding on our line of credit.

Under the Umpqua Credit Agreement, we are subject to various negative covenants that limit, subject to certain exclusions, our ability to incur indebtedness, make loans, invest in or secure the obligations of other parties, pay or declare dividends, make distributions with respect to our securities, redeem outstanding shares of our stock, create subsidiaries, materially change the nature of our business, enter into related party transactions, engage in mergers and business combinations, the acquisition or transfer of our assets outside of the ordinary course of business, grant liens or enter into collateral relationships involving company assets or reincorporate, reorganize or dissolve the company. These covenants could adversely affect our financial health and business and future operations by, among other things:

making it more difficult to satisfy our obligations, including under the terms of the Umpqua Credit Agreement;
limiting our ability to refinance our debt on terms acceptable to us or at all;
limiting our flexibility to plan for and adjust to changing business and market conditions and increasing our vulnerability;
limiting our ability to use our available cash flow to fund future acquisitions, working capital, business activities, and other general corporate requirements; and
limiting our ability to obtain additional financing for working capital to fund growth or for general corporate purposes, even when necessary to maintain adequate liquidity.

We are also required to maintain certain financial covenants tied to our leverage, interest charges and profitability. Our ability to meet such covenants (those negative covenants discussed in the preceding paragraph) or other restrictions can be affected by events beyond our control, and our failure to comply with the financial and other covenants would be an event of default under the Umpqua Credit Agreement. If an event of default under the Umpqua Credit Agreement, has occurred and is continuing, the outstanding borrowings thereunder could become immediately due and payable, and we would then be required to cash collateralize any letters of credit then outstanding, and the lender could refuse to permit additional borrowings under the facility. We have in the past obtained waivers for the financial covenant tied to our profitability, the acquisition and investment covenants related to our acquisition of SafePointe and name change covenant for failure to provide notice of our corporate name change and of the name change of LEEDS, LLC to Technologic Solutions, LLC. We cannot assure you that we would have sufficient assets to repay those borrowings and, if we are unable to repay those amounts, the lender could proceed against the collateral granted to them to secure such indebtedness. We have pledged substantially all of our assets as collateral, and an event of default would likely have a material adverse effect on our business.

The competitive landscape for our security solutions is evolving.

The market for security solutions for university campuses, corporate campuses and transportation and key infrastructure centers includes a number of available options, such as video surveillance and increased human security presence. Because there are several possible uses of funds for security needs, we may face increased challenges in demonstrating or distinguishing the benefits of ShotSpotter for Highways, ShotSpotter for Campus and ShotSpotter for Corporate. In particular, while we have seen growing interest in our security solutions, interest in the indoor gunshot detection offering was limited, and as a result, in June 2018, we made the strategic decision to cease indoor coverage as part of our service offering. If we experience declining interest in any of our offerings, we may cease offering such impacted solution in the future.

Failure to effectively develop and expand our sales and marketing capabilities could harm our ability to increase our customer base and achieve broader market acceptance of our solutions.

To increase total customers and customer coverage areas and to achieve broader market acceptance of our solutions, we will need to expand our sales and marketing organization and increase our business development resources, including the vertical and geographic distribution of our sales force and our teams of account executives focused on new accounts and responsible for renewal and growth of existing accounts.

39


 

Our business requires that our sales personnel have particular expertise and experience in working with law enforcement agencies, other government organizations and higher education institutions. We may not achieve revenue growth from expanding our sales force if we are unable to hire, develop and retain talented sales personnel with appropriate experience, if our new sales personnel are unable to achieve desired productivity levels in a reasonable period of time or if our sales and marketing programs are not effective.

Our strategy includes pursuing acquisitions, and our inability to successfully integrate newly acquired technologies, assets or businesses, or our becoming subject to certain liabilities assumed or incurred with our acquisitions, may harm our financial results. Future acquisitions of technologies, assets or businesses, which are paid for partially or entirely through the issuance of stock or stock rights, could dilute the ownership of our existing stockholders.

We acquired Technologic in November 2020, Forensic Logic in January 2022 and SafePointe and intellectual property assets in August 2023 in order to enhance our SafetySmart platform. We will continue to evaluate and consider potential strategic transactions, including acquisitions of, or investments in, businesses, technologies, services, products and other assets in the future. We also may enter into relationships with other businesses to expand our platform and applications, which could involve preferred or exclusive licenses, additional channels of distribution, discount pricing or investments in other companies.

We believe that part of our continued growth will be driven by acquisitions of other companies or their technologies, assets, businesses and teams. Acquisitions in the future that we complete will give rise to risks, including:

incurring higher than anticipated capital expenditures and operating expenses;
failing to assimilate the operations and personnel or failing to retain the key personnel of the acquired company or business;
failing to integrate the acquired technologies, or incurring significant expense to integrate acquired technologies, into our platform and applications;
disrupting our ongoing business;
diverting our management’s attention and other company resources;
failing to maintain uniform standards, controls and policies;
incurring significant accounting charges;
impairing relationships with our customers and employees;
finding that the acquired technology, asset or business does not further our business strategy, that we overpaid for the technology, asset or business or that we may be required to write off acquired assets or investments partially or entirely;
failing to realize the expected synergies of the transaction;
being exposed to unforeseen liabilities and contingencies that were not identified prior to acquiring the company; and
being unable to generate sufficient revenues and profits from acquisitions to offset the associated acquisition costs.

Fully integrating an acquired technology, asset or business into our operations may take a significant amount of time. We may not be successful in overcoming these risks or any other problems encountered with the acquisition of and integration of Technologic, Forensic Logic and SafePointe, intellectual property assets acquired or any future acquisitions. To the extent that we do not successfully avoid or overcome the risks or problems related to any such acquisitions, our results of operations and financial condition could be harmed. Acquisitions also could impact our financial position and capital requirements or could cause fluctuations in our quarterly and annual results of operations. Acquisitions could include significant goodwill and intangible assets, which may result in future impairment charges that would reduce our stated earnings. We may incur significant costs in our efforts to engage in strategic transactions and these expenditures may not result in successful acquisitions.

Additionally, there may be liabilities that we fail to discover while conducting due diligence for acquisitions, that we inadequately assess or that are not properly disclosed to us. In particular, to the extent that any acquired company failed to comply with or otherwise violated applicable laws or regulations, failed to fulfill contractual obligations to counterparties or incurred material liabilities or obligations to other parties that are not identified during the diligence

40


 

process, we, as the successor owner, may be financially responsible for these violations, failures and liabilities and may suffer financial or reputational harm or otherwise be adversely affected. We also may be subject to litigation or other claims in connection with an acquired company. Any material liabilities we incur that are associated with our acquisitions could harm our business, operating results and financial condition.

We expect that the consideration we might pay for any future acquisitions of technologies, assets, businesses or teams could include stock, rights to purchase stock, cash or some combination of the foregoing. If we issue stock or rights to purchase stock in connection with future acquisitions, net income per share and then-existing holders of our common stock may experience dilution.

The nature of our business exposes us to inherent liability risks.

Our gunshot detection solutions are designed to communicate real-time alerts of gunfire incidents to police officers and first responders. Similarly, our weapons detection solution obtained from our SafePointe acquisition is designed to identify potential threats and alert security personnel. Due to the nature of such applications, we are potentially exposed to greater risks of liability for employee acts or omissions or system failures than may be inherent in other businesses. Although substantially all of our customer agreements contain provisions limiting our liability to our customers, we cannot be certain that these limitations will be enforced or that the costs of any litigation related to actual or alleged omissions or failures would not have a material adverse effect on us even if we prevail. Further, certain of our insurance policies and the laws of some states may limit or prohibit insurance coverage for punitive or certain other types of damages or liability arising from gross negligence, or other issues, such as damages caused due to installation of our sensors on buildings owned by third parties, and we cannot assure you that we are adequately insured against the risks that we face.

Real or perceived errors, failures, vulnerabilities, or bugs in our software could adversely affect our operating results and growth prospects.

Because our software is complex, undetected errors, failures or bugs may occur. Our software is often installed and used with different operating systems, system management software, and equipment and networking configurations, which may cause errors or failures of our software or other aspects of the computing environment into which it is deployed. In addition, deployment of our software into computing environments may expose undetected errors, compatibility issues, failures or bugs in our software. Despite our testing, errors, failures, vulnerabilities, or bugs may not be found in our software until it is released to our customers. Moreover, our customers could incorrectly implement or inadvertently misuse our software, which could result in customer dissatisfaction and adversely impact the perceived utility of our products as well as our brand. Any of these real or perceived errors, compatibility issues, failures or bugs in our software could result in negative publicity, reputational harm, loss of or delay in market acceptance of our software, loss of competitive position or claims by customers for losses sustained by them. In any such event, we may be required, or may choose, for customer relations or other reasons, to expend additional resources in order to correct the problem. Alleviating any of these problems could require significant expenditures of our capital and other resources and could cause interruptions or delays in the use of our solutions, which could cause us to lose existing or potential customers and could adversely affect our operating results and growth prospects.

Any interruptions or delays in service from our third-party providers could impair our ability to make our solutions available to our customers, resulting in customer dissatisfaction, damage to our reputation, loss of customers, limited growth and reduction in revenue.

We currently use third-party data center hosting facilities to host certain components of our solutions. Our operations depend, in part, on our third-party providers’ abilities to protect these facilities against damage or interruption from natural disasters, power or communications failures, cyber incidents, criminal acts and similar events. In the event that any of our third-party facility arrangements is terminated, or if there is a lapse of service or damage to a facility, we could experience service interruptions in our solutions as well as delays and additional expenses in arranging new facilities and services. People continuing to work remotely may increase the likelihood of service interruptions or cyber incidents at these data center hosting facilities. Any changes in third-party service levels at our data centers or any errors, defects, disruptions, cyber incidents or other performance problems with our solutions could harm our reputation.

Any damage to, or failure of, the systems of the communications providers with whom our data center provider contracts could result in interruptions to our solutions. The occurrence of spikes in usage volume, natural disasters, cyber incidents, acts of terrorism, vandalism or sabotage, closure of a facility without adequate notice or other unanticipated problems could result in lengthy interruptions in the availability of our services. Problems faced by these network providers, or with the systems by which they allocate capacity among their customers, including us, could adversely affect the experience of our customers. People continuing to work remotely may increase the likelihood of these problems with

41


 

such network providers and their capacity allocation systems. Interruptions in our services might cause us to issue refunds to customers and subject us to potential liability.

Further, our insurance policies may not adequately compensate us for any losses that we may incur in the event of damage or interruption, and therefore the occurrence of any of the foregoing could subject us to liability, cause us to issue credits to customers or cause customers not to renew their subscriptions for our applications, any of which could materially and adversely affect our business.

If our information technology systems or data, or those of third parties upon which we rely, are or were compromised, our solutions may be perceived as not being secure, our customers may be harmed and we could experience adverse consequences, including but not limited to regulatory investigations or actions; litigation or mass arbitration demands; fines and penalties; disruptions of our business operations; reputation harm; loss of revenue or profits; loss of customers or sales; and other adverse consequences.

Our operations involve the collection, receipt, storage, storage processing, generation, use, transfer, disclosure, protection, disposal of, transmission, and sharing (collectively, “processing”) of proprietary, confidential, and sensitive data, including personal information, intellectual property, trade secrets and other sensitive information such as gunfire incident data, including date, time, address and GPS coordinates, occurring in our customer’s coverage area (collectively, “sensitive information”). Additionally, our systems read, write, store and transfer information from third parties including criminal justice information.

Cyber-attacks, malicious internet-based activity, online and offline fraud, and other similar activities threaten the confidentiality, integrity, and availability of our sensitive information and information technology systems, and those of the third parties upon which we rely. Such threats are prevalent and continue to increase generally, and are increasingly difficult to detect, and come from a variety of sources, including traditional computer “hackers,” threat actors, “hacktivists,” organized criminal threat actors, personnel (such as through theft or misuse), sophisticated nation states, and nation-state-supported actors. Some actors now engage and are expected to continue to engage in cyber-attacks, including without limitation nation-state actors for geopolitical reasons and in conjunction with military conflicts and defense activities. During times of war and other major conflicts, we, the third parties upon which we rely, and our customers may be vulnerable to a heightened risk of these attacks, including retaliatory cyber-attacks, that could materially disrupt our systems and operations, supply chain, and ability to produce, sell and distribute our goods and services.

We and the third parties upon which we rely may be subject to a variety of evolving threats, including but not limited to social-engineering attacks (including through deep fakes, which may be increasingly more difficult to identify as fake, phishing attacks), malicious code (such as viruses and worms), malware (including as a result of advanced persistent threat intrusions), denial-of-service attacks, credential stuffing, credential harvesting, personnel misconduct or error, and supply-chain attacks, software bugs, server malfunctions, software or hardware failures, loss of data or other information technology assets, attacks enhanced or facilitated by artificial intelligence (“AI”), telecommunications failures, earthquakes, fires, floods, and other similar threats. For example, in November 2023, we discovered that a recently terminated employee logged on to an employee resource, obtained our confidential information, and began posting some of the information publicly on social media. We took steps to remove the information and prevent the former employee from posting the information again, but we are uncertain to what extent this will reoccur and the postings will affect our business or operations. In particular, ransomware attacks are becoming increasingly prevalent and severe and can lead to significant interruptions in our operations, ability to provide our products or services, loss of data and income, reputational harm, and diversion of funds. Extortion payments may alleviate the negative impact of a ransomware attack, but we may be unwilling or unable to make such payments due to, for example, applicable laws or regulations prohibiting such payments.

Remote work has become more common and has increased risks to our information technology systems and data, as more of our employees utilize network connections, computers and devices outside our premises or network, including working at home, while in transit and in public locations. We may be unable to anticipate or prevent techniques used to obtain unauthorized access or to sabotage systems because such techniques change frequently and often are not detected until after an incident has occurred. As we increase our customer base and our brand becomes more widely known and recognized, third parties may increasingly seek to compromise our security controls or gain unauthorized access to customer data or other sensitive information. Further, because of the nature of the services that we provide to our customers, we may be a unique target for attacks.

Future or past business transactions (such as acquisitions or integrations, including of Forensic Logic, LLC and SafePointe, LLC) expose us to additional cybersecurity risks and vulnerabilities, as we and our systems are negatively affected by vulnerabilities and weaker security controls present in acquired or integrated entities’ systems, products, processes and technologies. Furthermore, we may not have adequate visibility into security issues of such acquired or

42


 

integrated entities, may discover security issues that were not found during due diligence of such entities, and it may be difficult to integrate companies and their products into our information technology environment and security program.

We rely on third-party service providers and technologies to operate critical business systems to process sensitive information in a variety of contexts, including, without limitation, cloud-based infrastructure, data center facilities, encryption and authentication technology, employee email, content delivery to customers, and other functions. We also rely on third-party service providers to provide other products, services, parts, or otherwise to operate our business. Our ability to monitor these third parties’ information security practices is limited, and these third parties may not have adequate information security measures in place. If our third-party service providers experience a security incident or other interruption, we could experience adverse consequences. If third parties with whom we work, such as vendors or developers, violate applicable laws or our security policies, such violations may also put our systems and data at risk and could in turn have an adverse effect on our business. In addition, such a violation could expose sensitive data including; criminal justice information, and other data we are contractually obliged to keep confidential. While we may be entitled to damages if our third-party service providers fail to satisfy their privacy or security-related obligations to us, any award may be insufficient to cover our damages, or we may be unable to recover such award.

While we have implemented security measures designed to protect against security incidents, there can be no assurance that these measures will be effective. We take steps to detect and remediate vulnerabilities, but we may not be able to detect and remediate all vulnerabilities because the threats and techniques used to exploit the vulnerability change frequently and are often sophisticated in nature. Therefore, such vulnerabilities could be exploited but may not be detected until after a security incident has occurred. Unremediated high risk or critical vulnerabilities pose material risks to our business. Further, we may experience delays in developing and deploying remedial measures designed to address any such identified vulnerabilities.

Any of the previously identified or similar threats could cause a security incident or other interruption that could result in unauthorized, unlawful, or accidental acquisition, modification, destruction, loss, alteration, encryption, disclosure of, or access to our sensitive information or our information technology systems, or those of the third parties upon whom we rely. A security incident or other interruption could disrupt our ability (and that of third parties upon whom we rely) to provide our solutions.

We may expend significant resources or modify our business activities to try to protect against security incidents. Certain data privacy and security obligations may require us to implement and maintain specific security measures or industry-standard or reasonable security measures to protect our information technology systems and sensitive information.

Applicable data privacy and security obligations may require us to notify relevant stakeholders of security incidents. Such disclosures are costly, and the disclosure or the failure to comply with such requirements could lead to adverse consequences. For example, many governments have enacted laws requiring companies to notify individuals of data security incidents or unauthorized transfers involving certain types of personal information. In addition, some of our customers contractually require notification of any data security incident.

If we (or a third party upon whom we rely) experience a security incident or are perceived to have experienced a security incident, we may experience adverse consequences, such as government enforcement actions (for example, investigations, fines, penalties, audits, and inspections); additional reporting requirements and/or oversight; restrictions on processing sensitive information (including personal information); litigation (including class claims); indemnification obligations; negative publicity; reputational harm; monetary fund diversions; interruptions in our operations (including availability of data); financial loss; and other similar harms. Security incidents and attendant consequences may prevent or cause customers to stop using our solutions, deter new customers from using our solutions, and negatively impact our ability to grow and operate our business. Furthermore, security incidents experienced by our competitors, by our customers or by us may lead to public disclosures, which may lead to widespread negative publicity and significant costs. Any security compromise, whether actual or perceived, could harm our reputation, erode customer confidence in the effectiveness of our security measures, negatively impact our ability to attract new customers, cause existing customers to elect not to renew their subscriptions or subject us to third-party lawsuits, regulatory fines or other action or liability, which could materially and adversely affect our business and operating results. Our contracts may not contain limitations of liability, and even where they do, there can be no assurance that limitations of liability in our contracts are sufficient to protect us from liabilities, damages, or claims related to our data privacy and security incidents.

While we maintain general liability insurance coverage and coverage for errors or omissions, we cannot assure you that such coverage would be adequate or would otherwise protect us from liabilities or damages with respect to claims alleging compromise or loss of data, or that such coverage will continue to be available on acceptable terms or at all, or that such coverage will pay future claims.

43


 

In addition to experiencing a security incident, third parties may gather, collect, or infer sensitive information about us from public sources, data brokers, or other means that reveals competitively sensitive details about our organization and could be used to undermine our competitive advantage or market position. Additionally, sensitive information of the Company or our customers could be leaked, disclosed, or revealed as a result of or in connection with our employee’s, personnel’s, or vendor’s use of generative AI technologies.

We rely on the cooperation of customers and third parties to permit us to install our ShotSpotter sensors and SafePointe bollards on their facilities, and failure to obtain these rights could increase our costs or limit the effectiveness of our ShotSpotter and SafePointe solutions.

Our ShotSpotter solution requires us to deploy ShotSpotter sensors in our customer coverage areas, which typically entails the installation of approximately 15 to 25 sensors per square mile. The ShotSpotter sensors are mounted on city facilities and third-party buildings, and occasionally on city or utility-owned light poles, and installing the sensors requires the consent of the property owners, which can be time-consuming to obtain and can delay deployment. Generally, we do not pay a site license fee in order to install our sensors, and our contractual agreements with these facility owners provide them the right to revoke permission to use their facility with notice of generally 60 days. Our SafePointe solution requires us to install sensors, cameras, and networking equipment on our customer’s property. SafePointe does not pay a site license fee to install our sensors, cameras, and networking equipment and is typically paid by the customer to complete the installation. In almost all cases, the property is owned by the customer, and no additional approvals or consents are required.

To the extent that required consents delay our ability to deploy our solutions or facility owners do not grant permission to use their facilities, revoke previously granted permissions, or require us to pay a site license fee in order to install our sensors or bollards, our business may be harmed. If we were required to pay a site license fee in order to install sensors or bollards, our deployment expenses would increase, which would impact our gross margins. If we cannot obtain a sufficient number of sensor or bollard mounting locations that are appropriately dispersed in a coverage area, the effectiveness of our ShotSpotter and SafePointe solutions would be limited, and we may need to reduce the coverage area of the solution.

If we lose our ability to share a significant agency’s dataset in our CrimeTracer platform, our ability to sell that product may be adversely affected.

Agencies typically share their private CJIS data sets with us through subscription agreements. If we lose access to their data sets because of a technical problem, such as a ransomware attack, or other issues that arise through no fault of our own that makes that data set inaccessible, this may result in the loss of a customer to a competitor, subscriptions not being renewed and may make it more difficult to sell CrimeTracer in that geographic region and to the federal market.

If we fail to offer high-quality customer support, our business and reputation may suffer.

We offer customer support 24 hours a day, seven days a week, as well as training on best practices, forensic expertise and expert witness services. Providing these services requires that our personnel have specific experience, knowledge and expertise, making it more difficult for us to hire qualified personnel and to scale up our support operations. The importance of high-quality customer support will increase as we expand our business and pursue new customers. We may be unable to respond quickly enough to accommodate short-term increases in customer demand for support services or scale our services if our business grows. Increased customer demand for these services, without corresponding revenues, could increase our costs and harm our operating results. If we do not help our customers use applications within our solutions and provide effective ongoing support, our ability to sell additional applications to, or to retain, existing customers may suffer and our reputation with existing or potential customers may be harmed.

We rely on a limited number of suppliers and contract manufacturers, and our proprietary ShotSpotter sensors are manufactured by a single contract manufacturer.

We rely on a limited number of suppliers and contract manufacturers. In particular, we use a single manufacturer, with which we have no long-term contract and from which we purchase on a purchase-order basis, to produce our proprietary ShotSpotter sensors. Our reliance on a sole contract manufacturer increases our risks since we do not currently have any alternative or replacement manufacturers, and we do not maintain a high volume of inventory. In the event of an interruption in our supply from our sole contract manufacturer, we may not be able to develop alternate or secondary sources without incurring material additional costs and substantial delays. Furthermore, these risks could materially and adversely affect our business if one of our contract manufacturers is impacted by a natural disaster or other interruption at a particular location because each of our contract manufacturers produces our products from a single location. Although each of our contract manufacturers has alternative manufacturing locations, transferring manufacturing to another location may result in significant delays in the availability of our sensors. Also, many standardized components used broadly in

44


 

our sensors are manufactured in significant quantities in concentrated geographic regions, particularly in Greater China. As a result, protracted regional crises, or issues with manufacturing facilities could lead to eventual shortages of necessary components. It could be difficult, costly and time consuming to obtain alternative sources for these components, or to change product designs to make use of alternative components. In addition, difficulties in transitioning from an existing supplier to a new supplier could create delays in component availability that would have a significant impact on our ability to fulfill orders for our products.

Many of the key components used to manufacture our proprietary ShotSpotter sensors also come from limited or sole sources of supply. In addition, the lead times associated with certain components are lengthy and preclude rapid changes in quantities and delivery schedules. Developing alternate sources of supply for these components may be time-consuming, difficult, and costly, and we or our suppliers may not be able to source these components on terms that are acceptable to us, or at all, which may undermine our ability to fill our orders in a timely manner.

For example, for our ShotSpotter sensors, it may take a significant amount of time to identify a contract manufacturer that has the capability and resources to build the sensors to our specifications. Identifying suitable suppliers and contract manufacturers is an extensive process that requires us to become satisfied with their quality control, technical capabilities, responsiveness and service, financial stability, regulatory compliance, and labor and other ethical practices. Accordingly, the loss of any key supplier or contract manufacturer could adversely impact our business, operating results and financial condition.

Our solutions use third-party software and services that may be difficult to replace or cause errors or failures of our solutions that could lead to a loss of customers or harm to our reputation and our operating results.

We license third-party software and depend on services from various third parties for use in our solutions. In the future, such software or services may not be available to us on commercially reasonable terms, or at all. Any loss of the right to use any of the software or services could result in decreased functionality of our solutions until equivalent technology is either developed by us or, if available from another provider, is identified, obtained and integrated, which could harm our business. In addition, any errors or defects in or failures of the third-party software or services could result in errors or defects in our solutions or cause our solutions to fail, which could harm our business and be costly to correct. Many of these providers attempt to impose limitations on their liability for such errors, defects or failures, and if enforceable, we may have additional liability to our customers or third-party providers that could harm our reputation and increase our operating costs.

We will need to maintain our relationships with third-party software and service providers, and obtain from such providers software and services that do not contain any errors or defects. Any failure to do so could adversely impact our ability to deliver effective products to our customers and could harm our operating results.

We use artificial intelligence in our products and services which may result in operational challenges, legal liability, reputational concerns and competitive risks.

We currently use and intend to leverage generative AI processes and algorithms and our own evolving cognitive and analytical applications into our daily operations, including by deploying generative AI into our products and services, which may result in adverse effects to our financial condition, results or reputation. Generative AI products and services leverage existing and widely available technologies, such as Chat GPT-4 and its successors, or alternative large language models or other processes. The use of generative AI processes at scale is relatively new, and may lead to challenges, concerns and risks that are significant or that we may not be able to predict, especially if our use of these technologies in our products and services becomes more important to our operations over time.

Use of generative AI in our products and services may be difficult to deploy successfully due to operational issues inherent to the nature of such technologies, and our customers may not adopt or integrate our new services as intended. For example, AI algorithms use machine learning and predictive analytics which may lead to flawed, biased, and inaccurate results, which could lead to customer rejection or skepticism of such products. Emerging ethical issues surround the use of AI, and if our deployment or use of AI becomes controversial, we may be subject to reputational risk. Further, unauthorized use or misuse of AI by our employees or others may result in disclosure of confidential company and customer data, reputational harm, privacy law violations and legal liability. Our use of AI may also lead to novel and urgent cybersecurity risks, including the misuse of personal information, which may adversely affect our operations and reputation.

As a result, we may not be able to successfully integrate AI into our products, services and operations despite expending significant time and monetary resources to attempt to do so. Our investments in deploying such technologies may be substantial and may be more expensive than anticipated. If we fail to deploy AI as intended, our competitors may

45


 

incorporate AI technology into their products or services more successfully than we do, which may impair our ability to effectively compete in the market.

Uncertainty in the legal regulatory regime relating to AI may require significant resources to modify and maintain business practices to comply with U.S. and non-U.S. laws, the nature of which cannot be determined at this time. Several jurisdictions around the globe, including Europe and certain U.S. states, have already proposed or enacted laws governing AI. For example, European regulators have proposed a stringent AI regulation, and we expect other jurisdictions will adopt similar laws. Other jurisdictions may decide to adopt similar or more restrictive legislation that may render the use of such technologies challenging.

If we do not or cannot maintain the compatibility of our platform with applications that our customers use, our business could suffer.

Some of our customers choose to integrate our solutions with certain other systems used by our customers, such as real-time Technologic, Forensic Logic or SafePointe platforms or computer-aided dispatch systems. The functionality and popularity of our solutions depend, in part, on our ability to integrate our solutions into these systems. Providers of these systems may change the features of their technologies, restrict our access to their applications or alter the terms governing use of their applications in an adverse manner. Such changes could functionally limit or terminate our ability to use these technologies in conjunction with our solutions, which could negatively impact our customer service and harm our business. If we fail to integrate our solutions with applications that our customers use, we may not be able to offer the functionality that our customers need, and our customers may not renew their agreements, which would negatively impact our ability to generate revenues and adversely impact our business.

We are in the process of expanding our international operations, which exposes us to significant risks.

We currently operate in limited number of locations outside the United States. A key component to our business strategy is to expand our international operations to increase our revenues from customers outside of the United States as part of our growth strategy. Operating in international markets requires significant resources and management attention and will subject us to regulatory, economic and political risks in addition to those we already face in the United States. In addition, we will need to invest time and resources in understanding the regulatory framework and political environments of our potential customers overseas in order to focus our sales efforts. Because such regulatory and political considerations are likely to vary across jurisdictions, this effort will require additional time and attention from our sales team and could lead to a sales cycle that is longer than our typical process for sales in the United States. We also may need to hire additional employees and otherwise invest in our international operations in order to reach new customers. Because of our limited experience with international operations as well as developing and managing sales in international markets, our international expansion efforts may be delayed or may not be successful.

In addition, we face and will continue to face risks in doing business internationally that could adversely affect our business, including:

the potential impact of currency exchange fluctuations;
the need to comply with local data residency requirements;
the availability and reliability of local data centers and internet bandwidth providers;
the difficulty of staffing and managing international operations and the increased operations, travel, shipping and compliance costs associated with having customers in numerous international locations;
potentially greater difficulty collecting accounts receivable and longer payment cycles;
the availability and cost of coverage by wireless carriers in international markets;
higher or more variable costs associated with wireless carriers and other service providers;
the need to offer customer support in various languages;
challenges in understanding and complying with local laws, regulations and customs in foreign jurisdictions, including laws regarding privacy and government surveillance;
export controls and economic sanctions administered by the Department of Commerce Bureau of Industry and Security and the Treasury Department’s Office of Foreign Assets Control;
compliance with various anti-bribery and anti-corruption laws such as the Foreign Corrupt Practices Act and United Kingdom Bribery Act of 2010;

46


 

tariffs and other non-tariff barriers, such as quotas and local content rules;
more limited protection for our intellectual property in some countries;
adverse or uncertain tax consequences as a result of international operations;
currency control regulations, which might restrict or prohibit our conversion of other currencies into U.S. dollars;
restrictions on the transfer of funds;
deterioration of political relations between the United States and other countries; and
political or social unrest, global pandemics, or economic instability in a specific country or region in which we operate, which could have an adverse impact on our operations in that location.

Also, we expect that due to costs related to our international expansion efforts and the increased cost of doing business internationally, we will incur higher costs to secure sales to international customers than the comparable costs for domestic customers. As a result, our financial results may fluctuate as we expand our operations and customer base worldwide.

Our failure to manage any of these risks successfully could harm our international operations, and adversely affect our business, operating results and financial condition.

We are dependent on the continued services and performance of our senior management and other key personnel, the loss of any of whom could adversely affect our business.

Our future success depends in large part on the continued contributions of our senior management and other key personnel. In particular, the leadership of key management personnel is critical to the successful management of our company, the development of our products, and our strategic direction. We also depend on the contributions of key technical personnel.

We do not maintain “key person” insurance for any member of our senior management team or any of our other key employees. Our senior management and key personnel are all employed on an at-will basis, which means that they could terminate their employment with us at any time, for any reason and without notice. The loss of any of our key management personnel could significantly delay or prevent the achievement of our development and strategic objectives and adversely affect our business.

If we are unable to attract, integrate and retain additional qualified personnel, including top technical talent, our business could be adversely affected.

Our future success depends in part on our ability to identify, attract, integrate and retain highly skilled technical, managerial, sales and other personnel. We face intense competition for qualified individuals from numerous other companies, including other software and technology companies, many of whom have greater financial and other resources than we do. Some of these characteristics may be more appealing to high-quality candidates than those we have to offer. In addition, new hires often require significant training and, in many cases, take significant time before they achieve full productivity. We may incur significant costs to attract and retain qualified personnel, including significant expenditures related to salaries and benefits and compensation expenses related to equity awards, and we may lose new employees to our competitors or other companies before we realize the benefit of our investment in recruiting and training them. Moreover, new employees, especially those who work remotely, may not be or become as productive as we expect, as we may face challenges in adequately or appropriately integrating them into our workforce and culture. If we are unable to attract, integrate and retain suitably qualified individuals who are capable of meeting our growing technical, operational and managerial requirements, on a timely basis or at all, our business will be adversely affected.

Volatility or lack of positive performance in our stock price may also affect our ability to attract and retain our key employees. Many of our senior management personnel and other key employees have become, or will soon become, vested in a substantial amount of stock or stock options. Employees may be more likely to leave us if the shares they own or the shares underlying their vested options have significantly appreciated in value relative to the original purchase prices of the shares or the exercise prices of the options, or, conversely, if the exercise prices of the options that they hold are significantly above the market price of our common stock. If we are unable to appropriately incentivize and retain our employees through equity compensation, or if we need to increase our compensation expenses in order to appropriately incentivize and retain our employees, our business, operating results and financial condition would be adversely affected.

Legal and Regulatory Risks

47


 

 

We are subject to stringent and evolving laws, governmental regulation contractual obligations, policies and other legal obligations, particularly related to data privacy and security. Our actual or perceived failure to comply with such obligations could lead to regulatory investigations or actions; litigation (including class claims) and mass arbitration; fines and penalties; disruptions of our business operations; reputation harm; loss of revenue or profits; loss of customers or sales; and other adverse business consequences. Compliance with such laws could impair our efforts to maintain and expand our customer base, and thereby decrease our revenues.

In the ordinary course of business, we process confidential, proprietary, and/or sensitive information, including data collected by our sensors , personal information business data, trade secrets, and intellectual property. Accordingly, our data processing activities are subject to a variety of data privacy and security obligations, such as various laws, regulations, guidance, industry standards, external and internal privacy and security policies, contractual requirements, and other obligations relating to data privacy and security and restrictions on audio monitoring and the collection, use, storage and disclosure of personal information. In the United States, federal, state, and local governments have enacted numerous data privacy and security laws, including data breach notification laws, privacy laws, consumer protection laws (e.g., Section 5 of the Federal Trade Commission Act), and other similar laws (e.g., wiretapping laws).

Various U.S. states —including California, Virginia, Colorado, Connecticut, and Utah—have adopted and others are considering proposals for comprehensive data privacy and security laws and regulations. that impose certain obligations on covered businesses, including providing specific disclosures in privacy notices and affording residents with certain rights concerning their personal information., As applicable, such rights may include the right to access, correct and delete certain personal information, and to opt-out of certain data processing activities, such as targeted advertising, profiling, and automated decision-making. The exercise of these rights may impact our business and ability to provide our products and services. These state laws also allow for statutory fines for noncompliance.

For example the California Consumer Privacy Act (“CCPA”), applies to personal information of consumers, business representatives, and employees who are California residents, and requires businesses to provide specific disclosures in privacy notices and honor requests of California residents to exercise certain privacy rights, such as those noted below. The CCPA provides for fines of up to $7,500 per intentional violation and allows private litigants affected by certain data breaches to recover significant statutory damages. Other similar laws are being considered in several other states, as well as at the federal and local levels. These developments further complicate compliance efforts, and increase legal risk and compliance costs for us, and the third parties upon whom we rely.

Outside the United States, an increasing number of laws, regulations, and industry standards govern data privacy and security. For example, the European Union’s General Data Protection Regulation (“EU GDPR”), the United Kingdom’s GDPR (“UK GDPR”), Brazil’s General Data Protection Law (Lei Geral de Proteção de Dados Pessoais, or “LGPD”) (Law No. 13,709/2018), and China’s Personal Information Protection Law (“PIPL”) impose strict requirements for processing personal information. For example, under the EU GDPR and UK GDPR, companies may face temporary or definitive bans on data processing and other corrective actions; fines of up to 20 million Euros under the EU GDPR, 17.5 million pounds sterling under the UK GDPR or, in each case, 4% of annual global revenue, whichever is greater; or private litigation related to processing of personal information brought by classes of data subjects or consumer protection organizations authorized at law to represent their interests.

Additionally, we may be required, under various data privacy and security laws and other obligations, to obtain certain consents to process personal information. Our inability or failure to do so could result in adverse consequences. For example, some of our data processing practices may be challenged under wiretapping laws, if we obtain consumer information from third parties through various methods, including chatbot and session replay providers, or via third-party marketing pixels. These practices may be subject to increased challenges by class action plaintiffs. Our inability or failure to obtain consent for these practices could result in adverse consequences, including class action litigation and mass arbitration demands.

Regulators are increasingly scrutinizing the activities of data suppliers, and laws in the United States (including the CCPA and California’s Delete Act) and other jurisdictions are likewise regulating such activity. These laws, which may apply to us and our partners, pose additional, material compliance risks to data suppliers, and suppliers may not be able to provide personal information in compliance with these laws.

For example, some data suppliers are required to register as data brokers under California and Vermont law and file reports with regulators, which exposes them to increased scrutiny. Additionally, California’s Delete Act requires a regulatory agency to establish by January 1, 2026 a mechanism to allow California consumers to submit a single, verifiable request to delete all of their personal information held by all registered data brokers and their service providers. Moreover, data suppliers have recently been subject to increased litigation under various claims of violating certain state privacy

48


 

laws. These laws and related challenges may make it so difficult for us or our suppliers to provide the data that the costs associated with the data materially increase or may materially decrease the availability of data that data suppliers can provide.

In addition, we may face compliance risks and limitations on our ability to use certain data provided by our data suppliers if those suppliers have not complied with applicable privacy laws, provided appropriate notice to data subjects, obtained necessary consents, or established a legal basis for the transfer and processing of the data by us.

Our employees and personnel use generative AI technologies to perform their work, and the disclosure and use of personal information in generative AI technologies is subject to various data privacy and security laws and other obligations. Governments have passed and are likely to pass additional laws regulating generative AI. Our use of this technology could result in additional compliance costs, regulatory investigations and actions, and consumer lawsuits. If we are unable to use generative AI, it could make our business less efficient and result in competitive disadvantages. We use AI/ML to assist us in making certain decisions, which is regulated by certain data privacy and security laws. Due to inaccuracies or flaws in the inputs, outputs, or logic of the AI/ML, the model could be biased and could lead us to make decisions that could bias certain individuals (or classes of individuals), and adversely impact their rights, employment, and ability to obtain certain pricing, products, services, or benefits.

We are also bound by contractual obligations related to data privacy and security, and our efforts to comply with such obligations may not be successful. For example, certain data privacy and security laws, such as the GDPR and the CCPA, require our customers to impose specific contractual restrictions on their service providers. We publish privacy policies, marketing materials and other statements, such as compliance with certain certifications or self-regulatory principles, regarding data privacy and security. If these policies, materials or statements are found to be deficient, lacking in transparency, deceptive, unfair, or misrepresentative of our practices, we may be subject to investigation, enforcement actions by regulators or other adverse consequences.

Obligations related to data privacy and security (and consumers’ data privacy and security expectations) are quickly changing, becoming increasingly stringent, and creating uncertainty. Additionally, these obligations may be subject to differing applications and interpretations, which may be inconsistent or conflict among jurisdictions. Preparing for and complying with these obligations requires us to devote significant resources, which may necessitate changes to our services, information technologies, systems, and practices and to those of any third parties that process personal information on our behalf. In addition, these obligations may require us to change our business model. We may at times fail (or be perceived to have failed) in our efforts to comply with our data privacy and security obligations. Moreover, despite our efforts, our personnel or third parties on whom we rely may fail to comply with such obligations, which could negatively impact our business operations.

If we or the third parties on which we rely fail, or are perceived to have failed, to address or comply with applicable data privacy and security obligations, we could face significant consequences, including but not limited to: government enforcement actions (e.g., investigations, fines, penalties, audits, inspections, and similar); litigation (including class-action claims and mass arbitration demands); additional reporting requirements and/or oversight; bans on processing personal information; orders to destroy or not use personal information; and imprisonment of company officials. In particular, plaintiffs have become increasingly more active in bringing data privacy-related claims against companies, including class claims and mass arbitration demands. Some of these claims allow for the recovery of statutory damages on a per violation basis, and, if viable, carry the potential for monumental statutory damages, depending on the volume of data and the number of violations. Any of these events could have a material adverse effect on our reputation, business, or financial condition, including but not limited to: loss of customers; interruptions or stoppages in our business operations; inability to process personal information or to operate in certain jurisdictions; limited ability to develop or commercialize our products; expenditure of time and resources to defend any claim or inquiry; adverse publicity; or substantial changes to our business model or operations.

We may be subject to additional obligations to collect and remit certain taxes, and we may be subject to tax liability for past activities, which could harm our business.

State, local and foreign jurisdictions have differing rules and regulations governing sales, use, value added and other taxes, and these rules and regulations are subject to varying interpretations that may change over time, particularly with respect to software-as-a-service products like our solutions. Further, these jurisdictions’ rules regarding tax nexus are complex and vary significantly. If one or more jurisdictions were to assert that we have failed to collect taxes for sales of our solutions, we could face the possibility of tax assessments and audits. A successful assertion that we should be collecting additional sales, use, value added or other taxes in those jurisdictions where we have not historically done so and do not accrue for such taxes could result in substantial tax liabilities and related penalties for past sales or otherwise harm our business and operating results.

49


 

Our ability to use our net operating losses to offset future taxable income may be subject to certain limitations.

As of March 31, 2024, we had federal net operating loss carryforwards (“NOLs”) of approximately $58.1 million, of which $53.2 million will begin to expire in 2028, if not utilized. The remaining net operating losses of $4.9 million can be carried forward indefinitely under the Tax Cuts and Jobs Act. As of March 31, 2024, we also had state NOLs of approximately $42.8 million, which begin expiring in 2027. These federal and state NOLs may be available to reduce future income subject to income taxes. In general, under Section 382 of the Internal Revenue Code of 1986, as amended (the “Code”), a corporation that undergoes an “ownership change” is subject to limitations on its ability to utilize its NOLs to offset future taxable income. Past or future changes in our stock ownership, some of which are outside of our control, may have resulted or could result in an ownership change. State NOLs generated in one state cannot be used to offset income generated in another state. In addition, at the state level, there may be periods during which the use of NOLs is suspended or otherwise limited, such as the 2020 temporary suspension of the ability to use California NOLs and limitation on the use of certain tax credits to offset California income and tax liabilities, which could accelerate or permanently increase state taxes owed.

We may be subject to litigation for a variety of claims or to other legal requests, which could adversely affect our results of operations, harm our reputation or otherwise negatively impact our business.

We may be subject to litigation for a variety of claims arising from our normal business activities. These may include claims, suits, and proceedings involving labor and employment, wage and hour, commercial and other matters. The outcome of any litigation, regardless of its merits, is inherently uncertain. Any claims and lawsuits, and the disposition of such claims and lawsuits, could be time-consuming and expensive to resolve, divert management attention and resources, and lead to attempts on the part of other parties to pursue similar claims. Any adverse determination related to litigation could adversely affect our results of operations, harm our reputation or otherwise negatively impact our business. In addition, depending on the nature and timing of any such dispute, a resolution of a legal matter could materially affect our future operating results, our cash flows or both.

An unfavorable outcome on any litigation matters could require us to pay substantial damages, or, in connection with any intellectual property infringement claims, could require us to pay ongoing royalty payments or could prevent us from selling certain of our products. As a result, a settlement of, or an unfavorable outcome on, any of the matters referenced above or other litigation matters could have a material adverse effect on our business, operating results, financial condition and cash flows.

We, or our customers, may be subject to requests for our data or information concerning our techniques and processes, pursuant to state or federal law (for example, public-records requests or subpoenas to provide information or to testify in court). This data and information, some of which we may deem to be confidential or trade secrets, could therefore become a matter of public record and also become accessible by competitors, which could negatively impact our business.

Changes in financial accounting standards may cause adverse and unexpected revenue fluctuations and impact our reported results of operations.

The accounting rules and regulations that we must comply with are complex and subject to interpretation by the Financial Accounting Standards Board, the Securities and Exchange Commission and various bodies formed to promulgate and interpret appropriate accounting principles. In addition, many companies’ accounting disclosures are being subjected to heightened scrutiny by regulators and the public. Further, the accounting rules and regulations are continually changing in ways that could impact our financial statements.

Changes to accounting principles or our accounting policies on our financial statements going forward are difficult to predict, could have a significant effect on our reported financial results, and could affect the reporting of transactions completed before the announcement of the change. In addition, were we to change our critical accounting estimates, including the timing of recognition of subscription and professional services revenues and other revenues sources, our results of operations could be significantly impacted.

Failure to protect our intellectual property rights could adversely affect our business.

Our success depends, in part, on our ability to protect proprietary methods and technologies that we develop or license under patent and other intellectual property laws of the United States, as well as our brands, so that we can prevent others profiting from them. We rely on a combination of contractual and intellectual property rights, including non-disclosure agreements, patents, trade secrets, copyrights and trademarks, to establish and protect our intellectual property rights in our names, services, innovations, methodologies and related technologies. If we fail to protect our intellectual

50


 

property rights adequately, our competitors might gain access to our technology and our business might be adversely affected.

As of March 31, 2024, we had 33 issued patents directed to our technologies, 27 in the United States, two in Brazil, one each in Mexico, the United Kingdom, France and Germany. The issued patents expire on various dates from 2023 to 2034. We have patent applications pending for examination in the United States, Europe, Mexico and Brazil, but we cannot guarantee that these patent applications will be granted. We also license one other U.S. patent from one third party. The patents that we own or those that we license from others (including those that may be issued in the future) may not provide us with any competitive advantages or may be challenged by third parties.

The process of obtaining patent protection is expensive and time-consuming, and we may not be able to prosecute all necessary or desirable patent applications at a reasonable cost or in a timely manner. Even if issued, there can be no assurance that these patents will adequately protect our intellectual property, as the legal standards relating to the validity, enforceability and scope of protection of patent and other intellectual property rights are uncertain.

Any patents that are issued may subsequently be invalidated or otherwise limited, allowing other companies to develop offerings that compete with ours, which could adversely affect our competitive business position, business prospects and financial condition. In addition, issuance of a patent does not guarantee that we have a right to practice the patented invention. Patent applications in the United States are typically not published until 18 months after their earliest priority date or, in some cases, not at all, and publications of discoveries in industry-related literature lag behind actual discoveries. We cannot be certain that third parties do not have blocking patents that could be used to prevent us from marketing or practicing our software or technology.

Effective patent, trademark, copyright and trade secret protection may not be available to us in every country in which our software is available. The laws of some foreign countries may not be as protective of intellectual property rights as those in the United States (in particular, some foreign jurisdictions do not permit patent protection for software), and mechanisms for enforcement of intellectual property rights may be inadequate. Additional uncertainty may result from changes to intellectual property legislation enacted in the United States, including the recent America Invents Act, or to the laws of other countries and from interpretations of the intellectual property laws of the United States and other countries by applicable courts and agencies. Accordingly, despite our efforts, we may be unable to prevent third parties from infringing upon or misappropriating our intellectual property.

We rely in part on trade secrets, proprietary know-how and other confidential information to maintain our competitive position. Although we endeavor to enter into non-disclosure agreements with our employees, licensees and others who may have access to this information, we cannot assure you that these agreements or other steps we have taken will prevent unauthorized use, disclosure or reverse engineering of our technology. Moreover, third parties may independently develop technologies or products that compete with ours, and we may be unable to prevent this competition. Third parties also may seek access to our trade secrets, proprietary know-how and other confidential information through legal measures (for example, public-records requests or subpoenas to provide information or to testify in court) and it could be expensive to defend against those requests. Disclosure of our trade secrets, proprietary know-how and other confidential information could negatively impact our business.

We might be required to spend significant resources to monitor and protect our intellectual property rights. We may initiate claims or litigation against third parties for infringement of our proprietary rights or to establish the validity of our proprietary rights. We may also engage in litigation in response to public-records requests or subpoenas that seek our intellectual property. Litigation also puts our patents at risk of being invalidated or interpreted narrowly and our patent applications at risk of not issuing. Additionally, we may provoke third parties to assert counterclaims against us. We may not prevail in any lawsuits that we initiate or other legal proceedings in which we participate, and the damages or other remedies awarded, if any, may not be commercially viable. Any litigation, whether or not resolved in our favor, could result in significant expense to us and divert the efforts of our technical and management personnel, which may adversely affect our business, operating results, financial condition and cash flows.

We may be subject to intellectual property rights claims by third parties, which are extremely costly to defend, could require us to pay significant damages and could limit our ability to use certain technologies.

Companies in the software and technology industries, including some of our current and potential competitors, own large numbers of patents, copyrights, trademarks and trade secrets and frequently enter into litigation based on allegations of infringement or other violations of intellectual property rights. In addition, many of these companies have the capability to dedicate substantially greater resources to enforce their intellectual property rights and to defend claims that may be brought against them. The litigation may involve patent holding companies or other adverse patent owners that have no relevant product revenues and against which our patents may therefore provide little or no deterrence. We may have

51


 

previously received, and may in the future receive, notices that claim we have misappropriated, misused, or infringed other parties’ intellectual property rights, and, to the extent we gain greater market visibility, we face a higher risk of being the subject of intellectual property infringement claims.

There may be third-party intellectual property rights, including issued or pending patents that cover significant aspects of our technologies or business methods. Any intellectual property claims, with or without merit, could be very time-consuming, could be expensive to settle or litigate and could divert our management’s attention and other resources. These claims could also subject us to significant liability for damages, potentially including treble damages if we are found to have willfully infringed patents or copyrights. These claims could also result in our having to stop using technology found to be in violation of a third party’s rights. We might be required to seek a license for the intellectual property, which may not be available on a timely basis, on reasonable terms or at all. We also may be required to modify our products, services, internal systems or technologies. Even if a license were available, we could be required to pay significant royalties, which would increase our operating expenses. As a result, we may be required to develop alternative non-infringing technology, which could require significant effort and expense. If we cannot license or develop technology for any infringing aspect of our business, we would be forced to limit or stop sales of our software and may be unable to compete effectively. Any of these results would adversely affect our business, operating results, financial condition and cash flows.

Our use of generative artificial intelligence tools may pose particular risks to our proprietary software and systems and subject us to legal liability.

We use generative AI tools in our business, including to generate code and other materials incorporated with our proprietary software and systems, and expect to use generative AI tools in the future. Generative AI tools producing content which can be indistinguishable from that generated by humans is a relatively novel development, with benefits, risks, and liabilities still unknown. Recent decisions of the U.S. Copyright Office suggest that we would not be able to claim copyright ownership in any source code, text, images, or other materials, which we develop through use of generative AI tools, and the availability of such protections in other countries is unclear. As a result, we could have no remedy if third parties reused those same materials, or similar materials also generated by AI tools.

We also face risks to any confidential or proprietary information of the Company which we may include in any prompts or inputs into any generative AI tools, as the providers of the generative AI tools may use these inputs or prompts to further train the tools. Not all providers offer an option to opt-out of such usage, and, even where we do opt-out, we cannot guarantee that the opt-out will be fully effective. In addition, we have little or no insight into the third-party content and materials used to train these generative AI tools, or the extent of the original works which remain in the outputs. As a result, we may face claims from third parties claiming infringement of their intellectual property rights, or mandatory compliance with open source software or other license terms, with respect to software, or other materials or content we believed to be available for use, and not subject to license terms or other third-party proprietary rights. We could also be subject to claims from the providers of the generative AI tools, if we use any of the generated materials in a manner inconsistent with their terms of use. Any of these claims could result in legal proceedings and could require us to purchase a costly license, comply with the requirement of open source software license terms, or limit or cease using the implicated software, or other materials or content unless and until we can re-engineer such software, materials, or content to avoid infringement or change the use of, or remove, the implicated third-party materials, which could reduce or eliminate the value of our technologies and services. Our use of generative AI tools may also present additional security risks because the generated source code may have been modelled from publicly available code, or otherwise not subject to all of our standard internal controls, which may make it easier for hackers and other third parties to determine how to breach our website and systems that rely on the code. Any of these risks could be difficult to eliminate or manage, and, if not addressed, could have a material adverse effect on our business, results of operations, financial condition, and future prospects.

Our use of open source software could subject us to possible litigation.

A portion of our technologies incorporates open source software, and we expect to continue to incorporate open source software into our platform in the future. Few of the licenses applicable to open source software have been interpreted by courts, and their application to the open source software integrated into our proprietary technology platform may be uncertain. If we fail to comply with these licenses, then pursuant to the terms of these licenses, we may be subject to certain requirements, including requirements that we make available the source code for our software that incorporates the open source software. We cannot assure you that we have not incorporated open source software in our software in a manner that is inconsistent with the terms of the applicable licenses or our current policies and procedures. If an author or other third party that distributes such open source software were to allege that we had not complied with the conditions of one or more of these licenses, we could incur significant legal expenses defending against such allegations. Litigation

52


 

could be costly for us to defend, have a negative effect on our operating results and financial condition or require us to devote additional research and development resources to change our technology platform.

Risks Related to the Ownership of Our Common Stock

 

Our stock price may be volatile or may decline regardless of our operating performance, resulting in substantial losses for investors.

The market price of our common stock has fluctuated and may continue to fluctuate significantly in response to numerous factors, many of which are beyond our control, including the factors listed below and other factors described in this “Risk Factors” section:

actual or anticipated fluctuations in our operating results;
the financial projections we may provide to the public, any changes in these projections or our failure to meet these projections;
failure of securities analysts to initiate or maintain coverage of our company, changes in financial estimates by any securities analysts who follow our company, or our failure to meet these estimates or the expectations of investors;
ratings changes by any securities analysts who follow our company;
changes in the availability of federal funding to support local law enforcement efforts, or local budgets;
announcements by us of significant technical innovations, acquisitions, strategic partnerships, joint ventures or capital commitments;
changes in operating performance and stock market valuations of other software companies generally;
price and volume fluctuations in the overall stock market, including as a result of trends in the economy as a whole;
changes in our board of directors or management;
sales of large blocks of our common stock, including sales by our executive officers, directors and significant stockholders;
lawsuits threatened or filed against us;
novel and unforeseen market forces and trading strategies, as well as short sales, hedging and other derivative transactions involving our capital stock;
the impact of past and potential future disruptions in access to bank deposits and lending commitments due to bank failures, and other macroeconomic pressures;
general economic conditions in the United States and abroad;
other events or factors, including those resulting from pandemics, protests against racial inequality, protests against police brutality and movements such as “Defund the Police,” war, incidents of terrorism or responses to these events; and
negative publicity, including false information, regarding our solutions.

In addition, stock markets have experienced extreme price and volume fluctuations that have affected and continue to affect the market prices of equity securities of many software companies. Stock prices of many software companies have fluctuated in a manner unrelated or disproportionate to the operating performance of those companies. Broad market and industry fluctuations, as well as general economic, political, regulatory and market conditions, may negatively impact the market price of our common stock. In the past, stockholders have instituted securities action litigation following periods of market volatility. If we were to become involved in securities litigation, it could subject us to substantial costs, divert resources and the attention of management from our business and adversely affect our business, operating results, financial condition and cash flows.

Substantial future sales of shares of our common stock could cause the market price of our common stock to decline.

53


 

Non-affiliates have the ability to sell shares of our common stock in the open market or through block trades without being subject to volume restrictions under Rule 144 of the Securities Act. In addition, in the future we may issue common stock or other securities if we need to raise additional capital. The number of new shares of our common stock issued in connection with raising additional capital could constitute a material portion of the then outstanding shares of our common stock. In the event a large number of shares of common stock are sold in the public market, such share sales could reduce the trading price of our common stock.

Stock repurchases could increase the volatility of the trading price of our common stock and diminish our cash reserves, and we cannot guarantee that our stock repurchase program will enhance long-term stockholder value.

In November 2022, our board of directors approved a new stock repurchase program for up to $25.0 million of our common stock, of which $5.6 million was utilized as of March 31, 2024. Although our board of directors has authorized the stock repurchase program, it does not obligate us to repurchase any specific dollar amount or number of shares, there is no expiration date for the stock repurchase program, and the stock repurchase program may be modified, suspended or terminated at any time and for any reason. The timing and actual number of shares repurchased under the stock repurchase program will depend on a variety of factors, including the acquisition price of the shares, our liquidity position, general market and economic conditions, legal and regulatory requirements and other considerations. Our ability to repurchase shares may also be limited by restrictive covenants in our existing credit agreement or in future borrowing arrangements we may enter into from time to time.

Repurchases of our shares could increase the volatility of the trading price of our stock, which could have a negative impact on the trading price of our stock. Similarly, the future announcement of the termination or suspension of the stock repurchase program, or our decision not to utilize the full authorized repurchase amount under the stock repurchase program, could result in a decrease in the trading price of our stock. In addition, the stock repurchase program could have the impact of diminishing our cash reserves, which may impact our ability to finance our growth, complete acquisitions and execute our strategic plan. There can be no assurance that any share repurchases we do elect to make will enhance stockholder value because the market price of our common stock may decline below the levels at which we repurchased our shares. Although our stock repurchase program is intended to enhance long-term stockholder value, we cannot guarantee that it will do so and short-term stock price fluctuations could reduce the effectiveness of the stock repurchase program.

If securities or industry analysts do not publish research or reports about our business, or publish negative reports about our business, our share price and trading volume could decline.

The trading market for our common stock depends in part on the research and reports that securities or industry analysts publish about us or our business, our market and our competitors. We do not have any control over these analysts. If one or more of the analysts who cover us downgrade our shares of common stock or change their opinion of our shares of common stock, our share price would likely decline. If one or more of these analysts cease coverage of our company or fail to regularly publish reports on us, we could lose visibility in the financial markets, which could cause our share price or trading volume to decline.

We incur substantial costs as a result of being a public company.

As a public company, we are incurring significant levels of legal, accounting, insurance and other expenses that we did not incur as a private company. We are subject to the reporting requirements of the Exchange Act, the Sarbanes-Oxley Act, the Dodd-Frank Act, the listing requirements of the Nasdaq Capital Market, and other applicable securities rules and regulations. Compliance with these rules and regulations increases our legal and financial compliance costs, makes some activities more difficult, time-consuming or costly and increases demand on our systems and resources as compared to when we operated as a private company. The Exchange Act requires, among other things, that we file annual, quarterly and current reports with respect to our business and operating results. The Sarbanes-Oxley Act requires, among other things, that we maintain effective disclosure controls and procedures and internal control over financial reporting. In order to maintain and, if required, improve our disclosure controls and procedures and internal control over financial reporting to meet this standard, significant resources and management oversight may be required. As a result, management’s attention may be diverted from other business concerns, which could adversely affect our business and operating results. Although we have already hired additional corporate employees to comply with these requirements, we may need to hire more corporate employees in the future or engage outside consultants, which would increase our costs and expenses.

In addition, changing laws, regulations and standards relating to corporate governance and public disclosure are creating uncertainty for public companies, increasing legal and financial compliance costs and making some activities more time-consuming. These laws, regulations and standards are subject to varying interpretations, in many cases due to their lack of specificity, and, as a result, their application in practice may evolve over time as new guidance is provided

54


 

by regulatory and governing bodies. This could result in continuing uncertainty regarding compliance matters and higher costs necessitated by ongoing revisions to disclosure and governance practices. We intend to invest resources to comply with evolving laws, regulations and standards, and this investment may result in increased general and administrative expenses and a diversion of management’s time and attention from revenue-generating activities to compliance activities. If our efforts to comply with new laws, regulations and standards differ from the activities intended by regulatory or governing bodies due to ambiguities related to their application and practice, regulatory authorities may initiate legal proceedings against us and our business may be adversely affected.

As a result of disclosure of information in this report and in the filings that we are required to make as a public company, our business, operating results and financial condition have become more visible, which has resulted in, and may in the future result in threatened or actual litigation, including by competitors and other third parties. If any such claims are successful, our business, operating results and financial condition could be adversely affected, and even if the claims do not result in litigation or are resolved in our favor, these claims, and the time and resources necessary to resolve them, could divert the resources of our management and adversely affect our business, operating results and financial condition.

We do not intend to pay dividends for the foreseeable future.

We have never declared or paid any cash dividends on our common stock and do not intend to pay any cash dividends in the foreseeable future. We anticipate that we will retain all of our future earnings for use in the development of our business and for general corporate purposes. Any determination to pay dividends in the future will be at the discretion of our board of directors. Accordingly, investors must rely on sales of their common stock after price appreciation, which may never occur, as the only way to realize any future gains on their investments.

Anti-takeover provisions in our charter documents and under Delaware law could make an acquisition of our company more difficult, limit attempts by our stockholders to replace or remove our current management and limit the market price of our common stock.

Provisions in our certificate of incorporation and bylaws may have the effect of delaying or preventing a change of control or changes in our management. Our certificate of incorporation and bylaws include provisions that:

establish a classified board of directors so that not all members of our board of directors are elected at one time;
permit the board of directors to establish the number of directors and fill any vacancies and newly-created directorships;
provide that directors may only be removed for cause;
require super-majority voting to amend some provisions in our certificate of incorporation and bylaws;
authorize the issuance of “blank check” preferred stock that our board of directors could use to implement a stockholder rights plan;
eliminate the ability of our stockholders to call special meetings of stockholders;
prohibit stockholder action by written consent, which requires all stockholder actions to be taken at a meeting of our stockholders;
provide that the board of directors is expressly authorized to make, alter or repeal our bylaws; and
establish advance notice requirements for nominations for election to our board of directors or for proposing matters that can be acted upon by stockholders at annual stockholder meetings.

In addition, we are governed by the provisions of Section 203 of the Delaware General Corporation Law, which generally prohibits stockholders owning 15% or more of our outstanding voting stock from merging or otherwise combining with us for a period of three years following the date on which the stockholder became a 15% stockholder without the consent of our board of directors. These provisions may frustrate or prevent any attempts by our stockholders to replace or remove our current management by making it more difficult for stockholders to replace members of our board of directors, which is responsible for appointing the members of our management, and otherwise discourage management takeover attempts.

Our certificate of incorporation contains exclusive forum provisions that could limit our stockholders’ ability to obtain a favorable judicial forum for disputes with us.

55


 

Pursuant to our certificate of incorporation, unless we consent in writing to the selection of an alternative forum, the Court of Chancery of the State of Delaware is the sole and exclusive forum for (1) any derivative action or proceeding brought on our behalf, (2) any action asserting a claim of breach of a fiduciary duty owed by any of our directors, officers or other employees to us or our stockholders, (3) any action asserting a claim arising pursuant to any provision of the Delaware General Corporation Law, our certificate of incorporation or our bylaws or (4) any action asserting a claim governed by the internal affairs doctrine. Our certificate of incorporation further provides that any person or entity purchasing or otherwise acquiring any interest in shares of our common stock is deemed to have notice of and consented to the foregoing provision.

Our certificate of incorporation further provides that the federal district courts of the United States of America will be the exclusive forum for resolving any complaint asserting a cause of action arising under the Securities Act. These forum selection clauses in our certificate of incorporation may limit our stockholders’ ability to obtain a favorable judicial forum for disputes with us. While the Delaware courts have determined that such choice of forum provisions are facially valid and several state trial courts have enforced such provisions and required that suits asserting Securities Act claims be filed in federal court, there is no guarantee that courts of appeal will affirm the enforceability of such provisions and a stockholder may nevertheless seek to bring a claim in a venue other than those designated in the exclusive forum provisions. In such instance, we would expect to vigorously assert the validity and enforceability of the exclusive forum provisions of our certificate of incorporation. This may require significant additional costs associated with resolving such action in other jurisdictions and there can be no assurance that the provisions will be enforced by a court in those other jurisdictions. If a court were to find either exclusive forum provision in our certificate of incorporation to be inapplicable or unenforceable in an action, we may incur further significant additional costs associated with litigating Securities Act claims in state court, or both state and federal court, which could seriously harm our business, financial condition, results of operations, and prospects.

 

56


 

Item 2. Unregistered Sales of Equity Securities, Use of Proceeds and Issuer Purchases of Equity Securities

(a) Unregistered Sales of Equity Securities

None.

(b) Use of Proceeds

None.

(c) Issuer Purchases of Equity Securities

None.

Item 6. Exhibits

57


 

Exhibit Index

 

Exhibit

 

Exhibit

 

Incorporated by Reference

 

Filed

Number

Description

Form

 

File No.

 

Exhibit

 

Filing Date

Herewith

3.1

Amended and Restated Certificate of Incorporation

8-K

 

001-38107

 

3.1

 

April 11, 2023

3.2

 

Certificate of Change of Registered Agent

 

10-Q

 

001-38107

 

3.2

 

August 10, 2023

 

 

3.3

Amended and Restated Bylaws

8-K

 

001-38107

 

3.1

 

November 9, 2023

 

 

 

 

 

 

 

 

 

 

 

 

 

31.1

Certification of Principal Executive Officer Pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

 

 

 

 

 

 

 

X

31.2

Certification of Principal Financial Officer Pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as Adopted Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

 

 

 

 

 

 

 

X

32.1*

Certification of Principal Executive Officer and Principal Financial Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

 

 

 

 

 

 

 

X

 101.INS

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

 

 

 

 

 

 

 

X

 101.SCH

Inline XBRL Taxonomy Extension Schema with Embedded Linkbase Documents

 

 

 

 

 

 

 

X

104

Cover Page formatted as Inline XBRL and contained in Exhibit 101

 

 

 

 

 

 

 

X

 

 

 

* Furnished herewith and not deemed to be “filed” for purposes of Section 18 of the Exchange Act, and shall not be deemed to be incorporated by reference into any filing under the Securities Act, or the Exchange Act (whether made before or after the date of the Form 10-Q), irrespective of any general incorporation language contained in such filing.

 

 

58


 

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.

SOUNDTHINKING, INC.

Date: May 15, 2024

By:

/s/ Ralph A. Clark

Ralph A. Clark

President and Chief Executive Officer

Date: May 15, 2024

By:

/s/ Alan R. Stewart

Alan R. Stewart

Chief Financial Officer

 

59


EX-31.1 2 ssti-ex31_1.htm EX-31.1 EX-31.1

Exhibit 31.1

CERTIFICATION OF PERIODIC REPORT UNDER SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Ralph A. Clark, certify that:

1. I have reviewed this Form 10-Q of SoundThinking, Inc.;

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c) Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

(d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of 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.

May 15, 2024

/s/ Ralph A. Clark

 

Ralph A. Clark


 

President and Chief Executive Officer

(Principal Executive Officer)


EX-31.2 3 ssti-ex31_2.htm EX-31.2 EX-31.2

Exhibit 31.2

CERTIFICATION OF PERIODIC REPORT UNDER SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Alan R. Stewart, certify that:

1. I have reviewed this Form 10-Q of SoundThinking, Inc.;

2. Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3. Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

4. The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a) Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b) Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c) Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

(d) Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of 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.

May 15, 2024

/s/ Alan R. Stewart

 

Alan R. Stewart

 

Chief Financial Officer

(Principal Financial and Accounting Officer)

 


EX-32.1 4 ssti-ex32_1.htm EX-32.1 EX-32.1

Exhibit 32.1

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350, AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

Pursuant to the requirement set forth in Rule 13a-14(b) of the Securities Exchange Act of 1934, as amended, (the “Exchange Act”) and Section 1350 of Chapter 63 of Title 18 of the United States Code (18 U.S.C. §1350), Ralph A. Clark, President and Chief Executive Officer of SoundThinking, Inc. (the “Company”), and Alan R. Stewart, Chief Financial Officer of the Company, each hereby certifies that, to the best of his knowledge:

(1)
The Company’s Quarterly Report on Form 10-Q for the period ended March 31, 2024 to which this Certification is attached as Exhibit 32.1 (the “Periodic Report”), fully complies with the requirements of Section 13(a) or Section 15(d) of the Exchange Act; and
(2)
The information contained in the Periodic Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Date: May 15, 2024

 

/s/

Ralph A. Clark

 

/s/

Alan R. Stewart

 

 

 

 

 

Ralph A. Clark

 

Alan R. Stewart

President and Chief Executive Officer

 

Chief Financial Officer

(Principal Executive Officer)

 

(Principal Financial and Accounting Officer)

 

This certification accompanies the Form 10-Q to which it relates, is not deemed filed with the Securities and Exchange Commission and is not to be incorporated by reference into any filing of SoundThinking, Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended (whether made before or after the date of the Form 10-Q), irrespective of any general incorporation language contained in such filing.


EX-101.SCH 5 ssti-20240331.xsd XBRL TAXONOMY EXTENSION SCHEMA WITH EMBEDDED LINKBASES DOCUMENT 100000 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100020 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 100030 - Statement - Condensed Consolidated Statements of Operations (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100040 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100050 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100060 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 100070 - Disclosure - Organization and Description of Business link:presentationLink link:calculationLink link:definitionLink 100080 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 100090 - Disclosure - Revenue Related Disclosures link:presentationLink link:calculationLink link:definitionLink 100100 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 100110 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 100120 - Disclosure - Goodwill link:presentationLink link:calculationLink link:definitionLink 100130 - Disclosure - Intangible Assets, Net link:presentationLink link:calculationLink link:definitionLink 100140 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts link:presentationLink link:calculationLink link:definitionLink 100150 - Disclosure - Related Party Transactions link:presentationLink link:calculationLink link:definitionLink 100160 - Disclosure - Stock Repurchase Program link:presentationLink link:calculationLink link:definitionLink 100170 - Disclosure - Net Income (Loss) per Share link:presentationLink link:calculationLink link:definitionLink 100180 - Disclosure - Equity Incentive Plans link:presentationLink link:calculationLink link:definitionLink 100190 - Disclosure - Financing Arrangements link:presentationLink link:calculationLink link:definitionLink 100200 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 100210 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 100220 - Disclosure - Revenue Related Disclosures (Tables) link:presentationLink link:calculationLink link:definitionLink 100230 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 100240 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 100250 - Disclosure - Goodwill (Tables) link:presentationLink link:calculationLink link:definitionLink 100260 - Disclosure - Intangible Assets, Net (Tables) link:presentationLink link:calculationLink link:definitionLink 100270 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables) link:presentationLink link:calculationLink link:definitionLink 100280 - Disclosure - Net Income (Loss) per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 100290 - Disclosure - Equity Incentive Plans (Tables) link:presentationLink link:calculationLink link:definitionLink 100300 - Disclosure - Organization and Description of Business - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100310 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100320 - Disclosure - Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 100330 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details) link:presentationLink link:calculationLink link:definitionLink 100340 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details) link:presentationLink link:calculationLink link:definitionLink 100350 - Disclosure - Revenue Related Disclosures - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100360 - Disclosure - Acquisitions - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100370 - Disclosure - Acquisitions - Summary of Assignment of Fair Value to Identified Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 100380 - Disclosure - Fair Value Measurements - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100390 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 100400 - Disclosure - Goodwill - Schedule of Changes in Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 100410 - Disclosure - Intangible Assets, Net - Schedule of Intangible Assets Net (Details) link:presentationLink link:calculationLink link:definitionLink 100420 - Disclosure - Intangible Assets, Net - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100430 - Disclosure - Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details) link:presentationLink link:calculationLink link:definitionLink 100440 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Assets, Net (Details) link:presentationLink link:calculationLink link:definitionLink 100450 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details) link:presentationLink link:calculationLink link:definitionLink 100460 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Assets (Details) link:presentationLink link:calculationLink link:definitionLink 100470 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 100480 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 100490 - Disclosure - Related Party Transactions - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100500 - Disclosure - Net Income (Loss) per Share - Summary of Computation of Basic and Diluted Net Income (Loss) per Share (Details) link:presentationLink link:calculationLink link:definitionLink 100510 - Disclosure - Net Income (Loss) per Share - Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Income (Loss) per Share (Details) link:presentationLink link:calculationLink link:definitionLink 100520 - Disclosure - Equity Incentive Plans - Schedule of Stock Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 100530 - Disclosure - Equity Incentive Plans - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100540 - Disclosure - Equity Incentive Plans - Schedule of Unvested Restricted Stock Units Awards Activity - (Details) link:presentationLink link:calculationLink link:definitionLink 100550 - Disclosure - Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details) link:presentationLink link:calculationLink link:definitionLink 100560 - Disclosure - Financing Arrangements - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100570 - Disclosure - Commitments and Contingencies - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 100580 - Disclosure - Subsequent Events - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink Goodwill [Line Items] Document Transition Report Document Transition Report Revenue, Remaining Performance Obligation, Amount Estimated remaining performance obligations for contractually committed revenues Percentage of discounted cash flows Percentage of discounted cash flows Percentage of Discounted Cash Flows Geographical [Axis] Geographical Summary of Changes in Fair Value of Contingent Consideration Liabilities Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] Cost of Revenue Total costs Accrued expenses and other current liabilities. Accrued Expenses And Other Current Liabilities [Abstract] Other Liabilities, Noncurrent Other liabilities Other liabilities, noncurrent Increase (Decrease) in Prepaid Expense and Other Assets, Total Increase (Decrease) in Prepaid Expense and Other Assets Prepaid expenses and other assets Accounts receivable and contract assets Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Assets Receivables And Contract Assets Business combination recognized identifiable assets acquired and liabilities assumed current assets receivables and contract assets. Restricted Stock Units (RSUs) [Member] Restricted Stock Unit 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Two Domestic financial institution one. Domestic Financial Institution One [Member] Domestic Financial Institution One Percentage of revenue volatility Percentage Of Revenue Volatility Percentage of revenue volatility. Fair Value Disclosures [Text Block] Fair Value Measurements Revenue from Contract with Customer, Excluding Assessed Tax, Total Revenue from Contract with Customer, Excluding Assessed Tax Revenues Software Technology Computer Software, Intangible Asset [Member] Other Guidance Issued But Not Yet Adopted Other Guidance Issued But Not Yet Adopted Policy [Policy Text Block] Other Guidance Issued But Not Yet Adopted Policy. Prepaid Expense and Other Assets, Current [Abstract] Concentration Risk Type [Axis] Concentration Risk Type Accrued expenses and other current liabilities Business combination recognized identifiable assets acquired and liabilities assumed accrued expenses and other current liabilities Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Accrued Expenses and Other Current Liabilities Schedule of Business Acquisitions, by Acquisition [Table] Contract with Customer, Liability, Current Deferred revenue, short-term ASU 2023-09 Accounting Standards Update 2023-09 [Member] Accounting Standards Update 2023-09. Cash, FDIC Insured Amount Cash deposits insured Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] Summary of Assignment of Fair Value to Identified Assets and Liabilities Stock issued during period shares restricted stock award vesting. Stock Issued During Period Shares Restricted Stock Award Vesting Issuance of common stock from RSUs vested, Shares Goodwill, Acquired During Period Goodwill recorded on acquisition of LEEDS Acquisition (Note 4 - Acquisitions) Number of agencies Number of Agencies Number of agencies Recognition from new billings of deferred revenue. Recognition From New Billings Of Deferred Revenue [Member] Revenue Recognized During the Year from New Billings Operating Lease, Liability, Noncurrent Operating lease liabilities Stock Repurchased During Period, Shares Repurchase of common stock Repurchase of common stock, Shares Uruguay URUGUAY Schedule of Goodwill [Table] Production Related Impairments or Charges, Total Production Related Impairments or Charges Impairment of property and equipment Related Party Transactions [Abstract] Balance Sheet Location [Axis] Assets, Current Total current assets Liabilities and Equity Total liabilities and stockholders' equity Entity Address, State or Province Entity Address, State or Province Business and nature of operations. Business And Nature Of Operations [Line Items] Business And Nature Of Operations [Line Items] Number of Options Outstanding, Beginning Balance Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Number of Options Outstanding, Ending Balance Weighted Average Grant Date Fair Value per Option, Granted Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Comprehensive loss Comprehensive Income (Loss), Net of Tax, Attributable to Parent Comprehensive income (loss) Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination Deferred revenues acquired (Note 4 - Acquisitions) Technologic Technologic Solutions LLC [Member] Technologic solutions LLC Trading Symbol Trading Symbol Common Stock, Shares, Issued, Total Common Stock, Shares, Issued Common stock, shares issued Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value Aggregate Fair Value of RSUs' Vested Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Total Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract] Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Net Income (Loss) Attributable to Parent [Abstract] Numerator: Foreign currency impact Foreign currency impact Contract With Customer Liability Foreign Currency Impact Contract With Customer Liability Foreign Currency Impact Sales and Marketing Selling and Marketing Expense [Member] Schedule of Long-Term Debt Instruments [Table] Shares, Outstanding Ending balance, Shares Beginning balance, Shares Financing Receivable, Credit Loss, Expense (Reversal) Allowance for credit losses Accumulated Other Comprehensive Loss AOCI Attributable to Parent [Member] Business Combination Disclosure [Text Block] Acquisitions Entity Address, City or Town Entity Address, City or Town Related Party Transaction [Line Items] Related Party Transaction [Line Items] Debt Disclosure [Text Block] Financing Arrangements Subsequent Event [Member] Subsequent Event Subsequent Event Type [Axis] Additional Paid-in Capital [Member] Additional Paid-in Capital Non-US [Member] International Business Acquisition, Pro Forma Revenue Proforma revenue Business Combination, Consideration Transferred, Liabilities Incurred Preliminary fair value of the contingent consideration Contingent consideration (Note 4 - Acquistions) Indemnification Escrow Indemnification Agreement [Member] Liabilities, Current [Abstract] Current liabilities Accounts receivable and contract assets Accounts receivable and contract asset current. Accounts Receivable And Contract Asset Current Accounts receivable and contract assets, net Assets, Current [Abstract] Current assets Counterparty Name [Axis] Preferred Stock, Par or Stated Value Per Share Preferred stock, par value Statement of Stockholders' Equity [Abstract] Intangible Assets, Net Intangible Assets Disclosure [Text Block] Change in accounting principle, ASU, material effect Change in Accounting Principle, Accounting Standards Update, Immaterial Effect [true false] Operating lease liabilities Operating Lease, Liability, Current Lease liabilities (short-term) (presented within Accrued expenses and other current liabilities) Lender Name [Axis] Line of Credit Facility, Initiation Date Credit agreement date Property, Plant and Equipment, Net, Ending Balance Property, Plant and Equipment, Net, Beginning Balance Property, Plant and Equipment, Net, Total Property, Plant and Equipment, Net Property and equipment, net Estimated fair value of contingent consideration Contingent Consideration Classified as Equity, Fair Value Disclosure SoundThinking. SoundThinking [Member] SoundThinking Asset Acquisition, Consideration Transferred, Transaction Cost Asset acquisition related expenses Business Combination, Contingent Consideration, Liability, Total Business Combination, Contingent Consideration, Liability Earnout will be payable based on estimated revenues generated Statement of Comprehensive Income [Abstract] Entity Central Index Key Entity Central Index Key Plan Name [Domain] Plan Name Change in accounting principle, ASU, adopted Change in Accounting Principle, Accounting Standards Update, Adopted [true false] Professional software development services member Professional software development services. Business acquisition purchase consideration, stock issued Business Combination, Consideration Transferred, Equity Interests Issued and Issuable Purchase consideration indemnification escrow stock Preferred Stock, Shares Outstanding, Ending Balance Preferred Stock, Shares Outstanding, Beginning Balance Preferred Stock, Shares Outstanding Preferred stock, shares outstanding Payment of contingent consideration liability Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Estimated remaining performance obligations for contractually committed revenues recognition period Schedule of Changes in Goodwill Schedule of Goodwill [Table Text Block] Liabilities, Current Total current liabilities Entity Tax Identification Number Entity Tax Identification Number Loss before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Increase (Decrease) in Operating Capital [Abstract] Changes in operating assets and liabilities: SOUTH AFRICA South Africa Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract] Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Denominator: Schedule of Other Long-term Assets Schedule of Other Assets, Noncurrent [Table Text Block] Shares of common stock reserved for issuance, automatic annual increase end date. Shares Of Common Stock Reserved For Issuance Automatic Annual Increase End Date Shares of common stock reserved for issuance, automatic annual increase end date Issuance of common stock from ESPP purchases Stock Issued During Period, Value, Employee Stock Purchase Plan Award Type [Axis] Award Type Plan Name [Axis] Plan Name Line of credit Line of Credit, Current Geographical [Domain] Geographical Shares of common stock reserved for issuance automatic annual increase initiation period. Shares Of Common Stock Reserved For Issuance Automatic Annual Increase Initiation Period Shares of common stock reserved for issuance, automatic annual increase initiation period Assets Total assets UNITED STATES United States Operating Lease, Right-of-Use Asset Operating lease right-of-use assets Accrued expenses and other liabilities Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities Entity Registrant Name Entity Registrant Name Retained Earnings (Accumulated Deficit), Ending Balance Retained Earnings (Accumulated Deficit), Beginning Balance Retained Earnings (Accumulated Deficit), Total Retained Earnings (Accumulated Deficit) Accumulated deficit Supplemental cash flow disclosures: Supplemental Cash Flow Information [Abstract] Retained Earnings [Member] Accumulated Deficit Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Number of RSUs, Beginning Balance Number of RSUs, Ending Balance Forensic Logic Forensic Logic, LLC [Member] Forensic logic, LLC. Deferred Income Tax Liabilities, Net Deferred tax liability Stock Issued During Period, Shares, Employee Stock Purchase Plans Issuance of common stock from ESPP purchase, Shares Shares issued under ESPP Minimum [Member] Minimum Revenue from related parties Revenues, Total Revenues Revenues Other Assets, Miscellaneous, Noncurrent Other Proceeds from Stock Options Exercised Proceeds from exercise of stock options Significant Accounting Policies [Text Block] Summary of Significant Accounting Policies Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block] Schedule of Prepaid Expenses and Other Current Assets Liabilities, Fair Value Disclosure [Abstract] Accrued Income Taxes, Current State income tax payable Equity Component [Domain] Equity Component Employee Stock Option [Member] Options to Purchase Common Stock Stock Options Change in accounting principle, ASU, adoption date Change in Accounting Principle, Accounting Standards Update, Adoption Date Payment of line of credit Payment of line of credit costs Repayments of Lines of Credit Adjustments to reconcile net loss to net cash provided by (used in) operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Measurement Frequency [Axis] Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Debt Disclosure [Abstract] Recognized net incremental compensation expense Share-Based Payment Arrangement, Plan Modification, Incremental Cost Entity Current Reporting Status Entity Current Reporting Status Common Stock, Shares Authorized Common stock, shares authorized Research and Development Expense, Total Research and Development Expense Research and development Escrow claim (Note 4 - Acquisitions) Escrow Claim Receivable Escrow claim receivable. Assets [Abstract] Assets Intangible amortization expense Amortization of Intangible Assets, Total Amortization of Intangible Assets Amortization of intangible assets Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Number of shares available for future grant Common stock: $0.005 par value; 500,000,000 shares authorized; 12,793,168 and 12,761,448 shares issued and outstanding as of March 31, 2024 and December 31, 2023, respectively Common Stock, Value, Issued, Ending Balance Common Stock, Value, Issued, Beginning Balance Common Stock, Value, Issued, Total Common Stock, Value, Issued Revenue recognized during the year from balance at the beginning of the year Contract with Customer, Liability, Revenue Recognized Revenue recognized during the year Cash and cash equivalents Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents Current Fiscal Year End Date Current Fiscal Year End Date Share-based Payment Arrangement, Noncash Expense, Total Share-Based Payment Arrangement, Noncash Expense Stock-based compensation Operating loss Operating Income (Loss) Entity Ex Transition Period Entity Ex Transition Period Business acquisition estimated purchase consideration/purchase consideration Business Combination, Consideration Transferred, Total Business Combination, Consideration Transferred Deferred taxes Deferred Income Tax Expense (Benefit) Deferred Income Tax Expense (Benefit), Total Operating lease liabilities Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liabilities Business combination recognized identifiable assets acquired and liabilities assumed operating lease liabilities. Provision for income taxes Income Tax Expense (Benefit) Income Tax Expense (Benefit), Total Research and Development Expense [Member] Research and Development Issuance of common stock for acquisition, Shares Stock Issued During Period, Shares, Acquisitions Issuance of common stock from acquisitions, Shares Payment for Contingent Consideration Liability, Financing Activities Payment of contingent consideration liability Payment of contingent consideration liability Concentration Risk, Percentage Concentration risk percentage Share-Based Payment Arrangement, Expense Stock-based compensation expense Compensation expense Indefinite-Lived Intangible Assets [Axis] Disaggregation of Revenue [Table] Disaggregation Of Revenue [Table] Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage Vesting terms percentage Recognition from beginning deferred revenue balance. Recognition From Beginning Deferred Revenue Balance [Member] Recognition From Balance at the Beginning of the Year Total Net Finite-Lived Intangible Assets, Net, Ending Balance Finite-Lived Intangible Assets, Net, Beginning Balance Finite-Lived Intangible Assets, Net Intangible assets, net Revenue from Contract with Customer [Text Block] Revenue Related Disclosures Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Schedule Of Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Table] Other expense, net Other Nonoperating Income (Expense), Total Other Nonoperating Income (Expense) Total estimated consideration Business Combination Recognized Identifiable Assets Acquired Escrow Claim And Liabilities Assumed Net Business combination recognized identifiable assets acquired escrow claim and liabilities assumed net. Business Combination, Contingent Consideration, Liability, Noncurrent Contingent consideration liability Operating Expenses [Abstract] Operating expenses Business and nature of operations. Business And Nature Of Operations [Table] Business And Nature Of Operations [Table] Subsequent Events [Abstract] Other comprehensive loss: Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract] Commitments and Contingencies Disclosure [Abstract] Other Assets, Noncurrent Other assets Total other assets Accounts receivable and contract assets Increase decrease in accounts receivable and contract asset. Increase Decrease In Accounts Receivable And Contract Asset Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Number of Options Outstanding, Granted RSU Awards granted Stock Repurchase Program Equity [Text Block] Capital Stock Depreciation of property and equipment Depreciation, Total Depreciation Schedule of Accounts Receivable and Contract Assets, Net Schedule of Accounts Receivable and Contract Asset [Table TextBlock] Schedule of accounts receivable and contract asset. 2028 Finite-Lived Intangible Asset, Expected Amortization, Year Four 2025 Finite-Lived Intangible Asset, Expected Amortization, Year One Equity, Attributable to Parent [Abstract] Stockholders' equity Loss Contingency Nature [Axis] Line of Credit Facility, Maximum Borrowing Capacity Credit facility maximum borrowing capacity under loan Cost of Goods and Services Sold, Total Cost of Goods and Services Sold Cost of revenues Earnings Per Share [Abstract] Indefinite-Lived Intangible Assets, Major Class Name [Domain] Debt, Weighted Average Interest Rate Weighted-average interest rate Accounting Policies [Abstract] Concentration Risk, Credit Risk, Policy [Policy Text Block] Concentrations of Risk Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Share Based Compensation Arrangement By Share Based Payment Award [Line Items] Accounts receivable and contract assets Business combination recognized identifiable assets acquired and liabilities assumed current assets receivables and contract assets net. Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Current Assets Receivables and Contract Assets Net Net assets acquired Net assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net Revolving Credit Facility [Member] Revolving Facility Net loss per share, basic Earnings Per Share, Basic, Total Earnings Per Share, Basic Net income per share, basic Customer Concentration Risk [Member] Customer Concentration Risk Commitments and contingencies (Note 13) Commitments and Contingencies Number of subsidiary. Number Of Subsidiary Number of subsidiary Business Combinations [Abstract] Acquisition-related expenses Business Combination, Acquisition Related Costs Income Statement [Abstract] Schedule of Changes in Deferred Revenue Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Contingent consideration - Forensic Logic (Note 4 - Business Acquisitions) Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Change in fair value of contingent consideration Statistical Measurement [Domain] Statistical Measurement Net cash provided by (used in) operating activities Net Cash Provided by (Used in) Operating Activities Related Party Transaction, Amounts of Transaction Related party transactions All Award Types Award Type Document Period End Date Document Period End Date Statistical Measurement [Axis] Statistical Measurement Commitments and Contingencies Disclosure [Text Block] Commitments and Contingencies Accrued Expenses and Other Current Liabilities Accrued Liabilities And Other Liabilities [Member] Accrued liabilities and other liabilities. Net loss per share, diluted Earnings Per Share, Diluted, Total Earnings Per Share, Diluted Net income per share, diluted Accounting policies. Accounting Policies [Line Items] Accounting Policies [Line Items] Accounting Policies [Table] Accounting policies. Accounting Policies [Table] Product and Service [Domain] Cost of Sales [Member] Cost of Revenues Concentration Risk Benchmark [Domain] Concentration Risk Benchmark Credit Concentration Risk [Member] Credit Concentration Risk Revenue from Contract with Customer [Abstract] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV New billings Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Measure of Progress Patents and Intellectual Property. Patents and Intellectual Property [Member] Patents and Intellectual Property Related Party Transaction [Domain] Related Party Transaction Loss Contingency, Nature [Domain] Fair Value Measurements Recurring Fair Value Measurements Recurring Fair Value, Recurring [Member] Additional Paid in Capital, Common Stock, Ending Balance Additional Paid in Capital, Common Stock, Beginning Balance Additional Paid in Capital, Common Stock Additional paid-in capital Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect Change in cash, cash equivalents and restricted cash Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] Payments for Repurchase of Common Stock Repurchases of common stock Finite-Lived Intangible Assets, Major Class Name [Domain] Fair value adjustment of contingent consideration. Fair Value Adjustment Of Contingent Consideration Contingent consideration Change in fair value of contingent consideration Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Exercise of stock options, Shares Number of Options Outstanding, Exercised Liabilities and Equity [Abstract] Liabilities and Stockholders' Equity Other Noncurrent Liabilities [Table Text Block] Schedule of Other Long-term Liabilities Number of cities in which entity operates. Number Of Cities In Which Entity Operates Number of cities in which entity operates Stock Issued During Period, Value, Acquisitions Issuance of common stock from acquisitions Entity Address, Postal Zip Code Entity Address, Postal Zip Code Entity Interactive Data Current Entity Interactive Data Current Selling and Marketing Expense, Total Selling and Marketing Expense Sales and marketing Business combination consideration paid in kind. Business Combination Consideration Paid In Kind Business combination consideration paid in kind Increase (Decrease) in Accounts Payable, Total Increase (Decrease) in Accounts Payable Accounts payable 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Three Credit Facility [Domain] Equity [Abstract] Schedule of Indefinite-Lived Intangible Assets [Table] Number of Restricted Stock Units, Granted Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Number of RSUs, Granted Proforma combined loss Business Acquisition, Pro Forma Net Income (Loss) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Weighted Average Exercise Price, Exercised Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Equity Components [Axis] Equity Components [Axis] Payments to Acquire Businesses, Gross Business acquisition purchase consideration in cash Schedule of Remaining Performance Obligations for Contractually Committed Revenues Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] Subscription, maintenance and support services Member Subscription, maintenance, and support services. Weighted Average Grant Date Fair Value per RSU, Vested Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Local Phone Number Local Phone Number Transfers into or out of level 3 Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Transfers, Net Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Transfers, Net, Total Ending balance Beginning balance Balance, end of year Balance, beginning of year Goodwill, Total Goodwill Statement of Cash Flows [Abstract] Recent accounting pronouncements not yet effective. Recent Accounting Pronouncements Not Yet Effective Policy Policy [Text Block] Recent Accounting Pronouncements Not Yet Effective Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date Organization, Consolidation and Presentation of Financial Statements [Abstract] Accumulated Other Comprehensive Income (Loss), Net of Tax, Total Accumulated Other Comprehensive Income (Loss), Net of Tax Accumulated other comprehensive loss Gross Profit Gross profit Concentration Risk Benchmark [Axis] Concentration Risk Benchmark Common Stock, Par or Stated Value Per Share Common stock, par value Asset Acquisition, Consideration Transferred, Equity Interest Issued and Issuable Fair value of common stock issued as consideration for asset acquisition Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations Effect of exchange rate on cash and cash equivalents Interest Income (Expense), Nonoperating, Net Interest income (expense), net Amount of escrow deposit disbursements related to acquisition includes only cash Escrow Deposit Disbursements Related To Acquisition Indemnification escrow cash Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table] Intellectual Property [Member] Intellectual Property Maximum [Member] Maximum Related Party Transaction [Axis] Related Party Transaction Identifiable technology and intangible assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles Business acquisition, intangible assets Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Organization and Description of Business Fair Value, Inputs, Level 3 [Member] Level 3 APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Stock-based compensation 2017 Equity Incentive Plan. Two Thousand Seventeen Equity Incentive Plan [Member] 2017 Equity Incentive Plan Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Four Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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). Umpqua Credit Agreement Umpqua Credit Agreement [Member] Umpqua credit agreement. Increase in common stock capital shares reserved for future issuance. Increase In Common Stock Capital Shares Reserved For Future Issuance Increase in common stock reserved for issuance General and Administrative Expense [Member] General and Administrative Financing receivable allowance for credit losses adjustment. Allowance for potential credit losses Financing Receivable Allowance for Credit Losses Adjustment Allowance for credit losses Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period Number of common stock shares canceled Number of Options Outstanding, Canceled Change in fair value of contingent consideration Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Period Increase (Decrease) Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Period Increase (Decrease), Total Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Loss per Share Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] City Area Code City Area Code Net Cash Provided by (Used in) Operating Activities [Abstract] Cash flows from operating activities: Domestic Financial Institution Three Domestic Financial Institution Three [Member] Domesticfinancialinstitutionthree. Other Assets, Noncurrent Disclosure [Abstract] Other Assets Noncurrent Disclosure [Abstract] Business Acquisition [Line Items] Customer [Domain] Customer General and Administrative Expense, Total General and Administrative Expense General and administrative Weighted-average shares used in computing net loss per share, basic Weighted Average Number of Shares Outstanding, Basic, Total Weighted Average Number of Shares Outstanding, Basic Weighted-average shares outstanding, basic Prepaid software and licenses current. Prepaid Software And Licenses Current Prepaid software and licenses Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Schedule of Nonvested Restricted Stock Units Activity [Table Text Block] Schedule of Unvested Restricted Stock Units Awards Activity Statement [Table] Statement [Table] Share-Based Payment Arrangement, Option, Activity [Table Text Block] Schedule of Stock Option Activity Accounts Receivable [Member] Accounts Receivable Accounts Receivable and Contract Assets Schedule of Related Party Transactions, by Related Party [Table] Schedule Of Related Party Transactions By Related Party [Table] Increase (Decrease) in Contract with Customer, Liability Deferred revenue Document Fiscal Period Focus Document Fiscal Period Focus Related Party Transactions Disclosure [Text Block] Related Party Transactions Acquired software technology. Acquired Software Technology [Member] Acquired Software Technology Accrued Professional Fees, Current Professional fees Statement [Line Items] Statement [Line Items] Total Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Contingent consideration Ending balance Beginning balance Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value Accounts receivable Accounts Receivable, after Allowance for Credit Loss, Current, Total Accounts Receivable, after Allowance for Credit Loss, Current Customer [Axis] Customer Common Stock [Member] Common Stock Performance Based Restricted Stock Unit RSU. Performance Based Restricted Stock Unit R S U [Member] Performance-based RSU Debt Instrument [Line Items] Cash and Cash Equivalents, at Carrying Value, Ending Balance Cash and Cash Equivalents, at Carrying Value, Beginning Balance Cash and Cash Equivalents, at Carrying Value, Total Cash and Cash Equivalents, at Carrying Value Cash and cash equivalents Stock Repurchased During Period, Value Repurchase of common stock amount Repurchase of common stock Schedule of Stock-Based Compensation Expense Recorded in Consolidated Statements of Operations Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Schedule of Stock-Based Compensation Expense for All Award Types Recorded in Consolidated Statements of Operations Other Assets, Current Other Safepointe L L C. SafePointe L L C [Member] SafePointe, LLC Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Property and equipment, net Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total Antidilutive Securities, Name [Domain] Accounting Standards Update 2016-13 [Member] ASU 2016-13 Cover [Abstract] Document Fiscal Year Focus Document Fiscal Year Focus Customer two. Customer Two [Member] Customer Two Weighted Average Grant Date Fair Value per RSU, Granted Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Grant Date Fair Value, Granted Share-Based Payment Arrangement, Recognized Amount [Abstract] Patents Patents [Member] Sales and Excise Tax Payable, Current Sales/ use tax payable Security Exchange Name Security Exchange Name Recent Accounting Pronouncements Adopted New Accounting Pronouncements, Policy [Policy Text Block] Preferred Stock, Shares Issued, Total Preferred Stock, Shares Issued Preferred stock, shares issued Preferred stock, shares authorized Preferred Stock, Shares Authorized Customer Relationships Customer Relationships [Member] Schedule of Finite-Lived Intangible Assets [Table] Customer one. Customer One [Member] Customer One Cost of Revenue [Abstract] Costs Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Weighted Average Exercise Price, Canceled Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree Accrued Employee Benefits, Current Personnel-related accruals Stock Issued During Period, Value, Stock Options Exercised Exercise of stock options Entity Emerging Growth Company Entity Emerging Growth Company Number of customers. Number Of Customers Number of customers Aggregate Intrinsic Value Exercised Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value Membership interests, acquired Business Acquisition, Percentage of Voting Interests Acquired Amendment Flag Amendment Flag Other assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other Accounting Standards Update [Domain] Technology-Based Intangible Assets [Member] Software technology Basis of Accounting, Policy [Policy Text Block] Basis of Presentation Schedule of Future Intangible Asset Amortization Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Proceeds from Lines of Credit, Total Proceeds from Lines of Credit Proceeds from line of credit Customer Three [Member] Customer three. Customer Three Securities Act File Number Entity File Number Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Table] Letter of Credit Subfacility Letter Of Credit Subfacility [Member] Letter of credit subfacility. Line of Credit Facility, Expiration Date Credit facility maturity date Two thousand and seventeen employee stock purchase plan. Two Thousand And Seventeen Employee Stock Purchase Plan [Member] 2017 Employee Stock Purchase Plan Goodwill and Intangible Assets Disclosure [Abstract] Cash, cash equivalents at end of period Cash, cash equivalents at beginning of year Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Total Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Balance Sheet Related Disclosures [Abstract] Share-Based Payment Arrangement [Abstract] Accounts Payable, Current, Total Accounts Payable, Current Accounts payable Short-term deposits Short Term Deposits Short-term deposits. Payment for investment in intangible and other assets. Payment For Investment In Intangible And Other Assets Investment in intangible and other assets Weighted Average Grant Date Fair Value per RSU, Beginning Balance Weighted Average Grant Date Fair Value per RSU, Ending Balance Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Unvested restricted stock units. Unvested Restricted Stock Units [Member] Unvested Restricted Stock Units Operating Expenses Total operating expenses Accrued Liabilities and Other Liabilities Accrued expenses and other current liabilities Accrued expenses and other current liabilities Entity Address, Address Line Two Entity Address, Address Line Two Preferred stock: $0.005 par value; 20,000,000 shares authorized; no shares issued and outstanding as of March 31, 2024 and December 31, 2023, respectively Preferred Stock, Value, Issued Preferred Stock, Value, Issued, Ending Balance Preferred Stock, Value, Issued, Beginning Balance Preferred Stock, Value, Issued, Total Entity Small Business Entity Small Business Entity Shell Company Entity Shell Company Percentage of assets, fair value adjustment Percentage of Assets, Fair Value Adjustment Percentage of assets, fair value adjustment. Business Acquisition, Transaction Costs Transaction costs Earnings Per Share [Text Block] Net Income (Loss) per Share Entity Address, Address Line One Entity Address, Address Line One Revenue Benchmark [Member] Revenues Goodwill Goodwill Disclosure [Text Block] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items] Domestic financial institution two. Domestic Financial Institution Two [Member] Domestic Financial Institution Two Antidilutive Securities [Axis] Other Liabilities, Current, Total Other Liabilities, Current Other Supplemental Balance Sheet Disclosures [Text Block] Details of Certain Condensed Consolidated Balance Sheet Accounts Gross Finite-Lived Intangible Assets, Gross, Total Finite-Lived Intangible Assets, Gross Shares of common stock reserved for issuance, automatic annual increase start date Shares Of Common Stock Reserved For Issuance Automatic Annual Increase Start Date Shares of common stock reserved for issuance automatic annual increase start date. Subsequent Event Type [Domain] Income Statement Location [Axis] Income Statement Location Escrow claim Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Escrow Claim Business combination recognized identifiable assets acquired and liabilities assumed escrow claim. Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Purchases Contingent consideration - Forensic Logic (Note 4 - Acquistions) Net loss Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net income (loss) Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items] Prepaid Insurance Prepaid insurance Line of Credit Facility, Lender [Domain] Number of financial institutions at which cash deposits are maintained Number Of Financial Institutions At Which Cash Deposits Are Maintained Number of financial institutions at which cash deposits are maintained. Number of financial institutions at which cash deposits are maintained Business Combination, Contingent Consideration, Liability, Current Contingent consideration liability Product and Service [Axis] Contract with Customer, Liability, Noncurrent Deferred revenue, long-term Title of 12(b) Security Title of 12(b) Security Accumulated Amortization Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Schedule of Intangible Assets Net Schedule of Finite-Lived Intangible Assets [Table Text Block] Accounting Standards Update [Axis] Contract with Customer, Duration [Domain] Contract with Customer, Duration BAHAMAS Bahamas Net Cash Provided by (Used in) Investing Activities [Abstract] Cash flows from investing activities: Long-Term Line of Credit, Total Long-Term Line of Credit Credit facility outstanding Periodic increment of common stock capital shares reserved for future issuance. Periodic Increment Of Common Stock Capital Shares Reserved For Future Issuance Periodic increment of common stock reserved for future issuance Number of universities and corporations in which entity operates. Number Of Universities And Corporations In Which Entity Operates Number of universities and corporations in which entity operates Balance at the end of the year Balance at the beginning of the year Contract with Customer, Liability, Total Contract with Customer, Liability Beginning balance Ending balance Remainder of 2024 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Loss Contingency [Abstract] Share-Based Compensation Arrangement by Share-Based Payment Award, Accelerated Vesting, Number Accelerated vesting Common Stock, Shares, Outstanding, Beginning Balance Common Stock, Shares, Outstanding Common stock, shares outstanding Common Stock, Shares, Outstanding, Ending Balance Share-Based Payment Arrangement [Text Block] Equity Incentive Plans Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Weighted Average Grant Date Fair Value per RSU, Forfeited Operating lease right-of-use assets Business combination recognized identifiable assets acquired and liabilities assumed operating lease right of use asset Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right of Use Asset Concentration Risk Type [Domain] Concentration Risk Type Income Statement Location [Domain] Income Statement Location Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Weighted Average Exercise Price, Granted Contract with Customer, Duration [Axis] Contract with Customer, Duration Document Type Document Type Line of Credit Facility, Current Borrowing Capacity Credit facility current borrowing capacity under loan Net Cash Provided by (Used in) Investing Activities Net cash used in investing activities Document Quarterly Report Document Quarterly Report Property and equipment purchases included in accounts payable Property and equipment purchases included in accounts payable. Property And Equipment Purchases Included In Accounts Payable Counterparty Name [Domain] Cancelled restricted stock units Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Number of RSUs, Forfeited Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Entity Filer Category Entity Filer Category Balance Sheet Location [Domain] Foreign currency translation loss Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Change in foreign currency translation adjustment, net of taxes Tradename Trade Names [Member] Impairment of property and equipment. Impairment Of Property And Equipment Impairment of property and equipment Total other income (expense), net Nonoperating Income (Expense) Liabilities Total liabilities Deferred Costs, Noncurrent, Total Deferred Costs, Noncurrent Deferred commissions Intangible assets amortization period Finite-Lived Intangible Assets, Remaining Amortization Period Weighted Average Amortization Period (in years) Finite-Lived Intangible Asset, Useful Life Total stockholders' equity Equity, Attributable to Parent Ending balance Beginning balance Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life Weighted average amortization period of intangible assets Net loss Net loss Net income (loss) Net Income (Loss) Attributable to Parent Nonoperating Income (Expense) [Abstract] Other income (expense), net Interest Expense, Total Interest Expense Interest expense Proceeds from initial public offering, net of commissions and discounts Proceeds from Issuance Initial Public Offering Contract assets Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total Contract with Customer, Asset, after Allowance for Credit Loss, Current Deferred Costs, Current, Total Deferred Costs, Current Deferred commissions Fair value of common stock issued as consideration for business acquisition. Fair Value Of Common Stock Issued As Consideration For Business Acquisition Fair value of common stock issued as consideration for acquisitions Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue from related party. Revenue from Related Party Revenue from related parties Statement of Financial Position [Abstract] Weighted-average shares used in computing net loss per share, diluted Weighted Average Number of Shares Outstanding, Diluted Weighted-average shares outstanding, diluted Credit Facility [Axis] Payments to Acquire Productive Assets, Total Payments to Acquire Productive Assets Asset acquisition purchase consideration in cash Schedule of Accounts Payable and Accrued Liabilities [Table Text Block] Schedule of Accrued Expenses and Other Current Liabilities Use of Estimates, Policy [Policy Text Block] Use of Estimates Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Weighted Average Exercise Price, Ending Balance Weighted Average Exercise Price, Beginning Balance Finite-Lived Intangible Assets [Line Items] Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Summary of Computation of Basic and Diluted Net Income (Loss) per Share Disaggregation of Revenue [Line Items] Disaggregation Of Revenue [Line Items] Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Fair Value Disclosures [Abstract] Percentage of number of shares of common stock outstanding Share-Based Compensation Arrangement by Share-Based Payment Award, Percentage of Outstanding Stock Maximum Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV Measurement Frequency [Domain] Deferred revenue Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Deferred Revenue Other Liabilities Other Noncurrent Liabilities [Member] Payments to Acquire Property, Plant, and Equipment, Total Payments to Acquire Property, Plant, and Equipment Purchase of property and equipment Number of Restricted Stock Units, Vested Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Number of RSUs, Vested Business Acquisition [Axis] Business Acquisition Finite-Lived Intangible Assets by Major Class [Axis] Credit facility extended maturity date Credit Facility Extended Maturity Date Credit facility extended maturity date. Maintenance and Support Services and Professional Software Development Services Maintenance, Support and Professional Software Development Services [Member] Maintenance, Support and Professional Software Development Services. XML 7 R1.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Document and Entity Information - shares
3 Months Ended
Mar. 31, 2024
May 08, 2024
Cover [Abstract]    
Document Type 10-Q  
Amendment Flag false  
Document Period End Date Mar. 31, 2024  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Trading Symbol SSTI  
Entity Registrant Name SoundThinking, Inc.  
Entity Central Index Key 0001351636  
Current Fiscal Year End Date --12-31  
Entity Filer Category Non-accelerated Filer  
Entity File Number 001-38107  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 47-0949915  
Entity Address, Address Line One 39300 Civic Center Dr.  
Entity Address, Address Line Two Suite 300  
Entity Address, City or Town Fremont  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 94538  
City Area Code 510  
Local Phone Number 794-3100  
Entity Current Reporting Status Yes  
Entity Small Business true  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   12,793,456
Entity Interactive Data Current Yes  
Title of 12(b) Security Common stock, par value $0.005 per share  
Security Exchange Name NASDAQ  
Document Quarterly Report true  
Document Transition Report false  
XML 8 R2.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Condensed Consolidated Balance Sheets (Unaudited) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets    
Cash and cash equivalents $ 8,524 $ 5,703
Accounts receivable and contract assets, net 35,201 30,700
Prepaid expenses and other current assets 3,507 3,902
Total current assets 47,232 40,305
Property and equipment, net 21,429 21,028
Operating lease right-of-use assets 2,078 2,315
Goodwill 34,213 34,213
Intangible assets, net 35,995 36,938
Other assets 4,025 3,909
Total assets 144,972 138,708
Current liabilities    
Accounts payable 2,260 3,031
Accrued expenses and other current liabilities 7,101 8,521
Line of credit 7,000 7,000
Deferred revenue, short-term 44,817 41,265
Total current liabilities 61,178 59,817
Deferred revenue, long-term 5,935 812
Deferred tax liability 1,267 1,226
Other liabilities 1,833 2,096
Total liabilities 70,213 63,951
Commitments and contingencies (Note 13)
Stockholders' equity    
Common stock: $0.005 par value; 500,000,000 shares authorized; 12,793,168 and 12,761,448 shares issued and outstanding as of March 31, 2024 and December 31, 2023, respectively 64 64
Additional paid-in capital 173,066 170,139
Accumulated deficit (98,027) (95,118)
Accumulated other comprehensive loss (344) (328)
Total stockholders' equity 74,759 74,757
Total liabilities and stockholders' equity $ 144,972 $ 138,708
XML 9 R3.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares
Mar. 31, 2024
Dec. 31, 2023
Statement of Financial Position [Abstract]    
Common stock, par value $ 0.005 $ 0.005
Common stock, shares authorized 500,000,000 500,000,000
Common stock, shares issued 12,793,168 12,761,448
Common stock, shares outstanding 12,793,168 12,761,448
XML 10 R4.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Condensed Consolidated Statements of Operations (Unaudited) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Statement [Abstract]    
Revenues $ 25,410 $ 20,620
Costs    
Cost of revenues 10,271 9,243
Impairment of property and equipment 252 72
Total costs 10,523 9,315
Gross profit 14,887 11,305
Operating expenses    
Sales and marketing 7,112 5,848
Research and development 3,560 2,653
General and administrative 6,830 4,616
Change in fair value of contingent consideration 0 (6)
Total operating expenses 17,502 13,111
Operating loss (2,615) (1,806)
Other income (expense), net    
Interest income (expense), net (122) 54
Other expense, net (58) (38)
Total other income (expense), net (180) 16
Loss before income taxes (2,795) (1,790)
Provision for income taxes 114  
Net loss $ (2,909) $ (1,790)
Net loss per share, basic $ (0.23) $ (0.15)
Net loss per share, diluted $ (0.23) $ (0.15)
Weighted-average shares used in computing net loss per share, basic 12,770,988 12,252,517
Weighted-average shares used in computing net loss per share, diluted 12,770,988 12,252,517
XML 11 R5.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Condensed Consolidated Statements of Comprehensive Loss (Unaudited) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Comprehensive Income [Abstract]    
Net loss $ (2,909) $ (1,790)
Other comprehensive loss:    
Change in foreign currency translation adjustment, net of taxes (16) (17)
Comprehensive loss $ (2,925) $ (1,807)
XML 12 R6.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Deficit
Accumulated Other Comprehensive Loss
Beginning balance at Dec. 31, 2022 $ 60,945 $ 62 $ 153,573 $ (92,400) $ (290)
Beginning balance, Shares at Dec. 31, 2022   12,243,929      
Exercise of stock options 127   127    
Exercise of stock options, Shares   10,063      
Repurchase of common stock (1,256)   (1,256)    
Repurchase of common stock, Shares   (35,369)      
Issuance of common stock from RSUs vested, Shares   25,157      
Stock-based compensation 2,220   2,220    
Foreign currency translation loss (17)       (17)
Net loss (1,790)     (1,790)  
Ending balance at Mar. 31, 2023 60,229 $ 62 154,664 (94,190) (307)
Ending balance, Shares at Mar. 31, 2023   12,243,780      
Beginning balance at Dec. 31, 2023 74,757 $ 64 170,139 (95,118) (328)
Beginning balance, Shares at Dec. 31, 2023   12,761,448      
Issuance of common stock from RSUs vested, Shares   31,720      
Stock-based compensation 2,927   2,927    
Foreign currency translation loss (16)       (16)
Net loss (2,909)     (2,909)  
Ending balance at Mar. 31, 2024 $ 74,759 $ 64 $ 173,066 $ (98,027) $ (344)
Ending balance, Shares at Mar. 31, 2024   12,793,168      
XML 13 R7.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Cash flows from operating activities:    
Net loss $ (2,909) $ (1,790)
Adjustments to reconcile net loss to net cash provided by (used in) operating activities:    
Depreciation of property and equipment 1,573 1,771
Amortization of intangible assets 965 661
Impairment of property and equipment 252 72
Stock-based compensation 2,927 2,220
Change in fair value of contingent consideration   (6)
Deferred taxes 41  
Allowance for credit losses 126 25
Changes in operating assets and liabilities:    
Accounts receivable and contract assets (4,627) 4,211
Prepaid expenses and other assets 278 (486)
Accounts payable (886) 219
Accrued expenses and other liabilities (1,438) (1,834)
Deferred revenue 8,675 (6,261)
Net cash provided by (used in) operating activities 4,977 (1,198)
Cash flows from investing activities:    
Purchase of property and equipment (2,134) (1,537)
Investment in intangible and other assets (6) (23)
Net cash used in investing activities (2,140) (1,560)
Cash flows from financing activities:    
Payment of contingent consideration liability   (1,500)
Proceeds from line of credit 3,000  
Proceeds from exercise of stock options   127
Repurchases of common stock   (1,256)
Payment of line of credit (3,000)  
Net cash used in financing activities   (2,629)
Change in cash, cash equivalents and restricted cash 2,837 (5,387)
Effect of exchange rate on cash and cash equivalents (16) (17)
Cash, cash equivalents at beginning of year 5,703 10,479
Cash, cash equivalents at end of period 8,524 5,075
Supplemental cash flow disclosures:    
Property and equipment purchases included in accounts payable $ 584 $ 1,074
XML 14 R8.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Organization and Description of Business
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Organization and Description of Business

Note 1. Organization and Description of Business

 

SoundThinking, Inc. (the “Company”) brings the power of digital transformation to law enforcement and security personnel by providing precision-policing and security solutions, combining data-driven solutions and strategic advisory services for law enforcement and civic leadership. As of March 31, 2024, the Company had approximately 250 customers and to date have worked with approximately 2,100 agencies to help drive more efficient, effective, and equitable public safety outcomes.

In April 2023, the Company introduced its SafetySmart™ platform that includes five data-driven tools consisting of (i) its flagship product, ShotSpotter® (formerly ShotSpotter Respond), the leading outdoor gunshot detection, location and alerting system trusted by 171 cities and 18 universities and corporations as of March 31, 2024, (ii) CrimeTracer™ (formerly COPLINK X), a leading law enforcement search engine that enables investigators to search through more than one billion criminal justice records across jurisdictions to generate tactical leads and quickly make intelligent connections to solve crimes, (iii) CaseBuilder™ (formerly ShotSpotter Investigate), a one-stop investigative management system for tracking, reporting, and collaborating on cases, (iv) ResourceRouter™ (formerly ShotSpotter Connect) that directs the deployment of patrol and community anti-violence resources in an objective way to help maximize the impact of limited resources and improve community safety, and (v) SafePointe™, an AI-based weapons detection system that the Company added when it acquired SafePointe, LLC (“SafePointe”) in August 2023. The Company offers its solutions on a software-as-a-service subscription model to its customers.

ShotSpotter for Highways, ShotSpotter for Campus and ShotSpotter for Corporate, are typically smaller-scale deployments of ShotSpotter vertically marketed to universities, corporate campuses, highways, and key infrastructure centers to mitigate risk and enhance security by notifying authorities of outdoor gunfire incidents, saving critical minutes for first responders to arrive. In 2019, the Company created a technology innovation unit, SoundThinking Labs, to expand its efforts supporting innovative uses of its technology to help protect wildlife and the environment. Additionally, the Company provides maintenance and support services and professional software development services to two customers, through sales channel intermediaries.

The Company’s principal executive offices are located in Fremont, California. The Company has six wholly-owned subsidiaries.

XML 15 R9.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Summary of Significant Accounting Policies
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Summary of Significant Accounting Policies

Note 2. Summary of Significant Accounting Policies

Basis of Presentation

The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (“U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.

The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 (“Annual Report”) filed with the SEC on April 1, 2024.

In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive loss, stockholders’ equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2024 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.

Use of Estimates

The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. In particular, the Company's contingent consideration liabilities are subject to significant estimates surrounding forecasts of certain revenues and other factors. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company’s financial position and results of operations.

The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.

Concentrations of Risk

Credit Risk – Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its deposits of cash and cash equivalents at three domestic and four international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation ("FDIC") and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents. As of March 31, 2024, the Company had approximately $7.6 million, $0.3 million and $27,000, deposited with the Company's three domestic financial institutions, for which only $250,000 per bank is insured under FDIC limits.

Concentration of Accounts Receivable and Contract Assets – At March 31, 2024, two customers accounted for 25% and 21% of the Company’s total accounts receivable and contract assets, net. At December 31, 2023, two customers accounted for 24% and 10%, respectively, of the Company’s total accounts receivable and contract assets, net.

Concentration of Revenues – For the three months ended March 31, 2024, two customers accounted for 26% and 10% of the Company’s total revenues. For the three months ended March 31, 2023, two customers accounted for 27% and 10% of the Company’s total revenues.

Concentration of Suppliers The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company’s proprietary sensors.

During the three months ended March 31, 2024, there were no changes to the Company’s significant accounting policies described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023, except as follows:

Recent Accounting Pronouncements Not Yet Effective

Improvements to Income Tax Disclosures

In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2023-09, Improvements to Income Tax Disclosures (“ASU 2023-09”). ASU 2023-09 enhances the transparency of income tax disclosures, primarily by requiring public business entities to disclose on an annual basis, specific categories in the rate reconciliation tabular presentation, as well as by providing additional information for reconciling items that meet a quantitative threshold. The ASU also requires disaggregated disclosures of federal, state and foreign income taxes

paid. The new guidance is effective for fiscal years beginning after December 15, 2024. The Company does not expect implementation of the new guidance to have a material impact on its condensed consolidated financial statements.

Improvements to Reportable Segment Disclosures

In November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which enhances prior reportable segment disclosure requirements in part by requiring entities to disclose significant expenses related to their reportable segments. The guidance also requires disclosure of the Chief Operating Decision Maker's (“CODM”) position for each segment and detail of how the CODM uses financial reporting to assess their segment’s performance. The new guidance is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company does not expect implementation of the new guidance to have a material impact on its consolidated financial statements.

XML 16 R10.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue Related Disclosures
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Revenue Related Disclosures

Note 3. Revenue Related Disclosures

The changes in deferred revenue were as follows (in thousands):

 

March 31,

 

 

2024

 

 

2023

 

Beginning balance

$

42,077

 

 

$

43,721

 

   New billings

 

33,242

 

 

 

14,149

 

   Revenue recognized during the year from beginning balance

 

(14,347

)

 

 

(14,987

)

   Revenue recognized during the year from new billings

 

(10,220

)

 

 

(5,429

)

   Foreign currency impact

 

 

 

 

5

 

Ending balance

$

50,752

 

 

$

37,459

 

The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2024 (in thousands):

Remainder of 2024

 

 

$

59,125

 

2025

 

 

 

33,158

 

2026

 

 

 

16,135

 

Thereafter

 

 

 

5,340

 

Total

 

 

$

113,758

 

The timing of certain revenue recognition included in the table above is based on estimates of go-live dates for contracts not yet live. Contractually committed revenue includes deferred revenue as of March 31, 2024 and amounts under contract that will be invoiced after March 31, 2024.

During the three months ended March 31, 2024, the Company recognized revenues of $24.8 million from customers in the United States, and $0.6 million from customers in the Bahamas, South Africa and Uruguay. During the three months ended March 31, 2023, the Company recognized revenues of $20.2 million from customers in the United States, and $0.4 million from customers in the Bahamas and South Africa.

During the three months ended March 31, 2024, the Company recognized revenues of $25.3 million from monthly subscription, maintenance and support services, and $0.1 million from professional software development services. During the three months ended March 31, 2023, the Company recognized revenues of $19.5 million from monthly subscription, maintenance and support services, and $1.1 million from professional software development services.

XML 17 R11.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Acquisitions
3 Months Ended
Mar. 31, 2024
Business Combinations [Abstract]  
Acquisitions

Note 4. Acquisitions

SafePointe, LLC

During the third quarter of 2023, the Company completed the acquisition of 100% of the membership interests in SafePointe for purchase consideration of $11.4 million in cash, subject to working capital adjustments, of which $1.1 million is indemnification escrow cash, and $11.2 million in the form of 549,579 shares of the Company's common stock based on the closing price on the date of acquisition, of which $1.1 million is indemnification escrow stock. The purchase consideration also included a contingent earnout payable based on SafePointe’s revenues generated during 2023 through 2025. The Company borrowed $7.0 million under the Umpqua Credit Agreement (See Note 12, Financing Arrangements) to partially fund the purchase consideration. The acquisition date fair value of the contingent earnout was $3.0 million, resulting in a total purchase consideration of $25.6 million. Up to $11.5 million in earnout would be payable based on SafePointe’s revenues generated during the remainder of 2023 and during the years ended December 31, 2024 and 2025. The SafePointe acquisition was accounted for as a business acquisition in accordance with ASC 805, Business Combinations. The acquisition allows the Company to enter the AI-based weapons detection market.

The following table summarizes the assignment of fair value to the identified assets and liabilities recorded as of the acquisition date (in thousands):

Cash and cash equivalents

 

 

$

394

 

Accounts receivable and contract assets

 

 

 

370

 

Property and equipment, net

 

 

 

717

 

Customer relationships

 

 

 

2,500

 

Software technology

 

 

 

9,200

 

Tradename

 

 

 

1,100

 

Goodwill

 

 

 

11,242

 

Other assets

 

 

 

101

 

Accrued expenses and other current liabilities

 

 

 

(52

)

Deferred revenue

 

 

 

(581

)

Net assets acquired

 

 

 

24,991

 

Escrow claim

 

 

 

581

 

Total estimated consideration

 

 

$

25,572

 

 

 

 

 

 

The goodwill recognized was primarily attributed to increased synergies that are expected to be achieved from the integration of SafePointe and primarily represents the value of cash flows from future customers and the employee workforce. The Company expects to deduct the amortization of goodwill and intangible assets for tax purposes. A portion of the amortization deduction will commence upon settlement of contingent consideration liabilities. The Company valued the intangible assets using income-based approaches. Significant assumptions included forecasts of revenues, cost of revenues, research and development expense, sales and marketing expense, general and administrative expense, technology lives, royalty rates, working capital rates, customer attrition rates and other estimates. The Company discounted the cash flows at 20.9%, reflecting the risk profile of the assets.

The Company will amortize the acquired customer relationships for 12 years, the acquired software technology for 11 years and the acquired tradename for nine years.

There were no acquisition-related expenses during the three months ended March 31, 2024 and 2023, respectively.

The unaudited pro forma combined revenue and net loss presented below have been prepared as if the Company had acquired SafePointe on January 1, 2023 and is for informational purposes only and is not necessarily indicative of the results of operations that would have been achieved if the acquisition had taken place on January 1, 2023. The unaudited pro forma financial information has been derived from the consolidated statements of operations of the Company and SafePointe for the below period. The historical financial information has been adjusted in the unaudited combined pro forma information based upon currently available information and certain estimates and assumptions. The actual effect of the transactions ultimately may differ from the pro forma adjustments included herein. However, management believes that the assumptions used to prepare the pro forma adjustments provide a reasonable basis for presenting the significant effects of the transactions as currently contemplated and that the pro forma adjustments are factually supportable, give

appropriate effect to the expected impact of events that are directly attributable to the transactions, and reflect those items expected to have a continuing impact on the Company.

The unaudited pro forma combined revenue and net loss for the three months ended March 31, 2023 would have been $21.0 million and $2.4 million, respectively.

XML 18 R12.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Fair Value Measurements
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Fair Value Measurements

Note 5. Fair Value Measurements

In November 2020, the Company estimated the fair value of the contingent consideration liability associated with its acquisition of LEEDS, LLC (“LEEDS”). This fair value measurement was classified as Level III within the fair value hierarchy as prescribed by Accounting Standards Codification 820-10-35-37 ("ASC 820, Fair Value Measurement"). In May 2023, the Company renamed LEEDS to Technologic Solutions, LLC (“Technologic”). During the first quarter of 2023, the Company paid the $1.5 million Technologic contingent consideration balance, in full settlement of its obligations under the purchase agreement.

In January 2022, the Company estimated the fair value of the contingent consideration liability associated with its acquisition of Forensic Logic to be $12.4 million as of the acquisition date, using a Monte Carlo simulation approach with asset and revenue volatility of 60.0% and 28.0%, respectively. This fair value measurement is classified as Level III within the fair value hierarchy as prescribed by ASC 820, Fair Value Measurement. During the three months ended March 31, 2023, the fair value of the contingent consideration was decreased by $0.01 million, based upon adjustments to recorded liabilities as a result of revised 2023 forecasted revenues as of March 31, 2023. As a result of actual revenue recognized in the year ended December 31, 2023, the Company did not pay any amounts under the contingent consideration and no further contingent payments remain.

In August 2023, the Company estimated the fair value of the contingent consideration liability associated with its acquisition of SafePointe to be $3.0 million as of the acquisition date, using a Monte Carlo simulation approach with asset and revenue volatility of 76.1% and 25.8%, respectively. This fair value measurement is classified as Level III within the fair value hierarchy as prescribed by ASC 820, Fair Value Measurement.

The changes in the fair value of contingent consideration liabilities for the three months ended March 31, 2024 and 2023 are as follows (in thousands):

 

 

Three Months Ended March 31,

 

 

 

2024

 

 

2023

 

Beginning balance

 

$

554

 

 

$

4,747

 

Payment of contingent consideration liability

 

 

 

 

 

(1,500

)

Change in fair value of contingent consideration

 

 

 

 

 

(6

)

Ending balance

 

$

554

 

 

$

3,241

 

There were no transfers into or out of Level III during the three months ended March 31, 2024 and 2023. As of March 31, 2024, the SafePointe contingent consideration of approximately $0.6 million is included in other liabilities in the condensed consolidated balance sheet.

XML 19 R13.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Goodwill
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill

Note 6. Goodwill

The change in goodwill is as follows (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Beginning balance

$

34,213

 

 

$

22,971

 

Acquisition of SafePointe (Note 4 - Acquisitions)

 

 

 

 

11,242

 

Ending balance

$

34,213

 

 

$

34,213

 

 

 

 

 

 

 

XML 20 R14.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Intangible Assets, Net
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Assets, Net

Note 7. Intangible Assets, Net

Intangible assets consist of the following (in thousands):

 

 

March 31, 2024

 

 

Weighted Average Amortization Period (in years)

Gross

 

 

Accumulated Amortization

 

 

Net

 

Customer relationships

14

$

25,470

 

 

$

(4,927

)

 

$

20,543

 

Acquired software technology

9

 

16,340

 

 

 

(2,627

)

 

 

13,713

 

Patents and intellectual property

4

 

1,988

 

 

 

(1,273

)

 

 

715

 

Tradename

6

 

2,100

 

 

 

(1,076

)

 

 

1,024

 

  Total intangible assets, net

 

$

45,898

 

 

$

(9,903

)

 

$

35,995

 

 

 

 

December 31, 2023

 

 

Weighted Average Amortization Period (in years)

Gross

 

 

Accumulated Amortization

 

 

Net

 

Customer relationships

14

$

25,470

 

 

$

(4,467

)

 

$

21,003

 

Acquired software technology

9

 

16,340

 

 

 

(2,199

)

 

 

14,141

 

Patents

4

 

1,966

 

 

 

(1,227

)

 

 

739

 

Tradename

6

 

2,100

 

 

 

(1,045

)

 

 

1,055

 

  Total intangible assets, net

 

$

45,876

 

 

$

(8,938

)

 

$

36,938

 

Intangible amortization expense was approximately $1.0 million and $0.7 million for the three months ended March 31, 2024 and March 31, 2023, respectively.

The following table presents future intangible asset amortization as of March 31, 2024 (in thousands):

Remainder of 2024

 

 

 

 

 

$

2,857

 

2025

 

 

 

 

 

 

3,818

 

2026

 

 

 

 

 

 

3,801

 

2027

 

 

 

 

 

 

3,801

 

2028

 

 

 

 

 

 

3,736

 

Thereafter

 

 

 

 

 

 

17,982

 

  Total

 

 

 

 

 

$

35,995

 

XML 21 R15.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Details of Certain Condensed Consolidated Balance Sheet Accounts
3 Months Ended
Mar. 31, 2024
Balance Sheet Related Disclosures [Abstract]  
Details of Certain Condensed Consolidated Balance Sheet Accounts

Note 8. Details of Certain Condensed Consolidated Balance Sheet Accounts

Accounts receivable and contract assets, net (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Accounts receivable

$

25,961

 

 

$

24,574

 

Contract assets

 

9,366

 

 

 

6,225

 

Allowance for credit losses

 

(126

)

 

 

(99

)

 

$

35,201

 

 

$

30,700

 

 

Prepaid expenses and other current assets (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Deferred commissions

$

1,385

 

 

$

1,295

 

Prepaid software and licenses

 

946

 

 

 

1,147

 

Short-term deposits

 

467

 

 

 

406

 

Prepaid insurance

 

399

 

 

 

806

 

Other

 

310

 

 

 

248

 

 

$

3,507

 

 

$

3,902

 

Other assets (long-term) (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Deferred commissions

$

3,275

 

 

$

3,205

 

Escrow claim (Note 4 - Acquisitions)

 

581

 

 

 

581

 

Other

 

169

 

 

 

123

 

 

$

4,025

 

 

$

3,909

 

Accrued expenses and other current liabilities (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Personnel-related accruals

$

4,818

 

 

$

6,500

 

Operating lease liabilities

 

981

 

 

 

964

 

Professional fees

 

371

 

 

 

407

 

Sales/use tax payable

 

125

 

 

 

100

 

State income tax payable

 

201

 

 

 

128

 

Other

 

605

 

 

 

422

 

$

7,101

 

 

$

8,521

 

Other liabilities (long-term) (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Operating lease liabilities

$

1,279

 

 

$

1,542

 

Contingent consideration liability

 

554

 

 

 

554

 

$

1,833

 

 

$

2,096

 

 

 

 

 

 

 

XML 22 R16.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Related Party Transactions
3 Months Ended
Mar. 31, 2024
Related Party Transactions [Abstract]  
Related Party Transactions

Note 9. Related Party Transactions

During the three months ended March 31, 2024, the Company recognized approximately $33 in revenues from SoundThinking Labs projects with charitable organizations that have received donations from one of the Company’s former directors and from one of the Company’s significant stockholders. There were no related party transactions in the three months ended March 31, 2023.

XML 23 R17.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Net Income (Loss) per Share
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Net Income (Loss) per Share

Note 10. Net Income (Loss) per Share

The computation of basic net income (loss) per share is based on the weighted-average number of shares of common stock outstanding during each period. The computation of diluted net income (loss) per share is based on the weighted-average number of shares outstanding during the period plus, when their effect is dilutive, incremental shares consisting of shares subject to stock options, restricted stock units, employee stock purchase plan purchase rights and warrants.

The following table summarizes the computation of basic and diluted net income (loss) per share (in thousands, except share and per share data):

 

Three Months Ended March 31,

 

 

2024

 

 

2023

 

Numerator:

 

 

 

 

 

Net loss

$

(2,909

)

 

$

(1,790

)

Denominator:

 

 

 

 

 

Weighted-average shares outstanding, basic and diluted

 

12,770,988

 

 

 

12,252,517

 

Net loss per share, basic and diluted

$

(0.23

)

 

$

(0.15

)

The following potentially dilutive shares outstanding at the end of the periods presented were excluded in the calculation of diluted net loss per share as the effect would have been anti-dilutive:

 

March 31,

 

 

2024

 

 

2023

 

Options to purchase common stock

 

1,819,731

 

 

 

1,461,481

 

Unvested restricted stock units

 

1,085,127

 

 

 

337,259

 

Total

 

2,904,858

 

 

 

1,798,740

 

XML 24 R18.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Equity Incentive Plans
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement [Abstract]  
Equity Incentive Plans

Note 11. Equity Incentive Plans

Stock options

A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the "2005 Plan") and 2017 Equity Incentive Plan (the “2017 Plan") during the three months ended March 31, 2024 is as follows:

 

 

Number
of Options
Outstanding

 

 

Weighted
Average
Exercise
Price

 

 

Weighted
Average
Grant Date Fair Value per Option

 

 

Aggregate Intrinsic Value Exercised (in thousands)

 

Outstanding at December 31, 2023

 

 

1,789,431

 

 

$

26.83

 

 

 

 

 

 

 

Granted

 

 

51,667

 

 

$

17.74

 

 

$

10.81

 

 

 

 

Exercised

 

 

 

 

$

 

 

 

 

 

$

 

Canceled

 

 

(21,367

)

 

$

25.86

 

 

 

 

 

 

 

Outstanding at March 31, 2024

 

 

1,819,731

 

 

$

26.59

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Under an “evergreen” provision, the number of shares of common stock reserved for issuance under the 2017 Plan will automatically increase on January 1 of each year, beginning on January 1, 2018 and ending on and including January 1, 2027, by 5% of the total number of shares of the Company's common stock outstanding on December 31 of the preceding calendar year or a lesser number of shares determined by the Board. In accordance with the evergreen provision,

the number of shares of common stock reserved for issuance under the 2017 Plan was increased on January 1, 2024 by 638,072 shares, which was equal to 5% of the total number of shares of common stock outstanding on December 31, 2023.

Restricted stock units

A summary of restricted stock unit ("RSU") activities under the 2017 Plan during the three months ended March 31, 2024 is as follows:

 

 

Number
of RSUs

 

 

Weighted
Average
Grant Date Fair Value per RSU

 

 

Aggregate Fair Value of RSUs Vested (in thousands)

 

Unvested RSUs at December 31, 2023

 

 

298,361

 

 

$

27.58

 

 

 

 

Granted

 

 

817,408

 

 

$

17.74

 

 

 

 

Vested

 

 

(30,642

)

 

$

29.08

 

 

$

4,897

 

Forfeited

 

 

 

 

$

 

 

 

 

Unvested RSUs at March 31, 2024

 

 

1,085,127

 

 

$

20.18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Performance-based restricted stock units:

During the three months ended March 31, 2024, the Company granted to members of the Company's management team RSU awards with performance-based vesting conditions (“PSUs”), totaling 544,228 shares at a grant date fair value of $17.74 per share, the closing stock price on the grant date. These PSUs vest in one installment on the certification date, which shall occur as soon as administratively practicable following the end of 2026, based on the satisfaction of certain Company performance criteria in 2026, as determined by the Compensation and Human Capital Committee of the Board of Directors of the Company. Compensation expense related to the PSUs is estimated each period based on the fair value of the target stock unit at the grant date and the most probable level of achievement of the performance conditions. Compensation expense related to these awards was approximately $0.1 million for the three months ended March 31, 2024.

2017 Employee Stock Purchase Plan

There were no shares of common stock issued under the 2017 Employee Stock Purchase Plan ("2017 ESPP") during the three months ended March 31, 2024. The 2017 ESPP contains an “evergreen” provision that provides for an automatic annual share increase on January 1 of each year, in an amount equal to the lesser of (1) 2% of the total number of shares of common stock outstanding on December 31st of the preceding calendar year, (2) 150,000 shares or (3) such number of shares as determined by the Board. In accordance with the evergreen provision, the number of shares of common stock reserved for issuance under the 2017 ESPP was increased on January 1, 2024 by 150,000 shares. The number of shares available for grant under the 2017 ESPP was 778,343 as of March 31, 2024.

Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):

 

Three Months Ended March 31,

 

 

2024

 

 

2023

 

Cost of revenues

$

440

 

 

$

474

 

Sales and marketing

 

601

 

 

 

439

 

Research and development

 

302

 

 

 

295

 

General and administrative

 

1,584

 

 

 

1,012

 

Total

$

2,927

 

 

$

2,220

 

XML 25 R19.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Financing Arrangements
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Financing Arrangements

Note 12. Financing Arrangements

On September 27, 2018, the Company entered into a Credit Agreement with Umpqua Bank (the “Umpqua Credit Agreement”), which allowed the Company to borrow up to $10.0 million under a revolving loan facility (the “Revolving Facility”). On November 23, 2022, the Company entered into a Fifth Amendment to the Umpqua Credit Agreement (the “Amendment”), which amended the terms of the Umpqua Credit Agreement to, among other things, (1) extend the maturity date from November 27, 2022 to October 15, 2024

, (2) increase the revolving credit commitment from $20.0 million to $25.0 million, (3) increase the letter of credit sub-facility from $6.0 million to $7.5 million, (4) remove the minimum profitability covenants and (5) replace the LIBOR index rate with a Term Secured Overnight Financing Rate index rate. On February 7, 2024, the Company entered into a Sixth Amendment to extend the expiration date to October 15, 2025.

Any amounts outstanding under the letter of credit sub-facility reduce the amount available for the Company to borrow under the Revolving Facility. The available loan facility as of March 31, 2024 and December 31, 2023 was approximately $18.0 million, for both periods. As of March 31, 2024 and December 31, 2023, there was $7.0 million outstanding on the Company's line of credit, which the Company borrowed in August 2023 to partially fund the acquisition of SafePointe. The interest expense recorded for the three months ended March 31, 2024 was $0.1 million, based on a weighted-average interest rate of 7.33%.

XML 26 R20.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Commitments and Contingencies
3 Months Ended
Mar. 31, 2024
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies

Note 13. Commitments and Contingencies

Contingencies

On August 28, 2018, Silvon S. Simmons (the “Plaintiff”) amended a complaint against the City of Rochester, New York and various city employees, filed in the United States District Court, Western District of New York, to add the Company and employees as a defendant. The amended complaint alleges conspiracy to violate the Plaintiff’s civil rights, denial of the right to a fair trial, and malicious prosecution. The Plaintiff claims that the Company colluded with the City of Rochester to fabricate and create gunshot alert evidence to secure Plaintiff’s conviction. On the basis of the allegations, the Plaintiff has petitioned for compensatory and punitive damages and other costs and expenses, including attorney’s fees. The Company believes that the Plaintiff’s claims are without merit and has disputed them vigorously. Following a motion for summary judgment by the Company on September 13, 2023, the court removed the Company as a defendant from the litigation. The Plaintiff then lost its case against the City of Rochester, New York at trial and may appeal.

 

The Company may become subject to legal proceedings, as well as demands and claims that arise in the normal course of business. Such claims, even if not meritorious, could result in the expenditure of significant financial and management resources. The Company makes a provision for a liability relating to legal matters when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. These provisions are reviewed and adjusted to include the impacts of negotiations, estimated settlements, legal rulings, advice of legal counsel, and other information and events pertaining to a particular matter.

An unfavorable outcome on any litigation matters could require payment of substantial damages, or, in connection with any intellectual property infringement claims, could require the Company to pay ongoing royalty payments or could prevent the Company from selling certain of its products. As a result, a settlement of, or an unfavorable outcome on, any of the matters referenced above or other litigation matters could have a material adverse effect on the Company’s business, operating results, financial condition and cash flows.

XML 27 R21.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Summary of Significant Accounting Policies (Policies)
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Basis of Presentation

Basis of Presentation

The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (“U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.

The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 (“Annual Report”) filed with the SEC on April 1, 2024.

In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive loss, stockholders’ equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2024 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.

Use of Estimates

Use of Estimates

The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. In particular, the Company's contingent consideration liabilities are subject to significant estimates surrounding forecasts of certain revenues and other factors. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company’s financial position and results of operations.

The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.

Concentrations of Risk

Concentrations of Risk

Credit Risk – Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its deposits of cash and cash equivalents at three domestic and four international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation ("FDIC") and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents. As of March 31, 2024, the Company had approximately $7.6 million, $0.3 million and $27,000, deposited with the Company's three domestic financial institutions, for which only $250,000 per bank is insured under FDIC limits.

Concentration of Accounts Receivable and Contract Assets – At March 31, 2024, two customers accounted for 25% and 21% of the Company’s total accounts receivable and contract assets, net. At December 31, 2023, two customers accounted for 24% and 10%, respectively, of the Company’s total accounts receivable and contract assets, net.

Concentration of Revenues – For the three months ended March 31, 2024, two customers accounted for 26% and 10% of the Company’s total revenues. For the three months ended March 31, 2023, two customers accounted for 27% and 10% of the Company’s total revenues.

Concentration of Suppliers The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company’s proprietary sensors.

Recent Accounting Pronouncements Not Yet Effective

Recent Accounting Pronouncements Not Yet Effective

Improvements to Income Tax Disclosures

In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2023-09, Improvements to Income Tax Disclosures (“ASU 2023-09”). ASU 2023-09 enhances the transparency of income tax disclosures, primarily by requiring public business entities to disclose on an annual basis, specific categories in the rate reconciliation tabular presentation, as well as by providing additional information for reconciling items that meet a quantitative threshold. The ASU also requires disaggregated disclosures of federal, state and foreign income taxes

paid. The new guidance is effective for fiscal years beginning after December 15, 2024. The Company does not expect implementation of the new guidance to have a material impact on its condensed consolidated financial statements.

Improvements to Reportable Segment Disclosures

In November 2023, the FASB issued ASU No. 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which enhances prior reportable segment disclosure requirements in part by requiring entities to disclose significant expenses related to their reportable segments. The guidance also requires disclosure of the Chief Operating Decision Maker's (“CODM”) position for each segment and detail of how the CODM uses financial reporting to assess their segment’s performance. The new guidance is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company does not expect implementation of the new guidance to have a material impact on its consolidated financial statements.

XML 28 R22.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue Related Disclosures (Tables)
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Schedule of Changes in Deferred Revenue

The changes in deferred revenue were as follows (in thousands):

 

March 31,

 

 

2024

 

 

2023

 

Beginning balance

$

42,077

 

 

$

43,721

 

   New billings

 

33,242

 

 

 

14,149

 

   Revenue recognized during the year from beginning balance

 

(14,347

)

 

 

(14,987

)

   Revenue recognized during the year from new billings

 

(10,220

)

 

 

(5,429

)

   Foreign currency impact

 

 

 

 

5

 

Ending balance

$

50,752

 

 

$

37,459

 

Schedule of Remaining Performance Obligations for Contractually Committed Revenues

The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2024 (in thousands):

Remainder of 2024

 

 

$

59,125

 

2025

 

 

 

33,158

 

2026

 

 

 

16,135

 

Thereafter

 

 

 

5,340

 

Total

 

 

$

113,758

 

XML 29 R23.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Acquisitions (Tables)
3 Months Ended
Mar. 31, 2024
SafePointe, LLC  
Business Acquisition [Line Items]  
Summary of Assignment of Fair Value to Identified Assets and Liabilities

The following table summarizes the assignment of fair value to the identified assets and liabilities recorded as of the acquisition date (in thousands):

Cash and cash equivalents

 

 

$

394

 

Accounts receivable and contract assets

 

 

 

370

 

Property and equipment, net

 

 

 

717

 

Customer relationships

 

 

 

2,500

 

Software technology

 

 

 

9,200

 

Tradename

 

 

 

1,100

 

Goodwill

 

 

 

11,242

 

Other assets

 

 

 

101

 

Accrued expenses and other current liabilities

 

 

 

(52

)

Deferred revenue

 

 

 

(581

)

Net assets acquired

 

 

 

24,991

 

Escrow claim

 

 

 

581

 

Total estimated consideration

 

 

$

25,572

 

 

 

 

 

 

XML 30 R24.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Fair Value Measurements (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Summary of Changes in Fair Value of Contingent Consideration Liabilities

The changes in the fair value of contingent consideration liabilities for the three months ended March 31, 2024 and 2023 are as follows (in thousands):

 

 

Three Months Ended March 31,

 

 

 

2024

 

 

2023

 

Beginning balance

 

$

554

 

 

$

4,747

 

Payment of contingent consideration liability

 

 

 

 

 

(1,500

)

Change in fair value of contingent consideration

 

 

 

 

 

(6

)

Ending balance

 

$

554

 

 

$

3,241

 

XML 31 R25.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Goodwill (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Changes in Goodwill

The change in goodwill is as follows (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Beginning balance

$

34,213

 

 

$

22,971

 

Acquisition of SafePointe (Note 4 - Acquisitions)

 

 

 

 

11,242

 

Ending balance

$

34,213

 

 

$

34,213

 

 

 

 

 

 

 

XML 32 R26.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Intangible Assets, Net (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible Assets Net

Intangible assets consist of the following (in thousands):

 

 

March 31, 2024

 

 

Weighted Average Amortization Period (in years)

Gross

 

 

Accumulated Amortization

 

 

Net

 

Customer relationships

14

$

25,470

 

 

$

(4,927

)

 

$

20,543

 

Acquired software technology

9

 

16,340

 

 

 

(2,627

)

 

 

13,713

 

Patents and intellectual property

4

 

1,988

 

 

 

(1,273

)

 

 

715

 

Tradename

6

 

2,100

 

 

 

(1,076

)

 

 

1,024

 

  Total intangible assets, net

 

$

45,898

 

 

$

(9,903

)

 

$

35,995

 

 

 

 

December 31, 2023

 

 

Weighted Average Amortization Period (in years)

Gross

 

 

Accumulated Amortization

 

 

Net

 

Customer relationships

14

$

25,470

 

 

$

(4,467

)

 

$

21,003

 

Acquired software technology

9

 

16,340

 

 

 

(2,199

)

 

 

14,141

 

Patents

4

 

1,966

 

 

 

(1,227

)

 

 

739

 

Tradename

6

 

2,100

 

 

 

(1,045

)

 

 

1,055

 

  Total intangible assets, net

 

$

45,876

 

 

$

(8,938

)

 

$

36,938

 

Schedule of Future Intangible Asset Amortization

The following table presents future intangible asset amortization as of March 31, 2024 (in thousands):

Remainder of 2024

 

 

 

 

 

$

2,857

 

2025

 

 

 

 

 

 

3,818

 

2026

 

 

 

 

 

 

3,801

 

2027

 

 

 

 

 

 

3,801

 

2028

 

 

 

 

 

 

3,736

 

Thereafter

 

 

 

 

 

 

17,982

 

  Total

 

 

 

 

 

$

35,995

 

XML 33 R27.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables)
3 Months Ended
Mar. 31, 2024
Balance Sheet Related Disclosures [Abstract]  
Schedule of Accounts Receivable and Contract Assets, Net

Accounts receivable and contract assets, net (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Accounts receivable

$

25,961

 

 

$

24,574

 

Contract assets

 

9,366

 

 

 

6,225

 

Allowance for credit losses

 

(126

)

 

 

(99

)

 

$

35,201

 

 

$

30,700

 

 

Schedule of Prepaid Expenses and Other Current Assets

Prepaid expenses and other current assets (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Deferred commissions

$

1,385

 

 

$

1,295

 

Prepaid software and licenses

 

946

 

 

 

1,147

 

Short-term deposits

 

467

 

 

 

406

 

Prepaid insurance

 

399

 

 

 

806

 

Other

 

310

 

 

 

248

 

 

$

3,507

 

 

$

3,902

 

Schedule of Other Long-term Assets

Other assets (long-term) (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Deferred commissions

$

3,275

 

 

$

3,205

 

Escrow claim (Note 4 - Acquisitions)

 

581

 

 

 

581

 

Other

 

169

 

 

 

123

 

 

$

4,025

 

 

$

3,909

 

Schedule of Accrued Expenses and Other Current Liabilities

Accrued expenses and other current liabilities (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Personnel-related accruals

$

4,818

 

 

$

6,500

 

Operating lease liabilities

 

981

 

 

 

964

 

Professional fees

 

371

 

 

 

407

 

Sales/use tax payable

 

125

 

 

 

100

 

State income tax payable

 

201

 

 

 

128

 

Other

 

605

 

 

 

422

 

$

7,101

 

 

$

8,521

 

Schedule of Other Long-term Liabilities

Other liabilities (long-term) (in thousands):

 

March 31,

 

 

December 31,

 

 

2024

 

 

2023

 

Operating lease liabilities

$

1,279

 

 

$

1,542

 

Contingent consideration liability

 

554

 

 

 

554

 

$

1,833

 

 

$

2,096

 

 

 

 

 

 

 

XML 34 R28.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Net Income (Loss) per Share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Summary of Computation of Basic and Diluted Net Income (Loss) per Share

The following table summarizes the computation of basic and diluted net income (loss) per share (in thousands, except share and per share data):

 

Three Months Ended March 31,

 

 

2024

 

 

2023

 

Numerator:

 

 

 

 

 

Net loss

$

(2,909

)

 

$

(1,790

)

Denominator:

 

 

 

 

 

Weighted-average shares outstanding, basic and diluted

 

12,770,988

 

 

 

12,252,517

 

Net loss per share, basic and diluted

$

(0.23

)

 

$

(0.15

)

Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Loss per Share

The following potentially dilutive shares outstanding at the end of the periods presented were excluded in the calculation of diluted net loss per share as the effect would have been anti-dilutive:

 

March 31,

 

 

2024

 

 

2023

 

Options to purchase common stock

 

1,819,731

 

 

 

1,461,481

 

Unvested restricted stock units

 

1,085,127

 

 

 

337,259

 

Total

 

2,904,858

 

 

 

1,798,740

 

XML 35 R29.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Equity Incentive Plans (Tables)
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement [Abstract]  
Schedule of Stock Option Activity

A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the "2005 Plan") and 2017 Equity Incentive Plan (the “2017 Plan") during the three months ended March 31, 2024 is as follows:

 

 

Number
of Options
Outstanding

 

 

Weighted
Average
Exercise
Price

 

 

Weighted
Average
Grant Date Fair Value per Option

 

 

Aggregate Intrinsic Value Exercised (in thousands)

 

Outstanding at December 31, 2023

 

 

1,789,431

 

 

$

26.83

 

 

 

 

 

 

 

Granted

 

 

51,667

 

 

$

17.74

 

 

$

10.81

 

 

 

 

Exercised

 

 

 

 

$

 

 

 

 

 

$

 

Canceled

 

 

(21,367

)

 

$

25.86

 

 

 

 

 

 

 

Outstanding at March 31, 2024

 

 

1,819,731

 

 

$

26.59

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Schedule of Unvested Restricted Stock Units Awards Activity

A summary of restricted stock unit ("RSU") activities under the 2017 Plan during the three months ended March 31, 2024 is as follows:

 

 

Number
of RSUs

 

 

Weighted
Average
Grant Date Fair Value per RSU

 

 

Aggregate Fair Value of RSUs Vested (in thousands)

 

Unvested RSUs at December 31, 2023

 

 

298,361

 

 

$

27.58

 

 

 

 

Granted

 

 

817,408

 

 

$

17.74

 

 

 

 

Vested

 

 

(30,642

)

 

$

29.08

 

 

$

4,897

 

Forfeited

 

 

 

 

$

 

 

 

 

Unvested RSUs at March 31, 2024

 

 

1,085,127

 

 

$

20.18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Schedule of Stock-Based Compensation Expense for All Award Types Recorded in Consolidated Statements of Operations

Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):

 

Three Months Ended March 31,

 

 

2024

 

 

2023

 

Cost of revenues

$

440

 

 

$

474

 

Sales and marketing

 

601

 

 

 

439

 

Research and development

 

302

 

 

 

295

 

General and administrative

 

1,584

 

 

 

1,012

 

Total

$

2,927

 

 

$

2,220

 

XML 36 R30.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Organization and Description of Business - Additional Information (Details)
3 Months Ended
Mar. 31, 2024
City
Universities
Agencies
Customers
Subsidiary
Business And Nature Of Operations [Line Items]  
Number of customers 250
Number of agencies | Agencies 2,100
Number of universities and corporations in which entity operates | Universities 18
Number of subsidiary | Subsidiary 6
Maintenance and Support Services and Professional Software Development Services  
Business And Nature Of Operations [Line Items]  
Number of customers 2
Minimum  
Business And Nature Of Operations [Line Items]  
Number of cities in which entity operates | City 171
XML 37 R31.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Summary of Significant Accounting Policies - Additional Information (Details)
3 Months Ended 12 Months Ended
Mar. 31, 2024
USD ($)
Customer
Customers
Financialinstitution
Mar. 31, 2023
Customer
Dec. 31, 2023
USD ($)
Customer
Accounting Policies [Line Items]      
Number of customers | Customers 250    
Cash and cash equivalents $ 8,524,000   $ 5,703,000
Customer Concentration Risk | Accounts Receivable and Contract Assets      
Accounting Policies [Line Items]      
Number of customers | Customer 2   2
Customer Concentration Risk | Revenues      
Accounting Policies [Line Items]      
Number of customers | Customer 2 2  
Customer Concentration Risk | Customer One | Accounts Receivable and Contract Assets      
Accounting Policies [Line Items]      
Concentration risk percentage   25.00% 24.00%
Customer Concentration Risk | Customer One | Revenues      
Accounting Policies [Line Items]      
Concentration risk percentage 26.00% 27.00%  
Customer Concentration Risk | Customer Two | Accounts Receivable and Contract Assets      
Accounting Policies [Line Items]      
Concentration risk percentage   21.00% 10.00%
Customer Concentration Risk | Customer Two | Revenues      
Accounting Policies [Line Items]      
Concentration risk percentage 10.00% 10.00%  
Credit Concentration Risk      
Accounting Policies [Line Items]      
Cash deposits insured $ 250,000    
Credit Concentration Risk | United States      
Accounting Policies [Line Items]      
Number of financial institutions at which cash deposits are maintained | Financialinstitution 3    
Credit Concentration Risk | International      
Accounting Policies [Line Items]      
Number of financial institutions at which cash deposits are maintained | Financialinstitution 4    
Credit Concentration Risk | Domestic Financial Institution One      
Accounting Policies [Line Items]      
Cash and cash equivalents $ 7,600,000    
Credit Concentration Risk | Domestic Financial Institution Two      
Accounting Policies [Line Items]      
Cash and cash equivalents 300,000    
Credit Concentration Risk | Domestic Financial Institution Three      
Accounting Policies [Line Items]      
Cash and cash equivalents $ 27,000,000    
XML 38 R32.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation Of Revenue [Line Items]    
Beginning balance $ 42,077 $ 43,721
New billings 33,242 14,149
Foreign currency impact   5
Ending balance 50,752 37,459
Recognition From Balance at the Beginning of the Year    
Disaggregation Of Revenue [Line Items]    
Revenue recognized during the year (14,347) (14,987)
Revenue Recognized During the Year from New Billings    
Disaggregation Of Revenue [Line Items]    
Revenue recognized during the year $ (10,220) $ (5,429)
XML 39 R33.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Estimated remaining performance obligations for contractually committed revenues $ 113,758
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Estimated remaining performance obligations for contractually committed revenues $ 59,125
Estimated remaining performance obligations for contractually committed revenues recognition period 9 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Estimated remaining performance obligations for contractually committed revenues $ 33,158
Estimated remaining performance obligations for contractually committed revenues recognition period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Estimated remaining performance obligations for contractually committed revenues $ 16,135
Estimated remaining performance obligations for contractually committed revenues recognition period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Estimated remaining performance obligations for contractually committed revenues $ 5,340
Estimated remaining performance obligations for contractually committed revenues recognition period
XML 40 R34.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Estimated remaining performance obligations for contractually committed revenues $ 113,758
XML 41 R35.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue Related Disclosures - Additional Information (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Subscription, maintenance and support services Member    
Disaggregation Of Revenue [Line Items]    
Revenues $ 25.3 $ 19.5
Professional software development services member    
Disaggregation Of Revenue [Line Items]    
Revenues 0.1 1.1
United States    
Disaggregation Of Revenue [Line Items]    
Revenues 24.8 20.2
South Africa    
Disaggregation Of Revenue [Line Items]    
Revenues 0.6 0.4
Bahamas    
Disaggregation Of Revenue [Line Items]    
Revenues 0.6 $ 0.4
Uruguay    
Disaggregation Of Revenue [Line Items]    
Revenues $ 0.6  
XML 42 R36.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Acquisitions - Additional Information (Details) - USD ($)
3 Months Ended
Mar. 31, 2024
Sep. 30, 2023
Mar. 31, 2023
Dec. 31, 2023
Umpqua Credit Agreement        
Business Acquisition [Line Items]        
Credit facility outstanding $ 7,000,000 $ 7,000,000   $ 7,000,000
SafePointe, LLC        
Business Acquisition [Line Items]        
Membership interests, acquired   100.00%    
Business acquisition purchase consideration in cash   $ 11,400,000    
Preliminary fair value of the contingent consideration   3,000,000    
Business acquisition estimated purchase consideration/purchase consideration   25,600,000    
Percentage of discounted cash flows 20.90%      
Acquisition-related expenses $ 0   $ 0  
Proforma revenue     21,000,000  
Proforma combined loss     $ 2,400,000  
SafePointe, LLC | Customer Relationships        
Business Acquisition [Line Items]        
Business acquisition, intangible assets   2,500,000    
Intangible assets amortization period 12 years      
SafePointe, LLC | Software technology        
Business Acquisition [Line Items]        
Intangible assets amortization period 11 years      
SafePointe, LLC | Tradename        
Business Acquisition [Line Items]        
Business acquisition, intangible assets   1,100,000    
Intangible assets amortization period 9 years      
SafePointe, LLC | Indemnification Escrow        
Business Acquisition [Line Items]        
Indemnification escrow cash   1,100,000    
Business acquisition purchase consideration, stock issued   1,100,000    
SafePointe, LLC | Maximum | Indemnification Escrow        
Business Acquisition [Line Items]        
Earnout will be payable based on estimated revenues generated   $ 11,500,000    
SafePointe, LLC | Common Stock        
Business Acquisition [Line Items]        
Issuance of common stock for acquisition, Shares   549,579    
Fair value of common stock issued as consideration for acquisitions   $ 11,200,000    
XML 43 R37.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Acquisitions - Summary of Assignment of Fair Value to Identified Assets and Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Sep. 30, 2023
Dec. 31, 2022
Business Acquisition [Line Items]        
Goodwill $ 34,213 $ 34,213   $ 22,971
SafePointe, LLC        
Business Acquisition [Line Items]        
Cash and cash equivalents     $ 394  
Accounts receivable and contract assets     370  
Property and equipment, net     717  
Goodwill     11,242  
Other assets     101  
Accrued expenses and other current liabilities     (52)  
Deferred revenue     (581)  
Net assets acquired     24,991  
Escrow claim     581  
Total estimated consideration     25,572  
SafePointe, LLC | Customer Relationships        
Business Acquisition [Line Items]        
Identifiable technology and intangible assets     2,500  
SafePointe, LLC | Software Technology        
Business Acquisition [Line Items]        
Identifiable technology and intangible assets     9,200  
SafePointe, LLC | Tradename        
Business Acquisition [Line Items]        
Identifiable technology and intangible assets     $ 1,100  
XML 44 R38.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Fair Value Measurements - Additional Information (Details) - USD ($)
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Aug. 31, 2023
Dec. 31, 2022
Jan. 31, 2022
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]            
Payment of contingent consideration liability   $ 1,500,000        
Transfers into or out of level 3 $ 0 0        
Level 3            
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]            
Percentage of assets, fair value adjustment       76.10%   60.00%
Percentage of revenue volatility       25.80%   28.00%
Fair Value Measurements Recurring | Level 3            
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]            
Change in fair value of contingent consideration   (6,000)        
Contingent consideration 554,000 3,241,000 $ 554,000   $ 4,747,000  
Fair Value Measurements Recurring | Level 3 | Other Liabilities            
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]            
Contingent consideration $ 600,000          
Technologic            
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]            
Payment of contingent consideration liability   1,500,000        
Forensic Logic | Level 3            
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]            
Estimated fair value of contingent consideration           $ 12,400,000
Forensic Logic | Fair Value Measurements Recurring | Level 3            
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]            
Change in fair value of contingent consideration   $ 10,000.00        
SafePointe, LLC | Level 3            
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]            
Estimated fair value of contingent consideration       $ 3,000,000    
XML 45 R39.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liabilities (Details) - Fair Value Measurements Recurring - Level 3
$ in Thousands
3 Months Ended
Mar. 31, 2023
USD ($)
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]  
Beginning balance $ 4,747
Payment of contingent consideration liability (1,500)
Change in fair value of contingent consideration (6)
Ending balance 3,241
Forensic Logic  
Fair Value Liabilities Measured On Recurring Basis Unobservable Input Reconciliation [Line Items]  
Change in fair value of contingent consideration $ 10
XML 46 R40.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Goodwill - Schedule of Changes in Goodwill (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Goodwill [Line Items]    
Beginning balance $ 34,213 $ 22,971
Ending balance 34,213 34,213
SafePointe, LLC    
Goodwill [Line Items]    
Acquisition (Note 4 - Acquisitions) $ 0 $ 11,242
XML 47 R41.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Intangible Assets, Net - Schedule of Intangible Assets Net (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Finite-Lived Intangible Assets [Line Items]    
Gross $ 45,898 $ 45,876
Accumulated Amortization (9,903) (8,938)
Net $ 35,995 $ 36,938
Customer Relationships    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Amortization Period (in years) 14 years 14 years
Gross $ 25,470 $ 25,470
Accumulated Amortization (4,927) (4,467)
Net $ 20,543 $ 21,003
Acquired Software Technology    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Amortization Period (in years) 9 years 9 years
Gross $ 16,340 $ 16,340
Accumulated Amortization (2,627) (2,199)
Net $ 13,713 $ 14,141
Patents    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Amortization Period (in years)   4 years
Gross   $ 1,966
Accumulated Amortization   (1,227)
Net   $ 739
Patents and Intellectual Property    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Amortization Period (in years) 4 years  
Gross $ 1,988  
Accumulated Amortization (1,273)  
Net $ 715  
Tradename    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Amortization Period (in years) 6 years 6 years
Gross $ 2,100 $ 2,100
Accumulated Amortization (1,076) (1,045)
Net $ 1,024 $ 1,055
XML 48 R42.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Intangible Assets, Net - Additional Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Finite-Lived Intangible Assets [Line Items]    
Intangible amortization expense $ 965 $ 661
XML 49 R43.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Finite-Lived Intangible Assets [Line Items]    
Remainder of 2024 $ 2,857  
2025 3,818  
2026 3,801  
2027 3,801  
2028 3,736  
Thereafter 17,982  
Net $ 35,995 $ 36,938
XML 50 R44.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Assets, Net (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Balance Sheet Related Disclosures [Abstract]    
Accounts receivable $ 25,961 $ 24,574
Contract assets 9,366 6,225
Allowance for credit losses (126) (99)
Accounts receivable and contract assets $ 35,201 $ 30,700
XML 51 R45.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Prepaid Expense and Other Assets, Current [Abstract]    
Deferred commissions $ 1,385 $ 1,295
Prepaid software and licenses 946 1,147
Short-term deposits 467 406
Prepaid insurance 399 806
Other 310 248
Total $ 3,507 $ 3,902
XML 52 R46.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Other Assets Noncurrent Disclosure [Abstract]    
Deferred commissions $ 3,275 $ 3,205
Escrow claim (Note 4 - Acquisitions) 581 581
Other 169 123
Total other assets $ 4,025 $ 3,909
XML 53 R47.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Accrued Expenses And Other Current Liabilities [Abstract]    
Personnel-related accruals $ 4,818 $ 6,500
Operating lease liabilities 981 964
Professional fees 371 407
Sales/ use tax payable 125 100
State income tax payable 201 128
Other 605 422
Accrued expenses and other current liabilities $ 7,101 $ 8,521
XML 54 R48.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Accrued Expenses And Other Current Liabilities [Abstract]    
Operating lease liabilities $ 1,279 $ 1,542
Contingent consideration liability 554 554
Other liabilities, noncurrent $ 1,833 $ 2,096
XML 55 R49.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Related Party Transactions - Additional Information (Details) - SoundThinking - USD ($)
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Related Party Transaction [Line Items]    
Revenue from related parties $ 33,000  
Related party transactions   $ 0
XML 56 R50.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Net Income (Loss) per Share - Summary of Computation of Basic and Diluted Net Income (Loss) per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator:    
Net loss $ (2,909) $ (1,790)
Denominator:    
Weighted-average shares outstanding, basic 12,770,988 12,252,517
Weighted-average shares outstanding, diluted 12,770,988 12,252,517
Net loss per share, basic $ (0.23) $ (0.15)
Net loss per share, diluted $ (0.23) $ (0.15)
XML 57 R51.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Net Income (Loss) per Share - Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Income (Loss) per Share (Details) - shares
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items]    
Total 2,904,858 1,798,740
Options to Purchase Common Stock    
Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items]    
Total 1,819,731 1,461,481
Unvested Restricted Stock Units    
Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items]    
Total 1,085,127 337,259
XML 58 R52.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Equity Incentive Plans - Schedule of Stock Option Activity (Details)
3 Months Ended
Mar. 31, 2024
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]  
Number of Options Outstanding, Beginning Balance | shares 1,789,431
Number of Options Outstanding, Granted | shares 51,667
Number of Options Outstanding, Canceled | shares (21,367)
Number of Options Outstanding, Ending Balance | shares 1,819,731
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]  
Weighted Average Exercise Price, Beginning Balance $ 26.83
Weighted Average Exercise Price, Granted 17.74
Weighted Average Exercise Price, Canceled 25.86
Weighted Average Exercise Price, Ending Balance 26.59
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]  
Weighted Average Grant Date Fair Value per Option, Granted $ 10.81
XML 59 R53.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Equity Incentive Plans - Additional Information (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 12 Months Ended
Jan. 01, 2024
May 31, 2017
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Dec. 31, 2017
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]            
Compensation expense     $ 2,927 $ 2,220    
Restricted Stock Unit            
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]            
Number of RSUs, Granted     817,408      
Grant Date Fair Value, Granted     $ 17.74      
Performance-based RSU            
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]            
Number of RSUs, Granted     544,228      
Grant Date Fair Value, Granted     $ 17.74      
Compensation expense     $ 100      
2017 Employee Stock Purchase Plan            
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]            
Shares issued under ESPP     0      
Number of shares available for future grant     778,343      
Shares of common stock reserved for issuance, automatic annual increase initiation period   --01-01        
Percentage of number of shares of common stock outstanding         2.00%  
Increase in common stock reserved for issuance 150,000          
Periodic increment of common stock reserved for future issuance         150,000  
2017 Equity Incentive Plan            
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]            
Shares of common stock reserved for issuance, automatic annual increase initiation period   --01-01        
Percentage of number of shares of common stock outstanding         5.00% 5.00%
Shares of common stock reserved for issuance, automatic annual increase start date   Jan. 01, 2018        
Shares of common stock reserved for issuance, automatic annual increase end date   Jan. 01, 2027        
Increase in common stock reserved for issuance 638,072          
XML 60 R54.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Equity Incentive Plans - Schedule of Unvested Restricted Stock Units Awards Activity - (Details) - Restricted Stock Unit
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
$ / shares
shares
Share Based Compensation Arrangement By Share Based Payment Award [Line Items]  
Number of RSUs, Beginning Balance | shares 298,361
Number of RSUs, Granted | shares 817,408
Number of RSUs, Vested | shares (30,642)
Number of RSUs, Ending Balance | shares 1,085,127
Weighted Average Grant Date Fair Value per RSU, Beginning Balance | $ / shares $ 27.58
Weighted Average Grant Date Fair Value per RSU, Granted | $ / shares 17.74
Weighted Average Grant Date Fair Value per RSU, Vested | $ / shares 29.08
Weighted Average Grant Date Fair Value per RSU, Ending Balance | $ / shares $ 20.18
Aggregate Fair Value of RSUs' Vested | $ $ 4,897
XML 61 R55.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Stock-based compensation expense $ 2,927 $ 2,220
Cost of Revenues    
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Stock-based compensation expense 440 474
Sales and Marketing    
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Stock-based compensation expense 601 439
Research and Development    
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Stock-based compensation expense 302 295
General and Administrative    
Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Line Items]    
Stock-based compensation expense $ 1,584 $ 1,012
XML 62 R56.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Financing Arrangements - Additional Information (Details) - Umpqua Credit Agreement - USD ($)
$ in Millions
3 Months Ended
Nov. 23, 2022
Mar. 31, 2024
Dec. 31, 2023
Sep. 30, 2023
Aug. 31, 2020
Sep. 27, 2018
Debt Instrument [Line Items]            
Credit facility outstanding   $ 7.0 $ 7.0 $ 7.0    
Interest expense   $ 0.1        
Weighted-average interest rate   7.33%        
Revolving Facility            
Debt Instrument [Line Items]            
Credit agreement date   Sep. 27, 2018        
Credit facility maximum borrowing capacity under loan $ 25.0       $ 20.0 $ 10.0
Credit facility maturity date Nov. 27, 2022          
Credit facility extended maturity date Oct. 15, 2024          
Credit facility current borrowing capacity under loan   $ 18.0 $ 18.0      
Letter of Credit Subfacility            
Debt Instrument [Line Items]            
Credit facility maximum borrowing capacity under loan $ 7.5         $ 6.0
EXCEL 63 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( !J$KU@'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 " :A*]84UW>)N\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M3L,P#(=?!>7>.FT9AZC+96BG(2$Q"<0M2KPMHOFCQ*C=V].6K1."!^ 8^Y?/ MGR6W.@H=$CZG$#&1Q7PWN,YGH>.:G8BB ,CZA$[ED/ M=42H.7\ AZ2,(@43L(@+D_"V@6XES]$SMW@%V20[9+JN_[LF_FW+A#!6]/NY=YW<+Z M3,IK'']E*^@<<-^RV3-Z_N"KXIJM:^Y:&K15.^3ZP^_F[ +QA[L M/S:^"LH6?MV%_ )02P,$% @ &H2O6)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" :A*]8K7*V$O(% #.'P & 'AL+W=O F!J(F,;,=*/_] M7B>0<"?GA8N.7]I\>Q[\B;\]CJ_64KWJA1"&O"5QJJ];"V.6[SH='2Q$PO6Y M7(H4[LRD2KB!4S7OZ*42/,Q%2=QAGG?127B4MH97^;4G-;R2F8FC5#PIHK,D MX6IS(V*YOF[1UN[""_(D_(K'6>\?$HKQ(^6I/'L+KEF=+)&(1&&O!X=]*C$4<6R:%:S&6\9]1:!;7KO\ M+UD7SW:[+1)DVLAD*X82)%%:_.=OVQ>Q+Z U K85L"\$U*\1^%M!_N8Z1<"7T57/!#7+>B!6JB5: U_^(Y>>#^[Z+Z1V6>PW1*VB[E7 MK62Z60H7*2ZG7ON3"PE5-43JE4@]M$PCX ESION8SUU,N'[&8^UZ%6-4UA#J MHH2Z.*Z>GH2*I.W0(8%AP5EEN%/9V6I[&ZIOR-DO.?O'<=Y'.N Q^4MP1>[A MHG.9=KF00!178%)6!@Z>4^1:6@5:B@>2_9XR6.6O#@+>7/ !%IN MV[^D7M\)>(J$0ZN(0_&,4N;Y0*JE5'FB/R,3 [5")%0Q##-&00^6H;LAX^ZW M=T[D4^0?6@4@BN>6+?*4OY&'$'IM-(N"8B6#U#!NV>VWO4%W,* ])^\IL4M_8'O>60 4"8I5"8H=E:!* MT">I#22,OZ-E[9A\P''0[?F73M)39"A692AV($/EG$KP>C#=71)7-<6J M$A/#D\Y[F:_.%C+%$L0!D_Z@"WG0/>3@TJ9\54)B1R6D70)^%I B3+YP@R[I M7HH>%(G94 M*+I+A)K;VOL%',P"NF*RY*DSX1\PK/WXA>N:@E9IB!V5AB8+ ?6(X>$V]7BG M"#RL"CSLJ, #8#!S0Q^4P2O,COGW>?(Q,S!YI/:SBI/X&V67[7LHW'JYF]TI M6@TIZP_\;@\6\"L78Y5RV%$IY\'FSF*/QRZT^6X,"?.^=>UZ/+"&_ MYWLXSDV%4P0@OPI /AY7=M3D[BU8\'0N:K^8'3!Z'$UN1\X]!ES8E+ */CZ> M6\HON9\RKJ!)QYOM+.J$Q+WJ9A=2-0GL%Y%B\[2\6FY6C_(MVD[U>+'3_8';25636,Q ZIWW M8514Q>9Q<6+D,M]_?9'&R"0_7 @>"F4?@/LS*/4GW5*\X->BJ+2E]-5L:L+V8SG:UXR?2Y M7/,*OEE*53(#3?4PTVO%6=XXE<6,8AS/2B:JR>*R^>Q6+2YE;0I1\5N%=%V6 M3#V_YX5\O)J0R:6%K)#BRZO) M.W)Q'6#KT%C\*?BCWGE&-I5[*;_:QH?\:H*M(E[PS-@0#/YL^#4O"AL)=/S= M!IUT[[2.N\\OT7]NDH=D[IGFU[+X2^1F=3693U#.EZPNS"?Y^"MO$XILO$P6 MNOF-'EM;/$%9K8TL6V=04(IJ^Y<]M1VQXT#" 0?:.M!3'8+6(6@2W2IKTKIA MABTNE7Q$REI#-/O0]$WC#=F(R@[CG5'PK0 _L[B650Z#PG,$3UH6(F<&&N]9 MP:J,HSL;6*/77RI6YP*^>8/.T)>[&_3ZU1OT"HD*?5[)6K,JUY=[_A6><>[+O/H!>ZKJ!=5] F7C#4%;52 MO#*(:0TY^]+9^H=^?[O@+O2:9?QJ BM*<[7AD\6//Y 8O_4E]YV"[:4:=*D& M8]$7UTRO$ P:RNP#_[L6&U9 [MZLMZ'B)I3=%3:+>63':[.;C6L4)3CHC/94 MAIW*<%3ENRR3-8B"[2+CH/"^X%O1LC(*UG\[4E-4<>,3OHT>[6@*(HK)@7*/ M%4XP]DN/.NG1J/1;Q==,Y(@_K>WJTHUN:59IX5/5G:5AQ@L#8>7>8T( >*/18X0!'?HE))S$YTK% ,&6>FPZU$W<-3#&# M4R!Q-% 2TO1 J<\*T[E?Z;Q3.A]5^@?H9$94#ZC@P!FD+%#.Y/*LAL9PW\Y= M+3B9'PCV& 5DH&?33F\ZJO<7*?-'410^4:D[V4)*@@-5QZSV9!'<$PJ/"OM0 M&58]B&;UCR_X-M#^RDG3Z$"GSRQ.@X'Q)CLH)>,CWJSOX:%MW?=7!'74N5:P MLM,!<3W (R<2;LV>+=Z\";N HC3&A\/BPUA !@:EQQ@9YQ@(5#4? MY=BQ\7)!E1 'PAXK*#*&Y/<\(^- ^PW:2"Y1ICA4KUYY+J4 _D[O'K':E]>S MC(S#[(8O.71B#@7.AEE@<^,T'B #Z0'&ADG MVGYY<&S<74;%A#@D\YA%Z6Y*^UI[F)%QFKE=6\CJ8;AG779%:>!LS:[5G S4 M7+3G&QWG6R?5L*>N5Y^]YP\77#"NA\/OM:+Q@,R>;O04NAT9=>K"B\R#PT+! M8T5Q.J1PY_QV"N*.*73YE6"WEO&8Q4$:#>Q(M*<6@1J1 M5QGH1:]_EX8C$KSQ*O\/K$+>D^?_#[2??<\[&HXR_L[([.M*%CE7^J>F?!^8 MZ*/8_.:3]G>*MI]TSU ZSE [Y+)"VN9^@5[AUC++W'-P#C-OM]UP.< MC@/\70[<%K*"=6W/TV>B0AE;"UCG7IDNIDD2X#@^E.JSPR08*+)I#W0Z#G0H ME^JR+IHKM)PO1>8O.J@+Z+-TCJFSD_OL(D(&:FW:DYR.DWQ79UO-R1(F_\K> MSVXXL%+[-T^7UF=!Z,P$G]70<9KV2*?C2-]N[_K4+<1E=1(FT>'1?\!LH/X( M>J@'XU!W6-0LO5/%M\%WK].\AS&?G>\P-MNY(+:W\[ K/(A*HX(OP1&?)Y"_ MVEYX;QM&KIL[XWMIC"R;QQ5G(-L:P/=+":!J&_8:NONWP^)?4$L#!!0 ( M !J$KUCEQ5D9D@( #<' 8 >&PO=V]R:W-H965T&UL MK55=;],P%/TK5D (I-%\IV.DD;9.TWA JE8!#X@'-[EMK#EVL-UV\.NY=K*H M'=G8)/K0^-KW')_CW%SG>ZEN=0U@R%W#A9YYM3'MF>_KLH:&ZHEL0>#*6JJ& M&@S5QM>M EHY4,/]* @ROZ%,>$7NYA:JR.76<"9@H8C>-@U5ORZ R_W,"[W[ MB1NVJ8V=\(N\I1M8@OG2+A1&_L!2L0:$9E(0!>N9=QZ>S3.;[Q*^,MCK@S&Q M3E92WMK@4S7S BL(.)3&,E!\[& .G%LBE/&SY_2&+2WP<'S/?N6\HY<5U3"7 M_!NK3#WS3CU2P9INN;F1^VOH_:26KY1]*[ M_AP. &'R""#J =%S 7$/B)W13IFS=4D-+7(E]T39;&2S W='M&C^SYF:H)B<,3$@51,@*?/PV_A'* Q\=P']T/1Q - M1Q YOO@1OJ5!RUB8AL@UN6("C3/*R4)JYBKM^_E*&X7U]F/,:L>=C'/;;_!, MM[2$F8J C#?K? \7/R3Q2G0ZJTY>K9EIOQQ6G?^D(H^F'.,Q.'P@>3K.7Z\4[0!LJ*B8V8Z*SYXH>31P3[1^T-7NE8-_8,*$)AS5"@\D4.537IKO MR-9UNI4TV#?=L,:;#91-P/6UE.8^L,USN"N+/U!+ P04 " :A*]8'B5< M[T<% P%@ & 'AL+W=OF,.$XPRVB23Y:+ZMFM6"YXJ=(D9[<"R3++J/A^Q5+^<#G! MD\.#C\EVI_2#V7)1T"V[8^IS<2O@;M9&B9.,Y3+A.1)LFJ>R^D0/C:TS0>M2 M*IXUSD"0)7G]31^;0APY0!RS VD<2-_!&W%P&P>W2K0FJ])Z1Q5=+@1_0$); M0S1]4=6F\H9LDEP/XYT2\&L"?FJYXGD,@\)B!%>2ITE,%=S<*?B"T5(2\0WZ MLV""ZJI+=/8YIV6<@,UK-$6?[]ZALU>OT2N4Y.C3CI>2YK%=;[F&>NJBOY^>R^5@#G\CZE8=3#/'$PO[ M9T#6[G,#*E4SL MV63Y\T\X<'XQ9?I"P4[R]MJ\/5OTY4>V9WG)C#.B]@PJ3]UL]DOB>]A9S/;' M] 8K)R"=U0F6WV+YUN%8<:F,3/Y+%OZ%@IUD&+09!M;"ZPSURA66 :@C^$>E MQ0X)<6\ AE9SXKGF^H@(,1U$[DL%WE5CN:;YG> FV@K:$]34NF&]L:]C0P M!W2;@TN9Q,TNRIB -T ;T ]-IF/LG1)BJPPUS8T_;;'ZPU81^LY@YAK,7(SQ M"&HG:=BN:5U'2:'O&0&'8C4EP5&;;0 -9CARQFK9J1H.[2U/[9B :5#M]Y=QJ)[2)YG2L&<=4STA]*XA23P60:6OG>R$!U MNHGMPED/5$,X#CA4QJD?]?D,1NY(ER:=>!*K4AU6Y?/F4Q.S/ZU[P :KL0Y( M.N4C=N7[76]$[MF&"W;@5?31W$7(4-BF))SW%ZG)#(?SD9T_Z020V 7P5O!] M4AU" .V/88?BAK'71[7^XW]<>J132F)7RC^8&NV(C6MP4NRY,^]G8#"S%+M3 M1F)7Q@,:@M:-Y(X*6&WW5"9K(VL=*SJ&<,X'.VFSV=A>FG1*2.Q*:&*-D[14 M_0.)AM9_&JW1;)2V$T-B%\,OU?D4BZ=T#ZH(NX^*6*)2'^7 3@2F=5%68ID_ M:PP,+X4D#)UYU&]\1DMX'?-Q.));IZ/$_GKX_W*SC=GPY7 L.Y.E,;O9T=E; MQL2V.I*4P%CFJCZO:I^VQYYOJ\.^WO,K?+&J#R^[,/59Z@T5VR27*&4;".F< MAX EZN/)^D;QHCKAN^=*\:RZW#$*VTUM +]O.%>'&_T'[2'Q\E]02P,$% M @ &H2O6-7!I$7A @ +@@ !@ !X;"]W;W)KX^?]_=<9=H+>2#R@ T>2P85V,GT[HH'^TVE'+ MG"J8"O8C3W4V=LX=DL*"5DS?B?4G:/0,#%XBF+*_9-W8>@Y)*J5%T3@C@R+G M]9,^-G'8_OY$W\0\"WE!Y1H+>"?$]O]_!9_K_[L$!.D$;[<#B M!2_@M6%]'M5KGH@"R,_+N=(2B_M75_1J]'XWNOG@1ZJD"8P=!%8@5^#$;]_T MAM[[+NFO!+83B'X;B/XA]/@+]B>&==0ELO8<6D_3A%;QJ7_A743N:IM]AU4O MO/!:JQU:@Y;6X&!^ONH,)$EV$F-HCKIX#EXS&:\$MJ-ZV*H>'DS&-*-\">;3 MQ:F ?8]CXY$2>/)$L!2Y8K3NN.EO[$>F>D\(!UO"FCY"9P[K"P<[V1GN9;#+ M)NS.7]@J"0\K>9:Y+G)A5X'Y@SUZ'5:]@N02SN1%)90Q77=IMK3 M=NA=VEZ_=S[!85C/KG\P]23%)K3,N2(,%@CIG848,EE/IWJC16D;_%QH'!=V MF>% !VD,\/U""+W9F O:OPCQ7U!+ P04 " :A*]89#0:&;4% !@) M& 'AL+W=O=J6LD M7J;K>*:Q8;8S^\@DS>YG%>28*2 7R4GZ[U?"!!LA*Z:C+S$X]YXCW2,)'9G% M$ZV_L2TA'#R71<6N)EO.=Q]G,Y9N28G9![HCE?C/AM8EYN*V?IBQ74UPUB25 MQ0PY3C K<5Y-EHOFNYMZN:![7N05N:D!VY'WNYM:W,TZE"PO2<5R6H&:;*XFG^#'!#4)3<2_.7EB)]= =N4K MI=_DS>?L:N+(%I&"I%Q"8/'Q2%:D*"22:,?W%G32<8PC:A*"I M_:%83:77F./EHJ9/H);1 DU>-'(UV:+ >25'UAVOQ7]SD<>7*UIE8IR0#(@K M1HL\PUS!$GK^8/9[JI8E"_9#U, 3ZKA^Z M_;!X&#:-D.EU2GI&)>-G M4J M)I=.$B/DV+GD#\LM-F+*NK.V21G;!$LL@?74"SKU J-ZMV2WK],M/NB7'IZ[ M[,QS]SH85'H*D1\H<\G(.'8N7409VZ1,+('U] @[/<*?U,,TG8R88Z=3.*RX MZ[N!^F"RR1G;!$LL@?7TFW?ZS8WZ?69LWVR]%/7 IJ8EN+V[9^"1,+$1-,EI MI!@KYWP@)_*AKSR.UC8I8YM@B26PGII1IV9D5+,Q(%-I=3.IIO#_#,MGFTZT M:%AGA)1=[(TK M5C2*@&+@H5I_ZF@>(.KNSTP\5A>K:+%5M.25+*L' /#,"4 X M=]3*6CT"L(J6V$+KJWD\!8#F8X!73[ST0@[]>>B%ZI9HU8;U1KVG:J.Q^J$# MW4@=]<.X:>1#.%='O2;.1?,SH_YHT:'9HU]\\*6OEU6W#C5V'84!]+RY6ERK MEMTJ6F(+K2_HT;5#LVVW8C/,'*-U'3IU%X;J?G1ME32VBI;80NN+>K3^T.S] MQ[@-.'3I*!J<:IH)1V^J+N&,K7(FMM#ZDAS=/#3;^9^S'$/+/87J(9F9>+0T M5OV[5;3DE7+TE3DZCP;;6JANWBA9?UH7$%FG_]\:C(T=F M1VZV')[VYT9GL*N2FR]5&TW88/.EB8&AZP3JX; F;AK-'77E2G1QKN?I1RHZ MFF-D-L>760Y]L6S:V!4:VEBQ\XI<&*@[+ZN\L56TQ!;:0*:W5Y/%!&5L0ZM< M?Q$/?[ FH,CX2T6N[%_TT-@&$Y162HNB60P("E[6_^ECDXB#!>#'O8 T"TA_ MP7QD0=@L"&V@-3(;U@>JZ>I2B@%7#NOT:BW* M#(K",@172N0\HQH^W&KX!]72"HD-6E.U1;]#Q15Z\[6D5<;!YBV:HJ^W']"; MG]^BGQ$OT5];42E:9NIRI@&9\3]+&Q3O:Q1D!$6(/HM2;Q7Z"&BRX_4SB*@- MBSR']9YX'7ZF\AT*\:^(!&3NP+-^_?+0 R=LLQQ:?^%8EDT"-S:!&RD*!%TH MJ>;E?;V-N>9,7;C25KN=N]V:%K]0.YJRJPGTL&)RSR:K7W["J%?&=J49._O5E"R#Y>5L?XC>88639=!:'<&*6EB1 MMS#7V;_08_5&UP+F4BK*E.<,E0U>\ZVY3DT%=U+L.6Q0=/>$WE2F:7CY]O7% MC,Y9S#,Y.\I:W&8M]A;S P.G*:=V$,-\@+Q #O03@NY'['O%=R:CKA34?J.# M(N(H"7N5=A@E"787.FDA)U[(UX60FO_70N:EIN4]OX-24Z68=F[,9 !D&4<] ML$.;.![!NFBQ+KQ8/Q4[RJ5)X6G)70R@D(CTX YM$N)&NVS1+KUH;[5(OTT- ME68H%07H"V6S[$*X'")C/#4QM(+MK3O&(F MO=#PIG=-LN%207O+4?C^6YS:P8VWPT"G\4B8!W2.7VC-#9,22J'I(W,S,1[< M=HY[)?#?Y >G"R9=$,3?K#E0)2U3AD"GHA3"X?4T'HF(# <&B?LA#8U(-)+M MCM;Q"[QN-Y4RN^J !>P\L>V:@9MX_FH%>;Q8#(XS.8$CTQ;W&D ["7+U8UD,'!AN#Z: MX<7JT@F]9=('.1KNIV31!SPTFLX78TW>T2_V\V^;Z1U],FEVXANRZ'2Q&'3% MT(K@Y0B^CFOQ"V2;IK)BSH0>=(03]9!.IW@>#O+J,EN$\Q'@'?%B/_.VTU.R M/2LK=V*'%+J(D[XL<%A-8S*F#'!'MMC/MG^>KD6=00Q)=KY,!OTVM)IBO%RX M@R =%Y/@I,HV")FHHE\Q,\F0@Z?]B>2R(>$([(ZHB9?[ MNK9I.L6YY9R00U>ZYT$?M<,,1_&(:B4=IY+Y29VRX27HHM=TBI>K3^Z4,WD[ MSD)'T.0%@J9/ST]#8W*])98G9S;.^NA-'*R.HV"LV!VM$S^MWTB1,I8UI3:_ MVHBM_'5&-23O, @&6]-[TQ^M7:<%B%\+' ?%'IE,>3WSE'EP!,8RY7/WGM?S MR54;:@9,QN9AIQB(7S%\8;MFC*MZ>Q8%;$8;FC,DK[>30W*(#$RB$7U).I%! M_"+CH-]>L0L=(L&U#;VW_,%M&':2(_0__@\(P#5)G6]@SRHY0L;AIX!GY8\->_WS>_.:(>R@2S"OBYT6$VC M<#'23&$G+D*_N/BXV;#4;COVF-81P72'_5>'53]-]B)S1N'0$+@O-)Q&8R$< MO.CW"XWU2/HUNF/WO"S-AH/XGAB53N1#'1$E0?\%J<,*!_-D;!=U:B/T/\&/ M@V=&W8%,99*+S E\^&B^B$A?E3JLHB 9>0T3=OH@]+_%OZUVN]P>5]&\AF\D M$\JX2G.A*CEVN')657 N;\)GF558//_J*%PC-_0X/ M7*+%H*!#(QPD_>?PV<'Y9,'DO3VV5R#:^_X]OEC7![R= MF_J\^3.5T%X*Y6P#+H-W"51#UD>X]07&_(TZWSMZ$DBN*N,C:< M#322A*JF08NYHLOJR[Q-.BU* M5V2#=E9X6IT-+F:O+X]Y?]KPJZ9MZ#T+]F3IW"V_7*FSP90!D:$BL@:)OPTM MR!A6!!A?6IV#SB0+]I_OM;])OL.7I0RT<.8WK6)Y-G@U$(I6LC'QH]N^I=:? MYZRO<":D7[%M]TX'HFA"=%4K# 25MOE?WK5Q^!:!>2LP3[BSH83R!QGE^:EW M6^%Y-[3Q0W(U20.X/A0+9X,S6NTC<>TID(WR/A1OM)6VT-*(&RP2 M*C,&\/ ^!^>QUJ6=#9H&9;?D.#\V??S5Y,3YYP[[AS M[_@I[?\KLT]K?N\BB=E8?*L%<>,:JSZ5VMYJNQZ**UN,Q4$L23S[[M5\/CU9 MN*J6=I?>9B>'8NFQ+PC>4;LM>5:F]%I'Q![!MB&3$9N)3ABY%62Q5*2<)"2! MBL;KN!,U^>"L)2.6>/%NHQ5TXXD*S<0RJI'T@I<>B*$4&M8?AJ)PU5);WH': MD"/EP2)VOR'+ 56DM2Z$5!L=G(<&I%,7% 2 /0JQT/@N#(@4$$M=C\5%8$=1 MYD79U?DP1:$-D"BE$K*&&W<:_I/9B?GS:4L3T)+T(B( 2MB[H42)I, IL?Q: M<#B;3@5X%R4-E) JR=0BN2HOAF+V?(>>1@\\[9*]%8^.'#?JUPOG9>MG7U:#4< M:'BX\)B+G\ ZR1>.V=Z7Q8?K=U?O?Q*_PP/9X?^Z ,EO637Z- <:+* M@0(^HZ^"TD7V#5I1>,1-(R(/Y@*2C#7' >55W,*72MX2UPMFMEXS[();>:\# M38B:8-,44F@X-AC1EXTVZI'8]/-\U;E)*5)P9H0VJGO^ITZ0%CV28Y93ROW, MC)^YS!,R%M-CSJ QOZ M'D<*)/ O2C8T.K5(^@T6N7[W2M@4OH-)J6+])=I=@S8+5(;'PE[]4+Q[MQ '[2#IFVUG M"9R^:-8HRD1%8_&II]V!UE#C3!A[/N=.QNLJ;J6GD0PC.6JY'"?7Y7[ 54YA MJB!^+-Y1\/A!&KE6WN)$@E0D+KY4=7@9V2\S8*R\QXL"C M#< 4,$>9&E "FGPS*>S[Q^.G +7%?9? M"M1;:9UQ:_;*NDUF;J[AX<-3BG@GEX !S717IYI'B#$&T>PHEJ9NN[[3@F[@ M\+%7O+-GY[[#T#)<[9C%1AF]HCRL@9+L1GMG.8LX RBE&1,G[J$3^? "$WS5 MBF13F-/A(Z/9GSAX$;M7.'HE35TUHUXVN(;5[0AHMP-@W+I]"0\[J@^2!T*! MC/(!BJV"JI267O.,[W42=]OLY4F 6:OFP.TM,P*#OT/T@U=W(;2VIU(+Z'L)CI^1)[RX$;];IQL?' MA,;&?"WJ5KM+Y46^2^VWYQLI9B_&8\!@6D%T.G[Y?(!"3[>\_()QD6Y62[2< MJ])CF&PO=V]R:W-H965T&ULO5KY;QNY%?Y7".T-R+(L M.T=S&+"=I V*'+"2%D71'Z@92N)ZAIPE.9;3O[[?>R1G1K+LQ+N+ HN-1D.^ M^WWOL%YLK+OR:Z6"N*DKXU^.UB$TSPX/?;%6M?03VRB#-TOK:AGPZ%:'OG%* MEGRIK@YGT^GCPUIJ,SI]P=]]=*5W;P<'8WR%Y=Z MM0[TQ>'IBT:NU%R%S\U'AZ?#CDJI:V6\MD8XM7PY.CMZ=GY"Y_G /[3:^,%G M09HLK+VBA[?ER]&4!%*5*@)1D/CG6EVHJB)"$..W1'/4L:2+P\^9^AO6';HL MI%<7MOJG+L/ZY>CI2)1J*=LJ7-K-WU32YQ'1*VSE^?]B$\^>'(]$T?I@ZW09 M$M3:Q'_E3;+#X,+3Z1T79NG"C.6.C%C*5S+(TQ?.;H2CTZ!&'UA5O@WAM"&G MS(/#6XU[X70>G2'L4LSURNBE+J0)XJPH;&N"-BOQT5:ZT,J_. S@1[<.BT3[ M/-*>W4'[6+RS)JR]>&U*56[?/X2L=WT-NCI?CWV<('AV#YSSZ%([V3_?0H@9[Y1A;JY0@9XI6[5J/3'[\[ M>CQ]?H^T)YVT)_=1_X.NNI_V>QN4F$W$M_,0Y])K3P<_DJHF2,ZR3VN%3"ML MW4CSA-R*0,>EMI(4VA9"8^;"FD>O%C+:R462AD!\S72X9PV M3,Z5.*V0&V$M5LHH)ZOJ"[U1#5&3O7R-TZ#;5) 0=P/$^6PTG9D3'Q;XK%8. M>HF??_SNZ6PV??YY,I^(OYZ=?>3GH^>_"&E LVF@J5Q42KB6R-&73JW:BC5E M2D1^KHK6Z:#3B=. MM)F("^4"H!6'(@ SDH&-(8>5VA>5]2T<@"_PFHP"]:NVC*8C^;YN]ON,W=EF MX)S>I=8)6^M E)O6^99B)5@@?+'>;[0)!\A#8B*IPZI 3X!M9_F+&&7,0^/K MS=K" =V8T#,MPNO2RT='#,19Q6(#@*:;9ZB5"#=C9=%]&JOIJHT )>[%F3$M+EQRR F0IF(GCJ8'?Q<0AJ]\4=()11@N7JE"U0OE,@H?=[&] M1:>+\AWF2 !B<88DK43"\8EX&P/5-MJ0;O!N+0TZ I)_S*]^MYU1XJG^"V1& MRA!\A7QU1$B6OZ+ QH,&BGE/T(?X;2*BB:74#AE%$O34&^LU^6 \#$'&%\"R5\\GT0OW6ZA"CMY!^+99HD'QG](P*(*QM M"1*+%FHX19G?2:LYWTO$-/4V.2_VRD6Y.F #+1%:2 6 >1/MEQ@O6]B*74[> MH6N4(\LV &:2-#'X<_JMI1?J6E8MDZ&\@V9D/G7-IK5%9_ E=&(FY+(L[D/\ M24(FLH[LQV3A41NA%&][3!P X+?2GXC/GN5Z[8.NN5Z0IA$@8U[BY=5@IE*RX6N^@*U[[@CF[;I@+II2#LORI;-V_/@^IHBX /5(23SRM*W"VH& MQD,]K*$< M@RW*9 L%O(GQ5:0N9BO.+,1PP-@B6(?,>]?'#ED_QDU/&_*L-0Q/G5O%SD!E MIS:%21GHC;AL?:**)O9*A0/?J(+$S/4600GRPV32X(9"KRBF(B8BJKPUW/=! ME817A79%6R.OP9':B2*T7$HBT!9WL3E"(Y6WL!4X&2 20W43&'L&-WNKK%$,\_F-1G&H MX5H$QY7BV@@4H)(4+8=\5"7'&T",PH"5EN -#;F;XGP8,LHQY[E(RVNI*S9^ M5/4Z.M@@/?A!7>,LK#?$CE2;*+B%X6\1&'5:]UCSZ$"0.@0P3C35D*==/49?:7XD+7(<= M^#,'_M%S\6;0&J0NHZ,RC/4[CKV/34II;N3&%%R8=C)05J-$?KYY$L.;/\5;J2-4W $ M""*0(X(M;>MB8Q@3"899;IE(AW8/"&!,!UY:'RO-T IZ&*$0**VSQ )MZ7[2 MMQ #DMZCQI[P3/%(1%N*L$5LL-\HJCL5)@RV#Y('KWD.O;".,I>Y_SQZ\^KM MQ>B700&I+!4$=@R2>V4! H9#&=7$%#S]#8W1;P^0U44J,W=KP!W;6J_6!\EN MOP'XJ96[T_"6F]OM=*,6F4"R+UNQ:--P$&O;O5*@X+#UWDF';,L+L%T6O+)P M]H9+#O3[7CR9/!8U$)LQ]WLQG1SG1V;SO9@]&4^G4S'.4;EG4/S)[T;B?LW' MG.H1#ZQA]K-'4R8/G5'2S14%8O9Z+*WD3$%C=M@%!M[3Y'2[[-.-Y,9!WM#! M*@R'&2[.PHZ%H%C8V#XO4N[0 $ M*&PJ4,/C,;=PB_VJ'^B^ZEY&%\#W1O'.0<2MIK^K11T.!,-M;-X6E\H73B_Z MM>2?O(<:Q=/J$->C78ML)SG0@I'JF&=<@X8#G'T%!*:L+/+?[I%F9OSN;GW9Y, M8R2!6GNO?6YX6](MVN:?NVO$^F#ZE_&WBCV@D>]F6D"M_DM8>=%*++X/U3-,N$ 1BT7KJ>"G:0IPI(6>ZKSB/Z#\.@K1- MZ*:W@IIN2YO<'#W4AG.'"W-C3(V=B5Q0'N7M71HU$ \;18.%)ZFX,2WC\J_4 MJ8<:KEWC")_HTG(>:4.+7$M5L7KT>/\N)UB&>E57V/ JC2=5-Q//7[E5W^\!]ORV4_P.(6 MX5QN:!ZR>=L-X8@$7,_F:L4=W4X&OJ?C.QF(I.J2"?90 ?+PTZ4*PI^#I[OETZW!2C+%1;<;)/C?SI:]V;&U;LGK MN<'V*$Y]MUFGWK?SV*W8S'+E*K+6:BD^Q!D6PB!FXACW#I.B^ZD'D(L/K]YU M*-0M)7@[*V&3K#E%-(9=C/3$86TWD0LNBY94V/,G+U*'6A;ODU:)5E_9E.-T MY<76GYP3Q^.*?T_AX_05?W30?=O]9.,L_E*A/QY_[X%V8T5# M<:66N#J=/'DTPE#*OZ&(#\$V_+N%A0WH\OCC6F'.=G0 [Y?6AOQ #+H?LIS^ M#U!+ P04 " :A*]8$0.1PGL$ "O"P &0 'AL+W=OTA@V'%[*'J@ M=D=:(EQR2W*MJ+^^0ZXDR[6MV'U<))([\_&;)V>R5OJKJ1 M?*N%--.@LK8Y M&PQ,46'-3%\U*.G+4NF:6=KJU< T&EGIE6HQ2*+H=% S+H/9Q)]=Z=E$M59P MB5<:3%O73&_F*-1Z&L3![N":KRKK#@:S2<-6>(/VMKG2M!OL44I>HS1<2="X MG ;G\=D\<_)>X!>.:W.P!F?)0JFO;O-S.0TB1P@%%M8A,/J[PPL4P@$1C3^V MF,'^2J=XN-ZA_^AM)UL6S."%$K_RTE;38!1 B4O6"GNMUC_AUI[JM,#&HNNW_V;>N' X51](Q"LE5(/._N(L_RDEDVFVBU!NVD M"F\AQZ8)R8S5]Y:1G9]=XA[)%N$;!+)9PR4TAE&DUFLG T@5.;%!L MP>8=6/(,6 J?E+25@8^RQ/*A_H"([=DE.W;SY"C@)Z;[D,8A)%&2'<%+]]:F M'B_]CK5+K6JX(*Z:LH(\;BNX\+Y&#;^=+XP___TI!W3XV=/XKH+.3,,*G 94 M(@;U'0:SMV_BT^C#$?;9GGUV#/VUL3H*]C35S\HBI'TXZJQ1(S #2R6HX@V\(R%;J=8P69KW9SV*:5&YH/9<4%UDT]X<5UQ* M+E=488+) N$$LB2,AD.W2,-A$O<^4X4ON" [5@;2-$RR!.(LC+-Q;T=78Z%6 MDO]);,I6.SA+9#?(=!?QQ:-KWCF(-!O"^VXY'M'RQ7CRD!+I1V&21!XJ#[-D M3$C4.:@O2*ID\I$L-L#KQJ7C)$X^0-ZC4GEH=QZ%PSRA13H,LWSL_=WY MTA-@"X'@(R:M(8:N\;H/#6K?HAV(6@B^8J[KN3!H*+:9WC(A-K2K:V[M?!>[:WU52B9"LER"RXS!.8^XTTNQ MM*23DYNCWA=EF2"].*:@YB-OG.6U,X! "]26KMBGTM;_OGUS68B6N@IX5KAU M!%NH.P1N?&30$!XEK;=HI7X0U/2A] >'KC @E:506G "_7TS>,9%N^O- MXWQ_TG?D,F"U:EV,6N^SW<5$GKF6(P2E(\'>*5X06N>DARA]N+S/.EMI1*B[ M_HJNO_Y-.O1B%XH23&X.4W$DI:94]Z4OMB?K)/[,G M>YD]7O[0I->%!5YJ1]Y/'Q+RH)2,IEV80O/&E4$(K@8M2E_GCIEIFT9I"ZZ# M4R8=V!<_A&NT6J)QPQ15H%%+NV;4J$LB(51#8]8]Q/\2IWC#?*DH/HH3$@<$FJ47^8!Z"[ M\;#;6-7XD6RA+.6<7U8T4:-V O1]J>@AWF[&PO=V]R:W-H965T^LOQ-H3JU73JDRT5VI_8 MBDK,9-85.N#5;::^7X_FX'?C#;+:!!Z97%Y7>T!V%]]6MP]NTDY*:@DIO;*D<99?CZ_FK MURM>+PO^96CG!\^*+5E;>\\O/Z>7XQDK1#DE@25H_#S0#>4Y"X(:'QJ9X^Y( MWCA\;J7_*+;#EK7V=&/S?YLT;"_'+\?C#[GZBQIY3EI?8W,M_M8MK ME\NQ2FH?;-%LA@:%*>.O_MCX8;#AY>PS&Q;-AH7H'0\2+=_HH*\NG-TIQZLA MC1_$5-D-Y4S)0;D+#K,&^\+5=?*A-MZPA_S%-$ BCT^39O?KN'OQF=U+]=:6 M8>O5#V5*Z>'^*33IU%FTZKQ>/"GPK78G:CF?J,5LL7I"WK(S;RGREI^1][KV M&/%>W=AB;4HM=JK_7*]]< #$?X^9'"6NCDOD)'GE*YW0Y1A9X,D]T/CJFZ_F M+V;?/Z'OJM-W]93T+X;CZ=V_V4!J=:*&4M2=SNC6FC+01/WZZXUZ4SM3;E38 M$OZ,2]6'6KM 3MF,O;ZERKQ+\YA0HE5'="^;E\]E,?!NE6VC_4?'ZR LCSG$>P-=%^.P%? MK/]$#JM@)<-9^417)NA#(]FBYCR6.KIZGQR>G:N_%;#JM;>QD/?>O91@5W(U>1>*")5 M-DI(\@\#,NU;FWV)WD-7)3:9X-4 ;. M4J1="896E=[K=4Z]TGVPOOGJY6)^]KT'\SY06<-N[&316)A&"#%:8)&S]6;+ M+Z=1G18Z:^N@*+%WSTYFG4DU[''BB/=%!>RI&T>I">IZXX@XE.K9'9$2+,\7 M$_4CTK9,^+QKYS3TEW"KYXR'"L@U.L_W*H-8$7K<&5&S(7PE"IDV3CWHO*8V MJD>)BS9!!5MF, I'K3/2@$K&JHP&I^"-ISSHG7!B7I?L?:"NM,AZKHC M;9VG:DW_9X#8($=>A+]I!. M$EN7?#AG.0^H=4N^P[7L+RQU*8)**'9AJZ[O;M3+V>E$'6?K3V.'B-N=/^ I MN).8=63P^N?OHL-VI"L6D8+!8A> SN.>0A29698C?A GQ\;$_$51M/;>;$I! M)%PW@ K.XGE$&%C)#">7]P1,LK-RH]UZ0X@!IPGB]5B]#L,=:T>\]F<=78UW$ ?T4MZ MBHZRLBJIG6,/#]WV3)TNU//1&\H(DVD+[D-8O5Y/Q\/OJA M8?92 RLSK4.#=I0AI]S#L(!=SNP:ANM@(9?P] MV\SD79F-P3B4'>$544(]67)V)\>)BE$W7\0*-CG5*$3-2M$2DG;\K[1#"O].]!DR6SKLKM'0J")>D&)]?2N >%Q$)X@;!X1$;36PLB8J>0:= M4JQ#YJ![Q:*T=\& A ")7W2)F\%>16UCWV"BTTT9/P? !;'OD:3'IGS?+BMM M@&H)JGGD,?0@TL$^=!B(/93D$9>IIMH+@\;^IS>@HT_S:15E"X*^9S-SG1S3 M_/,.S6)O"1L&%D&BC\>":LP!:3,!V=RD$G,?\!.;T4,3#B\(XI!'ER">CD'" M+F/3J.$6*6YQ4X Z7U LWGO8'_%*T=O60:0W^X4P'G]=0A#;R$9&O_2B$\4M;-]I]I[R.G^?ZY?$C M)Y3=&. BIPQ;9R=GIV/41_EP&%^"K>1CW=H&5#QYW!(*D^,%F,\L[L7-"Q_0 M?;V]^A]02P,$% @ &H2O6+H5.K)E!0 0\ !D !X;"]W;W)K&ULS5=M;]LV$/Z>7W%0NR$%7%N6Y23(BP$G:;$,21'4 M6?=AV =:.EM<*5$E*;O>K]\=)3MRZ[@I,'3[(I/T\;F[YUY(GB^U^6@S1 >? M%(9'O5S((AB= M^[5[,SK7E5.RP'L#MLIS85:7J/3R(N@'ZX7W M!B65.196Z@(,SBZ"3+7^R).;]"((V2!4F#A&$/2S MP"M4BH'(C$\-9K!1R1O;XS7Z6^\[^3(5%J^T^EVF+KL(3@)(<28JY=[KY2_8 M^#-DO$0KZ[^PK&4'<0!)99W.F\UD02Z+^E=\;GAH;3@)G]@0-1LB;W>MR%MY M+9P8G1N]!,/2A,8#[ZK?3<;)@H,R<8;^E;3/C=X*:>"#4!7"'0I;&23&G3WO M.0)GD5[2 %W60-$30 .XTX7+++PI4DRW]_?(J(UET=JRRV@OX)TP71CT.Q"% M4;P';[#Q=.#Q!M_V]%K:1&EVUL(?XZEUAI+CSUT^UY#Q;D@NF%-;B@0O JH( MBV:!P>CG%_VC\&R/P?'&X'@?^O>$9B_0;C/?:8WL%AS^_.(FB\,PO^7'_[%47 M'C)IV^KS1Q=@*2PDBM3(F20E-+O%!2JXN;GQ&F7QI?&9)#--DK%QP%0E1DYI MZW0%XR31E?<))DX4J3"I)392PDYJSTZB\'4_?#T8OAX " MLIXXOA,KIG>P3:_!0N2DV'L+3L,#)EFAE9[+!"9:5:S1;C/3$GGDY[HR;++W M4QKKX%,EC*.0$KM?JRV%K /Z$OK=(;4;I=BSMO(G SL52A0)=H!HG55*@47G M5!T)4L;1U5,EYU[:0D5=PGA=946,4U\%,3?HY3TQOXJ"3/7D1/]%[E'/YZ,G M@5OO-\5@ZGF)NO&&&,J21F=[8'HA(<=$K0E^B--K?;7@?PWRV!O M5CO8RCB744 AKX\%Y&.!TIUPUUV]R;[OB""7=(H)W3YL;<]+(&;ZZX!T_ &= M0E4RP^E?='S6S8RB9S#1ADU89X&DYD]P@IFD(YQU$_F2][-M0!<>3(3E'&F" M8IN ;SO1A?$V"ITEE5";2++B>2'_)IR&ZA4*T_!QC4G=8K% M2;&@N@,#J'?&88AO#JX\M3XP^AYK#Q"'-%V M,GR7;8-.%/>9>N)@R1^J,+H\%G:&AL- R4N$TMO'WUXVX4^?WQ,?B?9]Y/TX)!(H M7RPHG-'6L'L\#,#4#ZYZXG3I'SE3[>C)Y(<9O5'1L #]/]-TWVTFK&#SZAW] M U!+ P04 " :A*]8=Z_2GXH" !^!0 &0 'AL+W=OJ"E MD42$(AV2BM*_[Y"R51=(W(O%&YX65GG".?3#2OQ'NVWS4J3%?8L.:]1&JXD:"QFP2*:+%,7 M[P.^7R%=YS2R;3[5J0;MH8G,'WZI'4W%< MNJ7<6TVWG'!V_DFIO.5"3$-+;,X79EODLD/&KR 3N%725@8^R!SS?_$A5=&7 M$N]*6<8'"6^9'D$2#2$>Q^D!OJ1O+?%\R7]: R9SN)&6R9*O!<+"&+0&KKG) MA#*-1OBY6!NKZ0_RZZ4Q=%G2E[,XT4S,AF4X"T@5!O43!O/CH^AL?'F@A[3O M(3W$?G ]AY%?E$4X&T$_A:\50E;1$!"XA'+GY@:8@4()DJ>!MW1E*]48FIDY MF0QH)UGEEW*-&=9KU,X8N VY-26#)99<2BY+TH9@,D-X TDZC*.$#G$\?'\> M#1;98\,-]RI4!=RS E>*2ZKOK:\RA7>P%V-.X/CH(H[B2XBB89S& _J'O9*A M.[PTZ'!/$S7JTBO?0*8::3MY]-[^<5ETFOH;WKU,- 1JTH# @J#CT?EI +I3 M>V=8M?$*6RM+>O7'BAY(U"Z [@M%;6X-EZ!_J!V1UHBW*5".\M9DYWK18S.1C!>[Q6H(>N8VI_B4+NYE[D M/2AN^*8U5A$L9ENVP4]H_MA>*UH%1Y2&=]AK+GM0N)Y[R^CB,K7[W88_.>[T MB0PVDI647^SB?3/W0NL0"JR-16#T=X=7*(0%(C>^'C"]XY'6\%1^0/_-Q4ZQ MK)C&*RD^\\:T)#S\BTS;#%3<@?*[B8T*[A0G34YQWN;E$]& MT5=.=F;QOC>LW_"50%AJC4;[\!'-+#"$;7<$]0'GP'LG9;/C0@#K&_@N M:GC+=2VD'A3"7\N5-HJNR]_/T3">DCY_BBVA"[UE-$\:.6BB6I]?3"B5=7O,Y>2SJQ1L8'F'B@H?EIU4AO_#7)E>H^*R<1A[ M9$J?PSLEM89E70_=()@S/#4@YR97KE!049L03JM;OM40I7 &<>:G14C"&TC] M*B[@W"I#/TN3R;+^.G!%B%JNS8Y1\@W6;2^%W.RA@BCWDS0DP]C/G6&4^$64 M3*[)BYX8L%>)]X9:"O68@0G8*NJ6RNPAAL0 M8LU M=BOBX$!T\K\2G>8'HBFN\$>(CJK*LI'Z41H=B79TYOE(I\M$D50OT9EF(YU9 M]E_H)/*MQZ5?)>5(9^[$T_M^R@+>TSS4"#M&^=]2PN\YS084>S*-IB'U:"'< MN*&[<0;AM#AJ:(*Z0C&M0H1N;)=HVR4\KA!G^TB5^$2XWJ(;86(_A=M'!6>8 M==.5LF5K/1C;QYZ&_3@.*;6))8)/F$G*7WPMH03%106<2'O#Q<77BN-08G,XTNW,9-;MMT MAMZ,X^VH/3X.EN-,_+9]?%E0D!O>:Q"X)E-*2>:!&J?UN#!RZR;D2AJZW4YL MZ8&#RFZ@[VM)O?&PL <&ULM59+;^,V$+[[5PS41;$! ME.@M2ZEM((]=M(?M!@G:'HH>:&EL$4N)6I**DW_?(25[8R QT&Y[L#D49[Z9 M;V;X6.RD^J(;1 -/K>CTTFN,Z2^#0%<-MDQ?R!X[6ME(U3)#4[4-=*^0UF67J% M!S5NV"#,O=S]C!.?S.)54FCW#[M1-\\\J 9M9#L94P0M[\:1/4UY>&%0A&\8 MQ)-![.(>';DH;YEAJX62.U!6F]"LX*@Z:PJ.=[8H#T;1*B<[L[I%P[C0(#=P M@XKD#FYD5U/6L;:2EH+7S-#DF@G650@/KE>NJDH.G=&+P% 4%BNH)H_7H\?X M#8\)?)*=:31\(#?UL7U T1\HQ'L*U_%)P$],74 2^1"'<7H"+SFD)'%XR1MX MQT3O43CZMUQ70NI!H88_K];:*&JHOUZC/Z*GKZ/;37:I>U;ATJ-=I%$]HK?Z M\8PW]'<297^:1 M%5(_FZ>SFV-?4/I)GD/NQW$VNQ)T@+G Z2B$2F'-#5!':&J(]Q#%.9S16)9P M-GL'2>;'H05.0G\>AG"GL&>\!GSJ;4:T8R9-0W%6@U+8'5S^8V:WN$%"L(EJ M6Z[M::G)<>0G1>;&N,QF>_]:;LR.J3&S@E=C,&6:DUZ4SF8449K/(0WS P;O:!>X1"3$MJ"5SXY($H64Q\*R][-P;LG[91C#N+JG)V2W M=0[._C.JB1_/LW$,L]D'7=E-4PG&6WCOVC.%V)=6 )ZLF.%MS0;#X+TIWATK+KD-QKJ93AEF/3%A6J5]$ M!8TY)3.Y1,<.[+0BD2^C(;TEDRCRE LD-NJPP 1NDE60>4>FHK$R@#@:R M,^P)>O;L^C\BJA%A/QCR366EK!XKV!:.XF+*4AYFD,8Q96GN1ZZY"S^+HZF^ M1XGXGB*?8NK:>5ZZ,4MCMU])TQ:"C@G-:V=*E_W>Z!FR++6_F34IDL3N=3\L M\]?.VN#%-=JBVKK'@@9W<(PWZN'KX3UR-5[#W]3'QPRQW-(^(0H;,@TOYG3] MJ_&!,$Z,[-VEO):&KG@G-O2F0F45:'TCJ7&GB75P>*6M_@902P,$% @ M&H2O6'X.K02\ @ 3 8 !D !X;"]W;W)K&UL ME55-;]LP#/TKA#OT5,2)G7ZL30(T[88-:(>@[;;#L(-BTY$66_(D)FGVZT?) MKI8HL2W^,C93*CC;%+)Q$)'JM2NW$DB>KS.':9Q$JXGJE1\TEA;"6( M3;N(76U1Y %4E7'2[Y_$E5 ZFHS"WLQ.1F9%I=(XL^!6527L=HJEV8RC0?2T M<:<6DOQ&/!G58H'W2)_KF64K[EAR5:%VRFBP6(RCR\'Y=.C]@\,7A1NWLP:? MR=R8I3<^YN.H[P5AB1EY!L&O-5YA67HBEO&SY8RZD!ZXNWYB?Q]RYUSFPN&5 M*;^JG.0X.HL@QT*L2KHSFP_8YG/L^3)3NO"$3>.;LG.VS.;7X14 YK%*>TOY9XLGRK&T>0. M2T&8PTQ8VL*#%=J)4"\WBHGYO5>LJQ.7 M/(F;)GL);X7M03HX@J2?#/?PI5VR:>!+7YTL?+N<.[)L?7\N[X9V^#RM[YMS M5XL,QQ$WAD.[QFAR># XZ5_L$3WL1 _WL;_RAO9S?3*$\+8'>PIQO;)*+X D M\L\B0M7<*?H[!;Z13'97G\02J]] %OQ-P!HWYPNSIN I*026$5B7F)P%-',+5H M-))D8BG6Z&,B=W4.N='M8> VFC'%KKS#@[-D<'K!Y]S,:"%7C"5C'0B=_Q/D M%&=6J$QH N[);"E-F:-U/7B0:!$V_J$-ZVD*6X?"TFYA.?__*6K:>^Z;B7&OZ+6\ &Z/Y#);U!+ P04 " :A*]8 \@VS_\# M ")"0 &0 'AL+W=OB#[0TMMA0I):DXJ1?WQE*EI.N8K1 M'VSQ,G/F#.="+O?:W-L"P+''4BJ["@KGJD44V:R DMNAKD#ASE:;DCNZMI)H>#&,%N7)3=/5R#U?A4DP6'AD]@5 MCA:B];+B.[@%][FZ,3B+.I1YI\R%=!3(1 0N8(@>/G =Z"E 2$-+ZVF$%GDA2?CP_H/WG?T9<-M_!6RR\B M=\4JF 4LARVOI?ND]S]#Z\^$\#(MK?]G^T9V% &KUGAJ01C0;>5:^-Y(2BH-PZ@[L"]=SZ&N/^ M066Z!';VB[;VG%5@V&W!#2PCAP9(+,I:L*L&+'T%;,0^:N4*R]ZK'/*7^A$2 MZ]BE!W97Z4G C]P,V2@)61JGXQ-XH\[;D<<;O8+WGALEU,ZRFX.3[/?+C74& MD^.//G\;N'$_'!7,PE8\@U6 %6'!/$"P_N&[Y"+^\039<4=V? K]OX;F)%@_ MU6OM@"7QD)TPQ>X*8+A3U8[[.M);*@.1,85*HE62G9+U2L+Z6LD9*C@$V/OJ M@/P-?P"#Q'!*EG;D.T+\'#",-ANL>&0'4\'6TY(9 Q@)W-<'E S MC7W-.D([FK+UYD]2=OIP"!7YA@9PUQF1D7?-3JV$PW4H*ZF? -K5JC99@>XA M+:Z.,T,^6H9.L#TWABOLX_X MUIB5_8N\8V$MC6+OY"+>RWLA/)O3OI,T)'H MVJ(",7W,H'+M'F$<)7-L7.>+P5UAT)'G'81A_6/(L0$,J %0%Q@-KNL2(^6T M60PH;(2#]-12RL>)A,!YXE'+FHY/-#F><9G5LK=,7KK >!/W-H?WNI8Y M*_"XV 8PP3%OQ)L#P\6@+SB_-@E+&=QEWXNR3L)9,@^GHP1'XPO\S9+!9_6 MZ8V,^K,<)>/9)$S2*1N-IAB!^>!.4RE1Q,?A;#+S\9Z%TW',^OIN].QZQ-S9 M^4< E6"M7'-3=JO=.^.RN5Z/XLTC!7W>"?1/PA95X^%T$C35=9@X7?G+=J,= M7MU^6.!;"0P)X/Y68[3;"1GH7E_KOP%02P,$% @ &H2O6,BO/)I^!P MZ!, !D !X;"]W;W)K&ULQ5C;;MM($GW75Q0T ML[,VP)%(ZD8[M@';RZJKLNI4T6>W6OSQ:ZD=/10E;4][Z^<6Y\.AS9?R4K8@5[+&BL+;2KA M<&N60[LV4A1>J"J':1Q/AY50=?_BS#^[,1=GNG&EJN6-(=M4E3"/5[+4]^?] MI+]Y\%$M5XX?#"_.UF(I;Z7[M+XQN!MV6@I5R=HJ79.1B_/^97)Z->;]?L-G M)>_MUC6Q)W.MO_#-^^*\'[-!LI2Y8PT"?W?R6I8E*X(97UN=_>Y(%MR^WFC_ MQ?L.7^;"RFM=_JD*MSKO9WTJY$(TI?NH[W^3K3\3UI?KTOI?N@][QZ,^Y8UU MNFJ%84&EZO O'MHX; ED\3<$TE8@]7:'@[R5;X43%V=&WY/AW=#&%]Y5+PWC M5,U)N74&JPIR[N+=UT:Y1WI?Y[+F^-!-*6I[-G30S3N&>:OG*NA)OZ%G1+_K MVJTLO:L+6>S*#V%39UBZ,>PJ?5'A[\(,:)1$E,;I^ 5]H\[1D=A\0;]Z>L:N[N+R^72R*5 W-[7#OJM MRNFS*!M)[QZDR14C[ A.NI5N+ RWQ[U_-LXZ7+(QPM%;F0=OV[-'E$2S["0: MCQ+ZD=+I(!OU?@4T^;1)$DVG,SQ.9H/9F/_C09;TGHYBMY/T#5;VKGK7 G$J MV1Y*DV@$/<=\P&2039_;]"P8290E)]%L8]#DI/?))Q?!;N,L[Z1!(&3M[Y,W MM#;Z3C%91S[@=8@?@&*Y]"Q?Y;I"!LAZ8+08+!!R@^#;AHW=P5";2%!B69)H MP(7"J5R4Y2- E*,'64GZ"4T)'R$%W'B4PD0TETM5U^S?]B9V,,D\HF3PGD%< M,R[SLO$/=O:F,X*J1YK0WUB_QY)VHCSH(*]>ZVHMZL>_VUUW]5:\\7 + QM! M5&4N_3I\A&W">$<(X1%42HMP[1]:2"<-&@/B""-9S946IA@ G"C-7)O"A_5> MN95?[=+VO\P7ZFB3H&(O^$ 7+)V.LBB>I>UA$=VO%!+'DO)K@^@Z_;J(OS+& MH@UR3GF2@ E_8L\$DZY@F2V;1.,XV5-/;'$"C.)J. MTT =)P._8QQE)[,>YJ*%5.X0">T;LD^ M;#6@%SKE4=[P?F^V^1[0_XX M.0@$I_)26]858K-&I#P=\M*3J@']L4+A$AOB#>7^JVN)/Y1*67H_6ZE<&J<6 M8%C?V%EZ4Y2E;6&\2A=RP M*TC)-*+YAAAXQ4+8+D28TKFB807>)KJ<;<6;<@.X&278B:!*'*) %L6+0_"# MN?VW!O)T+=:*>03+E7).RDWR/67RS5L%#G9Z#Q:#797R@:\E %J*%DZ\V<<8 M-+[*'3S8P)Y3O<9Y#]XMY/E'0LGB?:0L69X;PJN*<= . M<=6ZU(_8VDZ(#?9P+_<$"K@:]"O^J?6WB)[;#[0_(^ 7]1[UPY[;FYOOG Q] M"5$GS7%D@-I7#4-0+URX+:3UH8)8-\S@IN9VY_U\U52C:J^@T@VRW/5*=J0= M$;#]*#FF]"_LGM;]EQDEHJ/TF)))',5QW.DW=#0Z1F>%[7N''ZS;_^OHXG/[ MFM%EU\V CGW_[H0J6QXT;0U_Z\#9#!UY/.*80,$>^'SVO"-MO\D/%:^P5N?* MUV\7L>X5*MJ:4)[>I?A\T!52BEB'-S/?!L 3K)(/JJTN52%""\8?()V:. M<TZID.O\\.MKR\5$.J_,?'PCP(-'V*Z MI]UGK,OP]>9I>_@&AD@LF5A*N8!H/)A-^F3"=Z5PX_3:?\N9:P<"\95:829!:6YYW.B9.,1I5QY0:1>*<\JP3=;NG MG5S((IB.W=JMGHY593-9X*T&4^6YT$]SS-1F$O2"W<*=7*66%SK3<2E6>(_V M9WFKZ:W3H"0RQ\)(58#&Y228]<[G [9W!G](W)C6,S"3A5(/_/(UF01=#@@S MC"TC"/I;XR5F&0-1&(\U9M!LR8[MYQWZM>-.7!;"X*7*_I2)32?!60 )+D65 MV3NU^0UK/D/&BU5FW"]LO&TT"B"NC%5Y[4P1Y++P_V);YZ'E<-9]QR&J'2(7 MM]_(17DEK)B.M=J 9FM"XP='U7E3<++@HMQ;35\E^=GIM2Q$$%"PM7TL29,I5&^&NV,%:3*/Y^BZS'&KR-Q8UR M;DH1XR2@3C"HUQA,/WWHG78O#D0Z:"(='$+_'R4YC/-=681>%,+;@'!3P#V6 M%O,%:HA&G.G>&9R 31$N55Z*X@G($#4F( NK0, E/4L+LY5&!T)BM2G\S,O' M2L!<% ]PQ-Z?/IQ%4?>B7G_IY+[V+HY/8)/*. 61T[3WI=T62G/BJI)? M/D*O&W:I ;*,>[DBD6F*1^-:96MFEBE1P%+$,I/VZ5D4=XW-=?UY%T#(*?BN MUG4&^DYKT<$$7,LE$9X1C<3QIT6V?H?ILS@:IU?\^4/-GS;+#:CE052K3LA) M$2-%9IILB9TY@:/>,>#6$IISIR.KTIR-1) 0EEKE+;(C3Y8)W,16\5IOZ)N- M)' 4'1/CF$YY@PYKG^C81Q.K/)?6A>.0/Y)KJT"N9-%POT*8_1>8&5JBRV1K M3%,M/C7$RC.6A*Z3,U "E>4&:. MANQ29M2]SN?WK_.;.PHLP2UH3I23M( ?5 GJC[CBZM^L41=\OK=ZZ8Z-]WY. M3->XT!7=;>#3.SBHI7NY?:FE5O5P6TK"9=ZN?J\+-0QA1JBDA(K)T8UK+#'D MV'Q__'N2::FJ\^!A0*R%S,0B(\$H_5Y+-NBO>RN$'PS6H#SO2^&T34<[R7YW MMKNJ7&'LA5FO]F%#MJ*D2FXE"1FS)SX#SMJ"X@ 7U %0HI8J,92._PSO"D.W M ._"FMJ+K)U&UMP^ [\:X"-VG\M= [>SY%/DB@RS:D47N*=#V2N%MI(..])V M51=9Q(^5--)5F6#OQ1)O%F& M&"HXC43N,:49%#4;T/>EHMNN?N$-FJEV^@]02P,$% @ &H2O6$0NR^$3 M!@ Y T !D !X;"]W;W)K&ULG5?;;MPV$/T5 M8@,$+;#8JY,8\06PG0;M0Q(C;AH411\H:20QH4B%I+3>O^\94E)V ]MH"QA> MB9>9.6?.#*GSG75??4T4Q'VCC;^8U2&TKY=+G]?42+^P+1G,E-8U,N#554O? M.I)%W-3HY6:U>KELI#*SR_,X=NLNSVT7M#)TZX3OFD:Z_35IN[N8K6?CP$=5 MU8$'EI?GK:SHCL*G]M;A;3E9*51#QBMKA*/R8G:U?GU]PNOC@C\4[?S!LV D MF;5?^>6WXF*VXH!(4Q[8@L1/3S>D-1M"&-\&F[/))6\\?!ZMOXW8@263GFZL M_JR*4%_,3F>BH%)V.GRTNU]IP/."[>56^_A?[-+:%YN9R#L?;#-L1@2-,NE7 MW@\\'&PX73VR83-LV,2XDZ,8Y1L9Y.6YLSOA>#6L\4.$&G+?1WO;_X!5OE,^U]9TC M\==5YH.#:/Y^B(7DY.1A)UQ(KWTK<[J8H5(\N9YFE\^?K5^NSIZ <#)!.'G* M^G]/V=/FWMM 8KU=B*>I.7[[8,155T&>8G/*N5GC_YW2/>KL;H&GIK'&BY]" M3>+YL]/-9G5VJ]$A@BK+^+X^^UE(N()(A!2Y;=HX+62%'UCEC3+ M3N0#N;EXCRK_$U4>X^NE4[;S(N=U! MV3^3GHE0:5I6)1CX9%?!V%V1(^0U. MY0%H.A?FXG.T:[Z/P]WH8RZ"%;(H4BR(4)I]]#NY$A)_W * 0YJP$+]CY8CJ M )/65&%U#DI:!4GMV7*OK$9,T?H1-^M79XRI5UHX;BE 5)!14G-PO#J.QN!$ M*943B%SJ>0RMD5KED93664]YQYTOQ37Y$#F>&@]3,AQA0RO1'8>^4Z%^. /L MM909J.+0V6..DP"/56=\;1DKN2"H5P@Y)U[.4;@'(5K3JSP%^"$E"^U5^1%F MI$WR/!@X8DG4(+ZEH'@2\>)HBG3CJ)#!NI2EMD/FT?!%(1O)]/.@A1U>ZP>) MTSUO8M$HDP,\!"YD@ U#^RG0$JE.'(Y,9:05]73 X0/P$LL2V)E/G(>B(:=" M],L "N7;CK6)_0WD4%F'Q.G]0KQ%(NPNQB(:&P\OACB?A#TD81%Z6P3YS7(2^S_*!_,&H$F&80" MBSE.Q']?M2&)== JO+NR^MAXQSJ!4!58OV0 M,AO[S)QWZ@(L>ISXH]&HH$(%UCA,>E495:(\F$ME)+KE!-= AC%OL( 8\A]5 MUIVB3 MUAUJGW:#55E\P1'!BK-#@:5^IP X#['2#550^%CFDW6TC1!TI O#":OK])#X M HTCTITFD!<4\= "4XDKD^ZK\>+'A=['8ZU%=X)4!PI!M71!Y9V6;F!R(:Z, MZ$PI>^LB?ZC;*,5H9W]0%A/UHRJ^=0KX6[F/.68M=+A!0 BL@*$)S85UW&NX M^9GA7AJ[+=M&?4'.&.V2TCE8'BT=G[O1ZBC18Y^']0Q8" 'A5I91.KN7&E:& ML$"Y&S;C8L*<'&V.U0\FF6>1)ZX8"1<@\!&_G +)\>G!?22H3^QA93$1\FN)99)'J343HJ>N*:I++E=6'.(:NK( M8[DC1E";"BG!B)>&L5B1FD)-PD%_JT6)=NP7#UW=E@CP/%5$!]K?(:1 MXP68+RUNP-BV*HA^H&4KB>H:+MHD 0:R3RON^Y M#^GEUKH;OU&J%G=E8?RKT::NJ^?'QS[;J%+ZB:V4P2EU&9T\9+?^^ N7MJF+K11'YSP35E*]_E2%7;[:G0R2F].+UY6 M7=GB'SJO-Z]&ST8B5RO9%/6UW?Y517W.B%YF"\__BVTX>_9D)++&U[:,ER%! MJ4WX*^^B'7H7GDV_<&$6+\Q8[L"(I7PM:WGQTMFM<'0:U.@%J\JW(9PVY)1% M[?"IQKWZ8A&<(>Q*+/3:Z)7.I*G%/,ML8VIMUN*#+72FE1>/TJO'+X]KL"8" MQUED>/'&Y"K?O7\,D5NY9TGNR]E!@N^EFXC3D[&836=/ M#M [;>UPRO1.OT!O2.%_S9>^=HB;?P\I'.@]&:9'N?3<5S)3KT9(%J_S:;35]\G"PFXN?Y_ ,_G[QX+*0!S:J"?^6R4,(U1([>=&K=%*PI M4R+R"Y4U3MP:EQ&CQYJIE 4K2Y22Q-C7D*7LF@?+6 MD383<:5<#3!="3?U\U^R-BM M;7K.Z5QJG;"EKHERU3C?$"34%LB=;8:--N$ >4A,1'58%>@)$&TM?Q6BC'EH MO+W=6!C@R&X-B/EFZ76NI8-C)F)>@&@/M]CF,4H%PWMBER2"*HAI)K0/7WQH0BQ;[Y-N^N=(&/V@O1 M:!2')^< &DJ8N)D>O0W 6'XRFZIPB-\J()I82>V0421!1[VR7I,/QOUP1//C M0H2/!8GJU(8:$H02\A/OH3YG-PC/7#D?32_4IT;7(7HSZ3=BA<;'MT9/J #" MVN8@L6R@AE.4^:VTFO,]1TQ3SY+R8E NRM4>&VB)T$(JH(15P7Z1\:J!K=CE MY!VZ1CFR:FK 3)0F!']*OXWT0MW*HF$RE'?0C,RG;MFT-FL-OH).S(1P#XK?0GXD#1/6N+[MG!HOO1LVIO?*U+*CE# M]?9A%-C< :4#..##AV$H'2)LH8#;P_5@1S#IDHZBHY0W2JA6 JZ('BUY%:*I MWDB$XVI%R15BCO*>2G%)E9B##^=5Q+I"RZ4NNBHY=-R18YMX0-U5I)T7><,^ M[GAPD8]A^"L50R#*VM*[2^I(QGT]4EAZK@_] M!J-HX5)C$)-Z*18U]!P98I M?4O-0 "D NF6-)&%_D][HT;MU]0S<%$RW2/;@L"!VQ02CORF\YB??0M%N#BB M*2)G.($IPJEHEG%L^9%-A5[AL=< 48I$4W)F0.< 5SW6?7>D,@2?%^A)"M@/ M!=U!BJ "^*/ZRCOE>Y;"/*,B*\LME([<68AA@/09[5U2/_W M7>R0]4/<=+0AST;#\-0^%NP,M!?4*S$I [T1EXV/5#$PW:CZR%2MUP<8/JMX&!QND!S^H6YR%]?K8$0LD!9?SLF"# MJ#L$"P.+O&-R &1 &'49/1>, >V68IK@.U!)YT/VC>GYJ"JD,:P-^M5:K1DH M]CQ , 43]AT1FRLNFCLJ)VNH".8(PFV*A2"L3<;D+&@]%[T0JVN46!,V45,2 MJ[IV[.[@^A;G=XT>V'&A@?^Z;BP%Q/U8&0*6,?I^#?\&:CC>9&%:@%5O-<]? M!(E]()L0!L$;)G:E@TZS-B/ PL'+'@^/<\QZ'I#(TE':&&L6U0 MJ5& ]H!9J Z1N!Q$A-;*E%[:$ ;0,)A'Z.*4\Q_A1MIXQ1" @214@%+5[9Q MH4\.*0W#K'9,I.MF (ZT)^2V/M2\OA5T/U<@4-S:B26Z]&'2][ +DAY08R!1 M8F80T89B?1GFC;>**F"!@8OM@S3&QSR67UE'&,+<'XW>OGYW-7K<*V6%I=+$ MC@',K"W@R'!2H:Z9C(?AOC&Z90KP)8L%[\L:<.^XT>O-4;3;)Y0@:BJ_:'C+ MO?YNXM/$0'#=%=#0/M"L%*KL02E0^MAZ[Z5#WJ?EWCX+WN X>\?%#_I]+\XG M3T6)VL'H_[V83D[3([/Y7LS.Q]/I5(Q35 [,S3_Y_4@?L(JS P)[B8UWL6 M@F+UUG9YF1(X#G^S,_$#$YR=X,7NCJ7M FI;0].AS&=/)5%2NXL:,"%![NT- MOB+*DRC*R53\P(-VI7@M7WP>_YF2W;/Q=>H-6\R-4W%P>AF6TV$7\C#C/NUI M=%B%U)].OIGYUZQY_@=XWS/-HJ&%*%%/MMGM\0H=4E>&" 9OT[#+<=>W=W=\ M@4FMH=8;*>#\O0%!HL$WZT*UMREA:)4 L>)6!G.OVJ'R)>T !"ALJJ;6RV." MHF;_0!-PWC8!YP>+]W7HM_I?"CAK\#J+D_8AW M)?4^\6-4J'>A]_D-;=3KWLH8]F[S,D8159X6SWHL%Q@Z.UCQ2N?=ENX^-A>(]9'T[^,OU7L'HUT-]$"UG1O(E,V/"J% M'*(E+ZVY3<:M3=\KCG[Z MQYO0N(UHI[^,FG9+Z^C49U ;SQTRS(TQ-_03/&TG RM 9D0 XSM M-D-04*[7](T%I77_6P<8LC[<#^&P#N!^U MBK2Z>J00, 4( 9 >&PO=V]R M:W-H965T]@V<-+V4/1 2R.)6(IT22K>].L[I&0EZ7K=7&R2FGE\,_-FN#@H_<4T )9\ M;84TRZ"Q=G\=1:9HH&7F4NU!XI=*Z999W.HZ,GL-K/1.K8AH'%]%+>,R6"W\ MV9U>+51G!9=PIXGIVI;IIS4(=5@&27 \V/*ZL>X@6BWVK(9[L+_M[S3NHA&E MY"U(PY4D&JIE<)- M3[!0POA?-F3CDPZ:_'FS,_[\KU,)Z/&ST_BN ME:[-GA6P#+!7#.A'"%;OWR57\<;]%##@^@@3!#*B6PQ5$V:&0;U1DF2W-Q M/<':%8TKWL05SU4PG:RAYE)R66-+"28+(#^0C(;Q=.H6:3BER>07;.D=%\BQ M-B1-0YI1DF1ADLTGQ_)I*%0M^3_(INRT@[-(]@F8[BN[^^::#PXBS:;DHE_. M9[A\,YY\20G]XY#2V$/E84;GB(2C @>!Q-;%',GBB?!V[Z3U_MV,)O0CR2?8 M$J_CSN-PFE-;W95WH/T4=]?^NA.\9FXPNL+I ML0[X[%46?7*44#QY4)8)]$L2%&P^.UFXZ,5HQJ%2^P?((.U.VGY*CZ?C&W?3 MC_9G\_Z!Q(A0S88(J- UOIQB_G7_Z/0;J_9^T.^4Q0GFEPV^TZ"= 7ZOE++' MC;M@?/E7_P)02P,$% @ &H2O6,UOB%AC P >0< !D !X;"]W;W)K M&ULM55-;]LX$+WK5PRT19$ 0O1ANTY2VX#M?FR M=-=HLMW#H@=:&EE$*='E4'&ROWZ'E*VX0.+;7B0.9^;QS9!\G.RT^4$5HH7' M6C4T#2MKM]=Q3'F%M: +O<6&/:4VM;!LFDU,6X.B\$FUBK,D>1?70C;A;.+G M5F8VT:U5LL&5 6KK6IBG!2J]FX9I>)CX*C>5=1/Q;+(5&[Q#^]=V9=B*>Y1" MUMB0U T8+*?A/+U>C%R\#_@F<4='8W"5K+7^X8R;8AHFCA JS*U#$/Q[P"4J MY8"8QL\]9M@OZ1*/QP?T3[YVKF4M")=:_2T+6TW#RQ *+$6K[%>]^QWW]7B" MN5;DO[#K8L>#$/*6K*[WR[%62.>3V#*T"XCS M/@1G %]W8BN!C4V#Q:W[,E'I>V8'7(CL)^$68"QBD$61)-CR!-^CK M''B\X2MX=Z+$E9:-Q0AN;YT*,/7J&W:(EGB.!H/^"?6YZ#&XLU?7^)\/!_(#SJ"8].][.[Q*!+F!/) M3<,7U3KKDY &O@G5(E@--P5/RU)BX<+0$HBF@%LIUE)QD4@OU75ZY?L*H=2* MU40V&[#NQ.XE1?Z+!);=XA=&I6/T<&#D_/*9E7AFI9Y9L=SDVA3>[R \Z-'. M%,(BG,F&';HE3J;SZV IJ/) N1L@1_.BO!#!&QA<#8-YGNO6F0R.['/$?3C? M',/J=. R&"?!RK#L&OOD QS4UE430<,R/4['P=(K QK&4L)?WDIN";)HE"3! MG2[M3A@N%_.JT4IOGN J8ID.[HW@TD6-D$8IVY^U+G92*4C3*!MFP9]&N,Z?-RV,QAE]^IXS];/^NS#LY?0[O'B66H8UD9518:S:3JA M[PRKMUYS#< OUK._L/4$L#!!0 ( !J$KUB2 MB&PO=V]R:W-H965T]8+-PSQ>E M=0MA-EJR!3Z@_;F<:IJ%+4O!*Y2&*PD:Y^/@JC>&SQQ7)F=,;A(9DH] MN\GW8AQ$3A *S*UC8/1[P6L4PA&1C+]KSJ!UZ8"[XPW[K8^=8IDQ@]=*_.*% M+T@"2"OC575&DP**BZ;/WM=YV$' MC2)X](=RH/5M,L)9[-;QC4\ M,5$CW"$SM4;*N#5P\LAF LWI*+3DQ=F&^9IQTC#&'S F<*>D+0U\E046[_$A MJ6LEQAN)D_@@X1W39Y#TNA!'<7J +VE#3CQ?\O^0;[C)A7)1&_A]-3-64Y7\ MV1=S0YGNIW0W9VB6+,=Q0%?#H'[!(#L^ZIU'EP<$IZW@]!![]M!<&%!SN"Z9 M7)!8+F$G#+=!.>>T):T;&EZ@9K[L?W VXX);CF9?7 <][X_KL43(MSHL3>=. MR\M&2[[5DK_3(K9:@/J)A]I2(T+5E RZD@$Z\+QL3QR8+-P@ :81F$,*:B54 MHMZYJ@T9F--AY]$S[1;?EJGCF1Q+9X(++B7IH]LLF,P1OD"_G](W[0[206?* MWMP5^%0@;W!\=!'WXDLX@5ZW'T5PVFF.R&7FDUG94IP3G(3OTY9TX[0'^XHI MW+G\%>J%;W&&?-32-GV@76V[Z%73/+;F30NF=%%N# B<$S0Z&_0#T$U;:R96 M+7TKF2E+C&PO=V]R:W-H965T!F09A>+ ME,A'/LI/X[723Z9"M/!:"VDF067M:A2&)JNP9N9,K5#22:%TS2RYN@S-2B/+ M?5(MPG@PN AKQF60COW>7*=CU5C!)\02$<$+7QO,$,NI(N<=?>HG_RW(G+DAF\4>('SVTU":X" MR+%@C; /:OT%-WS.'5ZFA/%?6+>QYTD 66.LJC?)U$'-9;NRU\T<=A*N!F\D MQ)N$V/?=%O)=WC++TK%6:] NFM"33\KE:^Y$'#R MR)8"S>DXM 3K#L-L S%K(>(W(!*X5])6!C[*'/-_\T-JI^LIWO8TBP\"WC-] M!DG4AW@0#P_@)1W'Q.,E_^/(9 YWTC)9^,;15AONK./6,S(IE. E('@;U"P;I\5%T,;@^P&'8<1@>0D\7I,:\H:95 M 3<5,4 #7,*6VKYV#P,^5@B9!W(XY79$W S4"A!:C5P0D>V4HVAR9G348]N M)JO\U=QBAO42M7-Z[I[<926]&99<2BY+DHI@,D-X!\FP'T<)&7'<_W 9]:;9 M<\,-]Z(D-@M6X%QQ:1%.OBKZ#N$][,284S@^NHJC^!JBJ!\/XQ[]9V]4:(U] MXPYW)%*C+OU#8"!3C;2M6KK=[JV9MA+[&]X^5#0$(FE 8$&I@[/+\P!T*_[6 ML6KE!;=4EN3KS8K>2]0N@,X+130WCBO0O<#I'U!+ P04 " :A*]8#J:L M3= # !/"0 &0 'AL+W=OM7##9!80,+[_>7*PF0[2;-(85@.\VAZ(':I;1$N*1"5R-_,B[VGB MEFU:8R>"^71+-O2.FD_;I<)1,*(TK*-",RE T?7,6T275YGU=PY_,KK3!S;8 M2E92?K&##\W,"VU"E-/:6 2"?P_TFG)N@3"-KWM,;US2!A[:3^CO7.U8RXIH M>BWY9]:8=N:5'C1T37IN;N7N=[JOQR582Z[=+^P&WRSQH.ZUD=T^&#/HF!C^ MR;<]#PPT(NRQMBR'RJY Z4]48T:[A2730FQX1MRIU1^)5A MG)E_$(:(#5MQ"@NMJ=$^_(%;X>R>X)0^GP8&%[&N0;T'O!H XU< $_@HA6DU M_"8:VCR/#S"Y,^]E,V.<0Y$ M-/!#^7##=,VE[A6%OQ8K;13NF[^/T3"LDAY?Q6KI4F])36<>BD53]4"]^2]O MHCS\]40-Z5A#>@I]?H?:;'I,6JZ/E( -/);P2S"IJ6P MEAQES<0&SIC &=EKI%6?7TZP;74[]FWRV>*4347F$2J(X5 M::@@'84<(:,P=-_#(K?0ON7F7AJ$82^Y]D&@$M]"FOEE5;I:*K\*$U=+DOE5 ME4UN:$V[%7*P)SKY7XE.\SW16%?X7XB.JLJRD?I1&HU$.SKS?*#3=:)(JM?H M3+.!SBS[&3J1?)MQZ5=).="9._.$-+-1FME/2_-=;^PY\E*ASQ@^IM23*QQ7 MZOTS,1I[>H/[:IE<#WF\I 3(8:>)MBD_E^T/JKZE]J)O<"^@K_/ ;OME5DQP MD$'BEU%IS=R:863-XKM9HEDD^023Q0?$VB!,5*!DXGW/GK;UT3X$!Y<<;L:- MN\KM@=0+,]QWX^SX6E@,E^1W]^&I@45NF-# Z1I#PXL""5?#]3T,C-RZ*W,E M#>Y\9[;XXJ'*.N#WM93F:6 7&-]0\W\!4$L#!!0 ( !J$KUCC#.SL?P0 M $D, 9 >&PO=V]R:W-H965TE3 M%X<7 IGWBD#0"036[A;(6GE+-9U/I3@0:4ZC-C.QKEII-([5AI25EKC+4$[/ M;T%3QA41&[($B?.:+$5=8M2A-#,E."NIQL4-Y;0N@*SL75D4A=C76I&+7^F: M@QI/)QK-,4HG10=]TT('KT"'Y*.H]4Z1.\0K3^4GZ$;O2W#TY2885/B1RBL2 M^BX)O" :T!?VL0FMOO 5?:<>/P"W<;AEJN!"[24H\N=BK;3$F_77.?=;[=%Y M[2;;KE5#"Y@YF$X*Y",X\Q]_\!/OIP';H][V:$C[?(796^XY&&)[KAZ@ /9H M^"*TMO1:X\E"*=#*)9] G_-C$.F\'SVD/(4LCI"T@ZPQLA=XZ?1.[!6>4./K M$?)8["R1MRA=K4&:QTOR-![.:);R:1&Z?1:'F*17(W3!*2N$$0 MCQ8/2.A+$;>$9QZ+FIYY$!>N*> MGOB[Z;F7T%!6DKNGQJ2=LH'ZK'?H]G(O)=1'@LYQ,PASGILC'KS$$Q:OZ/"Z MB+V9F%O8 &HP/%<54Z9R*XR;[X99;,<@CT='?"4V^D!E>S$X*UIC\BC!!ZLQ$2V/(9*5X4X;N-#W\!IDACPW]E+# MG9M[P1!U24]=\MW4M6 ?1+UM[7R=IT&=YWEJE1^IX$>0\?]&2^@&:=R.7CRZ M4X6)1,$IJ\C%)Z&!1.02B\?7/C/XCU:@6SH -9PK^!OIV3>Y!*U#7P2]D] M+-0@4FZ8B=S,SW!,\/)ZH\\-2*I9O24Z?-2]THB-:80WX_2 J7A^D'5,)UY,HB! MIE/7M[4P<^/ 'V(ZZYG._G4^_0.MPXI;92=&VA]^.MTTV>KG%FHDN;%#4NTKQ_9!MX]HNM&ALL[@6&EM/.]UAKP_2 M',#]C<#"T"T,0/_?P_QO4$L#!!0 ( !J$KUA"X%LLN0, )<( 9 M>&PO=V]R:W-H965T;,&128KL&1FH"J4=+)3NF26MGH?F4HCR[U3*:(TCJ^B MDG$9K!;^V;U>+51M!9=XK\'49VW MZE[3+NI0W^9 O@]@10H&9 M=0B,?I[P!H5P0$3C[Q8SZ$(ZQ^/U"_IO/G?*9>V6 ;3 '+(*9$L9_PZ&UC0/(:F-5V3H3@Y++YI<]M_?P?QS2UB'UO)M GN4M MLVRUT.H VED3FEOX5+TWD>/2%>7!:CKEY&=7GZGN'V2F2H1W'Y4Q?:A0PT/! M-#W8L*U TU]$EB(Y^RAK4=<-:OH&ZA ^*6D+ W8ZO0CX MB>D!#),0TC@=7< ;=FD//=[P#;P[IB67>P/W7;9_7F^-U:22O\[EV\"-SL.Y MSIF;BF6X#*@U#.HG#%:__)1(#OJR(XNH:\>FH8!M8,;55:U95[0M%TS MPS-@,H=;+FJ+.5RHY[FT+@?>% @[):AQZ:[ .C6TW*(M(&5DA9-& MSTG#Z6/8^UR7J)E5>MYS]^'"PL_P#M)P%L^@[]=).)G%T._=HE345XWU=]_$ MF+]G3P2PQR:Z 7J;&4N,Z!K",SDF:3B9Q.%L.G7+=)R&XV3R&KI+XYROXQ(/ MTF%+*QXD8^A?$,VX$\WXLFCH]9W75#"JRK6T_+T/2&_ 1@P&OKSF!'?/F:C= M;5)!;IC(:M%5]%A8'U^R>5-/%SF=;Y-- <;)\:7.>^=T^*5R40A%0573,4T/US E1:87>_9((IPFLW R3&@UNJ+/-.E] MDT]H'"-*PVJ>N65C74MN#5G&TW&8I!,8#B>FE/P\DH MAG,ZBHZ&!;7)WH]$0[QJ:9NYT3WMINYU,VQ>S9N133GO.>4G<$>N\6!"Y=?- M&&PV5E5^]&R5I4'FEP7]N@0 &X+ 9 >&PO=V]R:W-H965T9 MM9 %U?@I-UU52J"I-2KR;NC[@VY!&7>G8_MO(:=C4>F<<5A(HJJBH/+Y$G*Q MG;B!N_MQPS:9-C^ZTW%)-[ $?5H0YY+D!0AH_&TRW=6D,#\<[],\V M=HQE117,1?Z#I3J;N+%+4EC3*MXV92EECC+ MT$Y/KWY63#^3KSP!;O)#%CGEBIS=TE4.ZGSC$+.TF#>!E#1C^ C BWP37 MF2)7/(7TI7T7R;4,PQW#R_ DX#\$7M1&'%F\Z!=XRXQ*^'") M.YF2!7U&@6DRDY+R#=CQW[.5TA+5\L^QX&OLWG%L:]EGGO%/ITB2,V'B-\&G*V.XT& M4Y3[@\(T T4JW$-)= :8?+_?.#4*\0A5A&*^<(\)X^0ORBN#$OJ!3RA/R7?Q M",4*C?%/2,X,A&LQC+5[;M?@U) <%6!M\/Y='(;^1[NL,4LKR?C&,M*9!"!% M+;::"$HER5JM$*8,R[7(L?*H"^=[90G]L <55[>#V68C84,U( N-^(HEY)[F M%9"K)Y ),THYPR!U)BJ%Q-6Y.1UXL"\@<) M!YTXO.;U*1N#%P<@;[@CU1R<$V6\%V?]M0=[Q1U FOAM\29:88:V7 M.\ZT(K,ME:DZ*=73SEY(5>Z=*.ND0B?DS+U9WAEQ'5=P(Z/_541[[7RF3#:R M08)(1)'[.B.OM+//E%ES5#WA*,;-M5LU[/3C5CMQ,/1Z?KP3C[-S0"+?&_3" M6@RCCEW1\^+1T,&K:PU,'Y/56R)O)./'?2\(C5A#OQ/$)R0S:"4S^&\UK*G$ M:X?XH3>0"-E4G;G@2N0LI;78\&4JN#+8 MUR5("Z:.*>TDQ^-5_%9HFM=B^["RE)-#RM!0IDJ)A%E"6Z:S?>VLJ^9>A/L" MN%PLC,KD06#&*A$H1UX[.@A3O0A3M&%:P*VIRJC4Q"[=Z_:5!"^<6ZO[PYMZ MO_F.W7RC0V/[;B"T*GSCK*SQO5 M,O3P1B#'=-@]Z($*D!O;Z2G,7<5UW0ZU?]MF*F=C@+4!R6*.I MWQEB89)U=U=_:%':CFHE-/9G=IAA0PS2+,#YM1!Z]V$&ULM59M3]LP$/XK5B9-F[21E](66!NIA4U#&E!1L7V8]L%-+HU%8F>VT\*T M'[^SDZ9EI!%"\*6U'=]SS[WZ1FLA;U4*H,E=GG$U=E*MBQ/755$*.54'H@". M7Q(AN*B30V KEF1MXWL#-*>-..+)G,QF.1*DSQF$FB2KSG,K[*61B M/79\9W-PS9:I-@=N."KH$N:@;XJ9Q)W;H,0L!ZZ8X$1",G8F_LG4[QD!>^,[ M@[7:61-CRD*(6[,YC\>.9QA!!I$V$!3_5G *66:0D,?O&M1I=!K!W?4&_8LU M'HU94 6G(OO!8IV.G2.'Q)#0,M/78OT5:H/Z!B\2F;*_9%W?]1P2E4J+O!9& M!CGCU3^]JQVQ(S (]@@$M4!@>5>*+,LSJFDXDF)-I+F-:&9A3;722(YQ$Y6Y MEOB5H9P.K^22 M4'E >OX'$GC!(3EE^I[<<(RZ5,@<%)DL@4=F<6H]B^=D7BX4BQEF9(?^7N/- MGM7?VZ._\=8$/7E)=2F!7"7DJ@!IG:7(SV]X@9QKR-6O-H=5^(?M^*9$3U1! M(Q@[6(,*Y J<\.T;?^!]ZF!_V+ _[$(/+\M\ =)$/=JXIXUB!=*W(*;H5V'0 M]T;NJD5SO]'61C'C7G'KUS6QZ_ WO>V/=Y[B<*N41Y457M>^#O/B]^= M&8RSO,Q;U75*/M(&YL[1#E,*F6')=31K-:3.H3:KQ9'N]FO+P@5XR=&T&"8IZ!T/4 M+*O!J=IH4=AA92$T)JI=ICAL@C07\'LBA-YLC()F? W_ 5!+ P04 " : MA*]8K2K]0W(& 9-@ &0 'AL+W=ONB]DTWZI49/RZ M0'*[7K/BWPN>YKNS03AXN' CEBM57AC.IANVY+=:9%'F& M"KXX&YR'IS2J,E0I_A1\)SO'J&S*79Y_+D\ND[-!4-:(ISQ6)8+I/_=\SM.T M).EZ?&F@@[;,,F/W^('^H6J\;LP=DWR>IW^)1*W.!L<#E/ %VZ;J)M_]RIL& MC4I>G*>R^A_MFK3! ,5;J?)UDUG78"VR^B_[V@C1R3#&3V3 30:\EP&3)S*0 M)@/9RT#")S)$38:H4J9N2J4#98K-ID6^0T696M/*@TK,*K=NOLC*^WZK"OVK MT/G4[+:^WRA?H%NQS,1"Q"Q3Z#R.\VVF1+9$UWDJ8L$E^@F=)XDH[Q9+T656 M][GRWKVC7#&1RO?3H=)5*L'#N"G^HBX>/U$\05=YIE82_9(E/''DI_[\(?8 MAEJ+5A#\(,@%]A*O6'&$2/@CP@&.T*=;BMY]_Q[-JSO!B_9 H@\B8UDLF 9( M)=2VE,+1@/GSBR,MW26$GT-YW.'L5]NC"VD["JD*($\4X.H1?_^F$Z%+Q=?R M']>]KXF1FUB.:*=RPV)^-M!#EN3%/1_,?O@N' <_NW2$A%$@F*5DU"H9^>BS MW[?K.]V3=,3%;6?Z9CJ62\@:.*J Y4A^/\.C8#J\[^KC+;2O/D P2Y]1J\_( MJ\^..,L(ONJ\[C0T20@W4*M MAH_;AH_]#6\'F3R+=8.+>GB]$?*S[B!- $ITPV.N);E+>:623JQ3QGK,EI*[ M1?(6VS<.(6$4"&;)/6GEGH"/:!-()2%A% AF*7G<*GG\BA'-I>/QXP%M+V"] M)?85QU>*3ML4GKPC5&W[/LRUWQJ*7V[<'0<(H$,S2,PS,K5\VH_FKT[GF0 M- I%LV^!\0DAO%$(09T"*(U"T6PYC5D(_6[![LA%V9$WO"@OL25W:@EI!.8- M[:03\L$1'NU'O3-5Y)YC0V,$P@-.H$\T^R9=?SF]-0$U$U T6V/C.<(Q?+B" M&@I0&H6BV7(:3Q%Z'[1?$*X35^B,]V=>9ZK)?AB^A0D(C0L(_3;@F>'Z<9>_ MF>JT#WW8F,@L-] ] IFW]SK+Z>W)) T"D6S-39N!6/P:,6@S@.41J%H MMIS&>6#OH_@+HI5X(Z>1Z!F)J+]F+VVY,0GX@$DH>"*4(U2=K08U"* T"D6S M=32& X_@ Q+46X#2*!3-EM-X"WQ@0:-KVW#G14< ME1N/E/ZGN_*WYVZ8N&CJTWW+3/;' 5"3 46S]U48DT$.F S/.'"9*5YDK-YT MX]QB 6HX0&D4BF;K:AP,">%WK(":%5 :A:+9+/-X_-1D'CL=]?Z&])7H+,T2,&2('S-#+ MP_OC+G?J"+H, TJC4#1;;..M"/S>+@)JJ4!I%(IFRVDL%3FPLM,KO!_OMB+. MZ 9U25 T6R'CDLB!#6&OB.Y5P=W3-^C"#"B-0M'L'=3&,T7PN\4B4*L$2J-0 M-%M.8Y6B XL]?>*[85DOZR:!*\+]I?;6"-3_##O?S*QYL:R^/9*HZE;UUR+M MU?;[IO/JJYZ]ZQ?AZ;S^2LE@ZH^FKEBQU!X'I7RAD<'11 ^)1?T=4GVB\DWU M9&ULM5?;CMLV M$/T50@V*!.BNKK;66UM ;#=H@"99>),60=$'KC26B$BD0U)VME^?H23+-UG) M!LZ++5(SAV>.AL/A>"/D)Y4!:/*ER+F:6)G6JUO;5G$&!5778@4CL2AUSCC<2:+*HJ#R<0JYV$PLU]I. M+%B::3-A1^,53>$>](?5G<21W:(DK "NF.!$PG)BO71O9ZYO'"J+OQELU-XS M,:$\"/')#%XG$\LQC""'6!L(BG]KF$&>&R3D\;D!M=HUC>/^\Q;]514\!O- M%+'(5?5+-HVM8Y&X5%H4C3,R*!BO M_^F71H@]!\3I=O :!^_8(3CCX#<.E7)VS:P*:TXUC<92;(@TUHAF'BIM*F^, MAG'S&>^UQ+<,_72T@#7P$L@"LR8IP#=47A/?_8UXCA=T\)E]O[O? M0\=OE?4Q=$5;0PPK M"%.4UE'@.6$XMM?[8718^:'GME8'_ 8MOT$OO[=8A1Y8CM-I9P+7WH.]17W? M"[PC:J=6;N &HVYJPY;:L)<:UC"L4!Q+!&Y$'C\25N!GTETL>X&>FB[#DV & MW8&$;2!A;R"XN[^1 .'IDDXX.%;YU,H/@\$9E6]:]Y!80BY2S:H.^DJ(@ MTYHFH9KH#,@N@;% FHF/0&57#+W+//4;7 CL0)%1J\CH)U6MT24EN!#8@02N MLSLSG6^D11VRK-/C?SP)DU*:-# Y\'@F!QK0_12]<@,_."YEW7:CF[ [E]V] MH][]+MJ+'>WYCK9)7;(T26[*WK2G[/4O\]1/>2FT0U&\G2C>3TKH!OA2,EP( M[5"&73/B]A[T/YK2_LFQ>^4ZGN<-\-#\U5XNJ/][!U/<2[.*P9"N2PQ(AG>L0MYFL6_UZH,6JZI8? MA,;>NWK,\'H$TAC@^Z40>CLP"[07KN@K4$L#!!0 ( !J$KU@]2^KDB , M /L2 9 >&PO=V]R:W-H965TH]WSW[F9*WT=[,$L.1>BL),@Z6UY448FFP)DIES54*!=^9*2V9QJA>A M*36PO Z2(HRC:!!*QHL@G=37;G0Z4945O( ;34PE)=,/ER#4>AK0X/'"+5\L MK;L0II.2+6 &]DMYHW$6MEER+J$P7!5$PWP:?* 7EW3L NH5?W%8FZTQ<53N ME/KN)I_R:1 Y1" @LRX%PX\57($0+A/B^*=)&K3/=(';X\?LO];DD!XX:HRLQKOS+ )\DH 47-Z#_P?0Y2>@9B:.X1[[,KLG;-^]^3!/B;K1;$K=;$M=Y M$_^6G#W+^(Q\O"^QNY#>9R[=.MRF&=XR<[;IN:^_8V[RR8(TWW81W #I[0;B M!'EA2I;!-$#%&= K"-*??Z*#Z!RWRGA?Y_U>@,S*S3%N"T@'R M]<,]-]\NZG9Z'^&+[J+DA79@R?HM\?ZI=&;_!6@.6IJ#HW?FX$EG]LX3GA79@ M1XY;XN-3$=[X!6C2J',#T=&EUT#8UEZ2T'T_"G3+R=!35-\SJ"AY *9]Q>E\ M"?7Z@5>0WV"__/S8#FW,SJS0Y%042+V^Z5"FG;FA?G?S*A+L/35F YKL^?FC MG3^A7E]P- GZ43TOP7D)#CT2]&([M#$[L N:8.3H? MHM3UYJ1E,[&JK$\W[I2U2M;#); ).S!IS[O2?P%02P,$% M @ &H2O6"78-S%> @ \00 !D !X;"]W;W)K&ULA53;3MPP$/V548HJD"BY+#?1;*3"4A6I55>[T#Y4?? FDXV%+ZGM[,+? M=^R$:*F OB0>>^;XG+DXWVIS;QM$!P]2*#N-&N?:BSBV98.2V2/=HJ*36AO) M')EF'=O6(*M"D!1QEB2GL61<144>]N:FR'7G!%7$^\?''YPW-J=-7@E M*ZWOO7%33:/$$T*!I?,(C'X;O$(A/!#1^#-@1N.5/G!W_83^.6@G+2MF\4J+ MG[QRS30ZCZ#"FG7"+?3V"PYZ3CQ>J84-7]@.ODD$96>=ED,P,9!<]7_V,.1A M)R#+7@G(AH L\.XO"BQGS+$B-WH+QGL3FE\$J2&:R''EB[)TADXYQ;EB@1M4 M'<("!7-8P8S;4FC;&;3P 9;4 U4G$'1-'K[&7*UACB9T@RH1OJ\$7S.?8 NT M"5=:.4.I[I@0CV1)R9W''>ZQD,+^#!WCPA[ 'G %MXWN+%.5S6-'@CRMN!S( M7_;DLU?(?V/F"";I(61)=@QWRQGL[QT\AXDI'V-2LC$I6<"=O)V4P_]J/H3K MAY;ZBP3> MP6E@X!^(39&FD[.3\SS>[#*/=SK8/P94V36G:P76%)@@\UIK]V3X.1E?N>(O4$L#!!0 ( !J$KUCCFJ/J[ , M ,L3 9 >&PO=V]R:W-H965TP[%]X]F!BR]R!Z#0US1A7%<&.TB)'/ ,F/XEXB(E2M^*V)69 M !(6H#1Q?<^;N"FAS%G,BF!9)ZF1'Q;0L(/O--XI M\\!=S#(2PP;46_8B])U;LX0T!28I9TA -'<>\7"-3RI;S M+^;F.9P[GLD($@B4H2#Z:P\K2!+#I//XMR)UZC$-\/3ZR/Y;4;PN9DLDK'CR M%PW5;N[<.2B$B.2)>N6'WZ$J:&SX I[(XA,=JEC/04$N%4\KL,X@I:S\)E\K M(4X FJ<;X%< _QPPN@ 85H!A46B965'6$U%D,1/\@(2)UFSFHM"F0.MJ*#.O M<:.$_I5JG%J\PAY8#N@5$J(@1$]4!@F7N0")/J'',*1&;9*@9U9ZQFC__@D4 MH8G\H$/>-D_H_;L/Z!VB#*UIDN@ .7.5SLV,X 95'LLR#_]"'D.TYDSM)/J5 MA1"V\:ZNJ2[,/Q:V]*V$:R(&:(@_(M_S1QWYK+X?/K2D,ZQU'A9\HPM\FWPK M T$SH]]'9.:7 D98 (BP4$^B+.-"(0EB3P,M_1K2+8@N&:W#F$G_(#,2P-S1 ML]K0@;/X^2<\\7[ITJ GLI8BHUJ14<$^O*"(=AJ)8P%QZ:G/$3IZ\>\_="AZ M5I#*?[HD&/4I04]D+0G&M01CJRFJ@CNG2XG$7@$UB_%^X8\'VHK[T^P[HO#] M8%Q'M=*:U&E-K&F]"!Z!E.6\ESQ2!R) KXU[O>AG>@D_\6EZT:?6(:Y]23V1 MM=28UFI,;^33:9\2]$36DN"NEN#NAWU:(C$^<: WP&\TF[=W(@Q5Q3RKTQ=:6X:17P3_LPPK: M\I@_&MR=.;$SS!OXW5[$?I.:;]_?=8N\0X^1H 'I3,\*O_H]],36+K;I9?#P M5G;LM7WIBZTM0]/ 8&MS8+?CJ&M=G)R[L3-J=,&,35N![7W%DNR(_K/7F9<5 M>?4+Z(FM76?3I^#)K7S8:WO2%UM;AJ9!P=;-W^[#Z7?Y1QSGYUIF7%7GU"^B)K5UGTXG@^UOYL-[)L4@*(BY.BR0*>,Y4>9!0/ZU/I!Z+)<'6_, /7Y MW>(_4$L#!!0 ( !J$KUC:?#^-/@< /(Z 9 >&PO=V]R:W-H965T M-+:L\QSIO.+'*XF7&RZ^RA6E"CWE M62&O>BNEUA?]ODQ6-"?RE*]IH7]9<)$3I;^*95^N!25I%91G_7 P..OGA!6] MZ66U[5Y,+WFI,E;0>X%DF>=$/-_0C&^N>D'O9<-GMEPILZ$_O5R3)9U3]65] M+_2W?D-)64X+R7B!!%U<]:Z#"QR-34"UQQ^,;N3.9V1.Y8'SK^;+;7K5&Y@C MHAE-E$$0_>>1SFB6&9(^CF];:*_):0)W/[_0/U8GKT_F@4@ZX]F?+%6KJ]YY M#Z5T0:;W^CVA$:&E_!,5O^C3;WO>-Q#22D5S[?!^@AR5M1_R=.V$#L! MFN,."+[W+EWF,WOW\_K*O='H#Z2?;5#=UJO!(J@C=\4*M),)%2E,[OJ\/NSGV M\.78;T(O\(Z(4Q0%)R@ M])>?@K/!KZX:0\)B2!@&@EEJ#!LUAA4].J+&32GU%BG13OM"?WW2V]"MHKG\ MVZ7+$%(72%@,"<- ,$N74:/+R-M*MLUC01*6,?6,]- I%2E25BQ=BM2PLPIF MAMS'Z7A0_;OL/^X6^XW[Q=Z#ZUK'UY-:)3IK2G3F+=&<+.@]9X6B)^C3IYFK M+%Y UPL5$A9#PC 0S%)AW*@PAN] QI"Z0,)B2!@&@EFZG#>ZG'M;QQW-'ZB0 M*[9&IHGH!$J>Z.FN%DGL3VIJ4;R\KJ+4L,E.FP_VNAC(=!@(9E5ZTE1ZXJUT MTP+(3@M8ER)9:5^ $CU?92D5]?R4%2@A2E13Q!5*K2@>E!T\]T[0E<=H#;Z*N M6FQIHQTQ(N>@"YH60]%L-7;L6M"]5>A.B&FG1M,C[:/OWNS4R)N^LT;!@4;A MZ,PI$F1>#$6S10I;D4)_DZ$BT2V"+*MFDC*9\+(P\IA."BTROI'.VM?4(-PI MU^ T'$SV9IO^[%V'9E :AJ+9E6]-<.!WP3NSI0^ZWZK:!'U:TT)2=\FC@QY] M?V[OS]BYVJ\FQ% )[1*VSC7P&C#=W_/JQ@\2])$6)766#=2J@M+B+B3:$3GC_HWU*4<>F^2B%]XPR4%@>'-C1T38DP5%J[VJVK M#3K96O0OFE5W5ZE GTU'86Z ZEF]N_Z@AA>4%H/2,!3-%JDUO<$/<+T!J.T% MI<6@- Q%L]5IK6_@][ZNN>>)L<&D6+*'C"(B)57N%@3J@KUKIG%6"NF$H MFEW^U@\'?D-\NU]H1'(N%/NG]L!K*AAWWH%XA1N$Z)D2X=)MY@_MW!I ;3$4 MS7[VU/KBT.^+#P>4.5^H#1$4*9JL"I[QY;-+#C^W:UL I<6@- Q%LQ5JO7(8 MP(\F(:@!!J7%H#0,1;/5:4URZ#?)W]V=O<(-@N/=F3^TLQR@SAF*9LO1.N?0 M[YP/N[/?!4EI07*G _33.C<34(\-2L-0-%N7UHZ'/^!)<@CJST%I,2@-0]%L M=5H/'_H]_/^8$OO)G34:'4R)@\ U)09-BZ%H=OE;4Q_Z3?WWCR%^[L0SA("Z M=U :AJ+9:K3N/?3Z3\<0EQ: T#$6SU6D]?OB:Q[<;#*T:S-&'VWY:9UTF;QU#0'T\%,U^ M;;+U\9'?QW=XS^ $2<63KXA)6;I?]O#GZOQNY>$C;K<@H&DQ%,T6I+7MD?\1 M]^$P>6%[FG084?Y+.2H#Z>% :AJ+9[(]GFO1$M:F [O2 \'^_;X MX>/P('#>R@?-BZ%HMBJMJ8_\S]@=#R-YGFLUYF9\<98=U-&#TF)0&H:BV=*T MCCX:_8#N#-3+@])B4!J&HMGJM(8_>L7PZYD7*9+JO:JD;C+UE&S!A7T/9KXB MPOW.CS]%9['.#N9HH^%D-)[L]U^@3A^*9LO0.OW([_0_6N^!6D+4O MJ^6*>]MO@HNX7G[98NK5H'=$+%DA4487&CDX'>N+6=0++.LOBJ^K%80/7"F> M5Q]7E&AIS0[Z]P7GZN6+2= L) E7WS] ++<7'=IY M.G KEBOC#G3'YVN^A!F8S^L;9?>Z!64N$DBUD"E1L+CH7-*S:=AW =D97P1L M=66;N$NYE_*KV[F:7W0"UR.((3(.P>W7 TP@CAW)]N-;#NT4;;K ZO83_6-V M\?9B[KF&B8S_%'.SNNB<=L@<%GP3FUNY_0WR"QHX7B1CG7V2;7YNT"'11AN9 MY,&V!XE(=]_\,1>B$D#[SP2$>4#XTH!>'M![:4 _#^B_-&"0!V27WMU=>R8< MXX:/SY7<$N7.MC2WD:F?15N]1.H&RLPH^ZNP<69\&7W;""UUAL1 P=Z>!T82G<;(VS?OR!LB4G*WDAMMS];G76/[[WK1C?*^?MCU-7RFKY^X.B8] M>D3"(.RWA$_\X0RB(KS7$L[\X3-8V_#@V?#IRUL/Z^%=F[,B<6&1N##C]9[A M?=AH>T1K4LD@^>O:'B-7!A+]=YN^.V2_'>EJTIE>\P@N.K;H:% /T!G__!,] M"7YI4QL3QC!A4R18+2^](B\]'WW\JY3SK8CC-OEWD2=9I*O@#^->/Z1V,#U4 M=7W16\&'BHX)8SO8H"KZ,-@3':G!FNBGA>BG7M%OE#4R MRGS/E'9#>^VFD4_)B M-5G7MV([Z7_59;6Q]A$>UY!JV!E(F8D>;91RKC,N[61K!KP-')P!3!K+:=4, MO!_L#W"L)NL9*/TC]=H@:T@78(6>VSOC Z0;:-48U3"BTEA.JVM\VACFK^$% M:6D&J=\-_@Y/,PS"W?S;ZMVJ,Z:;FZ#26$ZKZASV1Z.&T$B-UH4NO2;UF\VI MCEQ,%'.1M"J,:C51:2RG515N&:@ MN/.3K8*C>DA4&LMIM2$]& P;!?HU_"$M#2+U.\2]YR?D'S+)G@?;6^0MQ)GP M>B76[3='5,>(2F.HM"D6K9ZDTE[2(?[C%8IJ+5%I#)4VQ:+5LU/Z4.HWHD_K M%)GM-Q"M4AG+YR#P_#0?U9NBTAAMNM-P$.P_!\!JLYZ!TJ!2 MOT-M%K&97)@M5T#NBGRT*H_J7U%I#)4VQ:+5EY%*IQL&K["0A&I_46D,E3;% MHM6S4_KDT.^3?[B"^?D'9PK5)H=-FSP*&Q4,J\UZ!BKKK'Z?W*Q@=XK;K/"D MU3+[:0?KC;O(BKO*^AK6.BRM==A[A;J%:K11:0R5-L6BU;-3^O'0[\=_O&ZA M&G94&LMIU54O2IMU"]6Q=ROO^+A7N#YQM12I)C$L+#XX'MHJJG9O1>UVC%QG MK_W<2V--8[:Y ENXE#O!_KZ0TCSMN#>)BG?3QO\"4$L#!!0 ( !J$KUB[ MH'[M;P8 #X_ 9 >&PO=V]R:W-H965TDV>/F3BJUQRKLBW59+*L]92J?5)NRVG2[YB\BA; M\U1_,L_$BBE]*A9MN1:O<.XGHR 3D+;[$_$'N'!-S*W=9]M6<7,[.6AW3(Y[PJ3((IG_<\PE/$D/2 M_?BGA+:V.4W@[O$C/R;:=%IANILE49K'NPBM/B)_M6_B)V C2G/H"6 ?1I0.^9@&X9 MT'UM0*\,Z+TVH%\&]%\;,"@#!J\-&)8!P[Q8Q6\W+XW/%!N?BNR!"--:T\Q! M7M\\6E:-=M[X7+$XD6]UD\^W/GGS\]O3MM(],;SVM,QZ462ESV3MDNLL54M)@G3& M9W9\6]_!]C;HXVU<4"?PFHDCTO7>$=JAO9K^3%X?WJT)]]WA/I\ZPP-W^/EF MX0P/7Y^=UH1'[O#?6?I MBSZ^8=_-0XMD*;JJ> #7*8F0C/5]!9V#3 MOV8DS$?" B0L1,(B$,S2Q7"KB^'AS3Z&2,4A83X2%B!A(1(6@6"6XD9;Q8W< MLP\NIGJ^H=_;SQ M:861,!\)"X[K*DS[HR<51N:,CFLJ3$?U)?8ZE272<1;Y.4^D&CC^)8[YAYO> MM.!0F@^E!5!:"*5%*)JMH1U;S3N\>4C9)Y3RD#0?2@N@M!!*BU T6WFT4AYU M/KTF2Y;JX2E.=^<@#FND5DC.%(V%1/?>F-\/]@T1:-( 2@NAM A%LQ52&;2> MTXT;3YHHH;M7NWZ_MU>\24V[+NUY-57N[ADL=<# ?0^-Z[>?M3?L#??21JBT M=FDJ)]-S6YD-IA[ZZ(-:! !35AH30?2@N@M!!*BU T6WF5L^N]8.W^Z"H"-[^QBH[W7JCJUQ% TP90 M6@BE12B:O<*LLH7I"[9P)LP2S"FY,B.8VP-VHYIJ 4KSH;0 2@NAM A%LP53 M><#T #U@"O6 H30?2@N@M!!*BU T6WF5!TS='G @5;QB2FOL_WO [A2-A82D M^5!: *6%4%I4TJSEA+1GSP-LD50V,'7;P'OCV0]^[^E.UU@PT%6X4%H I850 M6H2BV:*J#&S:.\ Q#VIQ0VD^E!9 :2&4%J%HMO(JBYNZ%_LBOO=TIV@LI/VU MQ%[-"QPT:0"EA5!:A*+9"JFL:.JVHF_9G-]D<:KX.W)U-7EA-(,N(X;2?"@M M@-)"*"U"T6S%5(XU/<#5Q!3J@T-I/I060&DAE!:A:+;R*A^W6["?P\ MW_K\Y/J%=S(IMG)7F&)G^343BSB5).%SC>P<#?6 +(K-VL6)RM;Y7N&[3*EL ME1\N.=,B,PWTY_,L4X\G)L%VR_SX/U!+ P04 " :A*]8IRJ.[YWGN M?/9YO)'J02< ACRF7.B)DQB3G;JNCA)(J3Z2&0A<64J54H-3M7)UIH#&A5/* MW<#SAFY*F7#";B>,[VP\W;)48^\$-QQE= MP2V8NVRN<.;6*#%+06@F!5&PG#AG_NG4]ZQ#87'/8*,;8V)#64CY8"=7\<3Q MK"+@$!D+0?%O#>? N45"';\K4*?FM([-\1;]L@@>@UE0#>>2_V"Q22;.L4-B M6-*4$-#<=*;HBRUHAF!T6HA3>*8\+NRJU1N,K0SX27E"ER3WD.Y!JH MSA5@RHTFA^2VW"=LL$3OCQ@S_T/G<$W*\#[G>AAU-8 M,2%L- O*J8B@36 ),2P@[-VR#ONC_FCLKEN(!S7QH)-X3I]LO=G2C9Y+-WI1 MNKS:@JV$M;;T[5+8INPX6MAPW95 MHUK5J%,5GIHW=FCTBK,7]/UVUN.:];B3%:]:>^5'9"97+&IC[?3_Q\(]J=6= M_'\G]>0= O:]Y_[@O7MQ5A3-L^S_?6;<1@]+0:V*3JT1.Q>F;&?UU_HU<%;V MP&?S\BF!]S3>+YIP6**K=S3"$E5E=RXG1F9%1UQ(@_VU&";XH@%E#7!]*:79 M3BQ!_48*_P!02P,$% @ &H2O6(O@.9W0 @ @D !D !X;"]W;W)K M&ULK59K3]LP%/TK5H8FD!AIDK[&VDBT[($$4T7' M]F':!Y/<-A:.W=E.R_[]KIV0M1!23>J7UH][CL^Y?MR,-E(]Z S D,><"SWV M,F-6Y[ZODPQRJL_D"@3.+*3*J<&N6OIZI8"F#I1S/^QT^GY.F?#BD1N;J7@D M"\.9@)DBNLASJOY,@,O-V N\IX%;MLR,'?#CT8HN80[F;C53V/-KEI3E(#23 M@BA8C+V+X'PZM/$NX#N#C=YJ$^OD7LH'V[E*QU['"@(.B;$,%/_6, 7.+1'* M^%UQ>O62%KC=?F+_Y+RCEWNJ82KY#Y::;.P-/9+"@A;MO&RZ@P?#\(ZJ@=?;U:7Z]5'QZT/>)*?&^/N'U1.^+ZM;A^J[@Y7TX'M:.AZV[>Y'\+IAF MKOX=?Y4&2!??XJU1?=+D?_CB&G2>G<67$4$0=L-G9]'?*C,YJ*6KOIHDLA"F MK#CU:%W@+UQ=\_^%EU\'^,KB+=>$PP*AG;,!W@-55MRR8^3*%:U[:; $NF:& M'RF@; #.+R3:KSIV@?JS)_X+4$L#!!0 ( !J$KUC@VM)-*@4 ",? 9 M >&PO=V]R:W-H965T$"/ S33(^L=9";*YLF\_7),7\DFY()N\L*4NQD*=L9?,-(WA1 M.*6)C1PGL%,<9]9T7%R;L>F8;D429V3& -^F*68O'TA"=Q,+6J\7[N/56N07 M[.EX@U?D@8BOFQF39W8591&G).,QS0 CRXEU#:]N7#]W*"S^CLF.'QR#/)4G M2K_G)W>+B>7DB$A"YB(/@>7/,[DA29)'DCA^E$&M:LS<\?#X-?K'(GF9S!/F MY(8FW^*%6$^LD0469(FWB;BGNS])F5 !<$X37OP'N]+6L)((VS M_2_^61;BP %Z+0ZH=$"_ZN"6#FZ1Z!Y9D=8M%G@Z9G0'6&XMH^4'16T*;YE- MG.6/\4$P>3>6?F)ZEPF*GA(!KSHG@[\%?\N6Y _RA5ELY66Z! VCPN;L ME@@<)_Q<6G]]N 5G[\[!.Q!GX'%-MQQG"SZVA828#V3/2S@?]G!0"YPOF%T" M%[X'R$&>QOW&['Y+YI6[J[K;LC!5=5!5'53$49,U_/Y-MTF M6,A'2.]##]"J9OA"EGB@Z1WRB) MZT>1?X1(8Q6T(@HJ1($1T4W!*H2!>Y(4%>/K>*-]NL8X7=_?@8(I*8=5RN%; MSN-PR#H,%$RIPZBJP\CXZ+\572V?,,^$R2ZM3!PP(RRF"W F*?R%8,;/=;4P M#P"]O:LN\3Z>2I91E674CZVBQG1"OA: +8A[-*+Z4RCN\=TZC.##H';*NBJGLQ-+8X6< ?VYC)ZCW0 MI=AA1L CF:\SFM#5BQ;NH.UWJ&AJ\G4#ANY;,A@T]O?.M1@HFEJ+NO%#<^M3!8V*^.&L,%D&C-/_K6@JKLP-/>ZF2Q=)O2/UNC9 M>:(.%$W-L^[#,'I3TC*V^95QW:2+6YG!#" MXW4^<^B^B[NU-G'-O?Z1X07)<$JT2[R#JHZAHJF9UDK$A6])GNZ@>F6H:&HM M:EWCFG7- .1Y8H2@G3S[>*IY'NQ=]-V\:"J4?*'J>//BA)6*JA8R[G#;%ZYF M9P(Z!QLH)5*MF>>W0*T5A]MK"\/5+"\4NW8J*)V5?XS)/MC!S+>/OV"VBC,. M$K*4;LYE**.P_8[L_D303;&I^42%H&EQN":2Q5AN(.\O*16O)_D^:;4O/OT? M4$L#!!0 ( !J$KUB!DG]V< ( -4% 9 >&PO=V]R:W-H965TQ*O MV(N[NTEHO[ZSNXX;(* ^],7>RYSC<\8SDZ^5OC5,PK4F9BD$ MU;_&P-5Z&/6BS<$-6]36'<1%WM %W(*]:ZXU[N*.I6("I&%*$@WS833JG4[Z M+MX'?&6P-EMKXIS,E+IWFVDUC!(G"#B4UC%0?*U@ IP[(I3QL^6,ND\ZX/9Z MPW[NO:.7&34P4?P;JVP]C-Y'I((Y77)[H]87T/HY<7REXL8_R;J-32)2+HU5 MH@6C L%D>-.'-@]; .39#4A;0/H4T'\!D+6 S!L-RKRM,VIID6NU)MI%(YM; M^-QX-+IATOW%6ZOQEB'.%E-IJ5RP&0WTWNNOS4-+2$881M;$"O("K> MOND-DH^[G/\GLD=YZ'=YZ+_&OEUK5"AMV>]04_" ,\G +N^!<. )W4!:%1\& M)WF\VK;T/&8PZ'4Q06F\U2$"],(/#D-*M90VU%5WVLVFD6_))^=CG%EAQ/RE M"0,/JV;!I"$/T"\'ZNE-ULW >Z M25[\ 5!+ P04 " :A*]8-VNZT-4" "="0 &0 'AL+W=OZD,1J7CUNZ:X:.FL/W1?,SI%MGB++L$8]\LFP? IQ)[=?RW59IZY85E^1 M UN!%GW\8+K&I[[,_Y/9JSK871WL(??H'M3_(0&F%L>>5W/56+BUA?J7K"++ M=[Q07VUF,3C/@5F,NBQ&@UE(<*X%M;_(,S',@?=/S!(+_697;N3>28:S5D-=Y*HIJJH_'4+7.Q&WL![6IBQU5J;!3_/-G0%<]#W MFSN),]^QE*R"6C%1$PG+D3<>W$Q2$V\#OC+8J;TQ,4X60CR8R<=RY 5&$' H MM&&@^-K"!#@W1"CC9\?IN2,-<'_\Q/[>>D$Y1FI 1G)=4XN:6 RK2V3EGAE9*P4:'5!/B/'>7?X&R2YGT_)^=D;U:!3"5.9K]&B4 M^D7GY[;U$[[@YQ.55R0:7) P".,>^.0T? J%@T>'\P M:3/@-I53I@HN5"-!D>_CA;*I^=%GMF6/^]G-%WZC-K2 D8>?L *Y!2]__6J0 M!N_ZK/\GLH-$1"X1T2GVW!6&=(71Y[J+BY#IV M40<*8Z

/8[>UA81] MFQ022J8)5I""7IW),PF7@_!89T_0<-@O,W4RTW^]9/OU%W].;?KL2J,D#(XO MOB*_#>*O!;@5\G MVI#5:=U33:.)%!LB332ZF49=FUJ-V;#"S.)"2WS+4*>C>]"4<45$2F8@L5V0 MF2@2G"9(3$L)SA*JL7-'.2UB((MZ<=W&L:@*K<@56>#*2BH.QF,NH:0L(1]? M2F.A""T2\DUG(,FLDA(*5"H%J#MO1[Y AZ?%/3D_NR!G!(=_S$2E4*8FML8$ M#:8=M\G<-T".?G9;?0]S)_==R&\O:U=;K:NO5?OX1 MO[UB[-2BJ<%E5Y.?MTNE)2[I7WU)-Z,$_:.8S_Q&E32&J87?L0*Y!BMZ_\X- MG0]])?A/9J\*XG<%\4^Y8X%3P(03$HL\9\KL!+VSW+B$M8O9AM:1ZX\&$WN] MFTA/D#?^%_0*,.@ @Y. VQE3(M4;*ILIXRRNUW(?:6,WV($8!^$>Z&&,ZP;# M?M!!!SHX";K(A-17&F2.>U8I%-.]>(.#H8-PN(?7$^.$_71A1Q>^J8RL4)4T MFT8?6W@PKC\>[[$=QHR.L0T[MN%)MOH#[.,9'O*XSA[/88P7C/IY1AW/Z"3/ MH]"4]_&,#M:W/W#V)Z\G:.QX>T3VSO%@CF;<)EH@)R>:X:SI: ME/6)L10:SY^ZF>$? D@3@.]3(?2V8PZA[I\C^@M02P,$% @ &H2O6.]* M"G// @ /@< !D !X;"]W;W)K&ULK55=;],P M%/TK5IC0)K$E3=KL@S92UX) @C&M&SP@'CSGMK'FV)WMM./?<^UDH>VRB@=> M$CNYY_BKB?&I@H\8/G MMA@%9P')84XK86_4^A,T?@:.CREA_).LF]@H(*PR5I4-&!647-9O^M3D80/0 MZ[\"B!M _*^ I $DWFBMS-N:4DNSH59KHETTLKF!SXU'HQLNW2[.K,:_''$V MFX*E7!BBYF0"&L>23)3,<9L@=R.C!,^IQS*3D\."('!->Z+51EJ,S-,+3H MQFD*6:/\LE8>OZ+\*]4G).F](W$4]SO@D_WP*; 6GFS#0\QAF\BX363L^9)7 M^&KGC=\K)5FE-4A+IMPPH4RE@?PFGTOLO[?R+;RD329B+9QXZ9G0-ZSPE394D.KY0%TL?"'+/'BAONNHLY MZA)CMZ]\=LR1VT<@=[Y?K*ZM(S>+%6+SW?T=,1X\J]2T_:ZDGW MZKE5E@JB?+U37^]=XM(7&]>/XMW=?1F4G$?G._+"C>[F;A8\^ LN#1$P1UAT MV5F?P!02P,$% M @ &H2O6/S:U,PO P 6PD !D !X;"]W;W)K&ULK59=;],P%/TK5IC0)K'EHVF:CC;2UH% FU:&3P@'MSDMK7FV,%VVNW? M6G_<[T&,.0AYT)/G;4QQ;GKZG0-.=5GL@"! M,TNIU\SJ:.9P4!A]18!HI_&Y@!YY8(9?RN.9UF20O<;S^Q?ZQR MQUP65,-,\A\L,^NI$SLD@R4MN;F5VT]0YS.T?*GDNOHEVSK6J,#/QW M)/""L ,^ZX=?0=K !\_A+GK;&!PT!@<5W^ %OI8C%[V._+Q8:*/P=_GPG\B>N3)H7!GTL2J%M;U&B+>K7-*0?MDA+-,_2!%/21+CAT"8Q:B_O!\$!@1\Q+ M6SQJ!([Z!1H\?EAR4IF_*G'46C[P#CULQ_A!W"TQ;B3&_:?05HLN/7%KK<@[ MM*P=$P9!MYYQHV?II,%^D9=524OKDO;*11FW[NK(;SG9#HJ'@7\@W=U[ M^NQG!U;_%1,:[^L28=[9"#-7NZ=\US&RJ%[#A33XME;--7[]@+(!.+^4TCQU M[ /;?$\E?P!02P,$% @ &H2O6-Z+I(FY @ SP8 !D !X;"]W;W)K M&ULK55=;YLP%/TK%JNF5FH+@9!^+$%*DTV;U*E5 MLVX/TQX&L"2ET1[V K:YY_CFO/9]G>904'TN2Q#X92%500U.U=+7I0*:.5#!_3 (!GY!F?"2H5N[5\E0 M5H8S ?>*Z*HHJ'JY 2[7(Z_G;18>V#(W=L%/AB5=P@S,8WFO<.:W+!DK0&@F M!5&P&'GCWO4DMO$NX#N#M=X:$YO)7,HG._F2C;S "@(.J;$,%%\KF #GE@AE M_&XXO79+"]P>;]@_N=PQESG5,)'\!\M,/O(N/9+!@E;&.)-,P5#&-9$+,@&%8T$F4F1X3)#9D9:< M9=3@Y(9R*E(@,U=C5Q^?2.JC)6&2-)Y-* M*1!FQY&?X[DV"BOY5U?F]5;][JWL[;[6)4UAY.'UU:!6X"7OW_4&P8M*=(@]N2M!4\I22.^WMJ#\?LB(U; ML?%A4UU5;5EY2H04:5UE73KCUXY=1M&>T-=!87 UV%/J;[4;V^KQ$BZ9T'BZ M"X0%YQ?(HNKV64^,+%T'FDN#_F!K#D5G!IQE%M;7,)PFR5$L*)-1D?NUF2YRM;*<29AI8E9"4'TW :XV MXV@0;1>VH MY9H:F"K^C56V'D?O(U+!@JZXO5";S]#J\0V6BAO_2S9M;1*1];7W8 2!//R!M >ECP/ )0-8",B\T=.9EG5)+BURK#=&N&MG,+G$^=7\E!R\?)W'%IMS1\1EV\@D-)(^T4A&SI6TM2$? M90750WR,HCIEZ5;9)-U+>$[U(?J9_#\_VM)-U1F>>+WNNT>3[ M%RPE9Q:$^='G6^ =]O.Z6WYL&EK".,)K;$"O(2I>O1@<)1_Z1/\GL@<6##L+ MAOO8T8(UR!60A58"$R#XT: ?#$R?\,!VY-E<&JV++$N2)(_7NXKVGOF/BD:= MHM$?%-V+N"-VY_;TZ=G+]=P7.?K-G'MC@I9X)Q4$Z*4/2T-*O+$V7*-NMU ]^]W[80,NA QK5_ CWM.SKFVKSW="?FL8@!- M7M*$JYD3:YU-7%>%,:14M44&'&?60J948U=N7)5)H)$%I8GK>][ 32GC3C"U M8WGJB"A4@>6:3CF3-R2 1KFB?Z7NR^0.FG M;_A"D2C[2W9EK.>0,%=:I"48%:2,%__TI ;;I0;'HH4R.57H=0' MDH$DJYA*("VR*M:6B#59B#3+-;6YQ^Z<*A82RB.R9$FN(2)-3)=+T)0E.-8B M#ZLEN;SX0"Z(2Y29581Q\L"95EJ&I9UY8<<_8:=+ M;@77L2*?> 31,=[%U%3Y\??YF?N-A+=4MDFW:>C!1&0UAYN"!5R"WX 3OWW4&WL#N'^2^XP^'WG@T>K5(=8%^W^]WAO7K-*SD#_]??E34K3H#PW,-U 4V M&1A5!D9G[7];0JWXAG075*/#K>ZU3;4YDEH;U>G7ZQQ7.L?_K+,AK^.SE-9& M_:74/;CSL"9N[%- D5#D7!?EO1JM7AO7]I)]-3['5TCQ:/A#4SQAL'AO&%NTA+K0LG@5%1XO,WJQ/0N,];9LQOJ1 F@"<7PNA]QWS@>IM%OP&4$L# M!!0 ( !J$KUAN;J'B20, ,4+ 9 >&PO=V]R:W-H965T&ELYYZ3<\^]2=*@C1Z+YD7$V<0NOJQ'555I 2 MJV-1$0YO%D*66,-6+EU528)S"RJ9&WC>T"TQY4XZMF.9Q011C)M*# \5F1*&#-,H.-72^ITWS3 MS?4#^P>;/"1SBQ69"O:=YKJ8.(F#@[* M:J5%V8)!04EY\\3WK1$; .#I!P0M(-@%1,\ PA80VD0;93:M5+='&?L3HG.:(<33'+:H9MI0![;F#P M9M_7WIP3C2F#LR.D+/O8U9"AT>EF;39G33;!,]F$Z+/@NE#H@H.0;;P+SG3V M! _VG 5["3]C>8Q"_QT*O"#JT3/]>WBX1T[852NT?.$S?*8&CR4@62VIIE"& MSOH/4I1H*LJJUHWY5PMT@26'^B@TZ[S^\0F(T:4FI?K9YW*C(NI786Z6$U7A MC$PLG #^*=/NX)#,,X&(QV^MC= M&(A*(I=V3E0H$S77S9]_=]K-HJ=V MLY/S,SJAVT'FF: 1?^VI<4;G!&%D#I M'<<@2C8S8[/1HK)CUZW0,,3990%S-I$F -XOA- /&_.!;G)/_P!02P,$% M @ &H2O6$U,#PF< P * P !D !X;"]W;W)K&ULQ9=?C]HX$,"_RBAW.MU)N^0?A+ %)-C=WO6A+5IT[4/5!Y,,8*UC4]N! M7:D?OG82 GN$="54W M TFNM,@J84.045X^R5,5B".!,#@C$%0"0<%=&BHH[X@FXZ$4.Y!VM]%F%X6K MA;2!H]QF9:ZE^94:.3V^_Y93_0SO>(+82/ MFR*.$QM'*_/G'6I"F?IKZ&I#8O6Y265U6EH-SE@-X;W@>JW@GJ>8OI1WC0>U M&\'>C6G0JO ]D1T(_2L(O* +OX,+:DTDJNK18B&L Q46%L(S%N96T;4] "G< MBLQ4A2)E/*0D?(7FI&I8/,/QOAEY+CY/=D2F5U4 E5GD6FG"4\I7\.5!, ;F MA-D]7YM"67)UF[ELU=ZH#4EPY)BR5"BWZ(S_^,V/O#FQ)R;!.%[8\1+1TI3O<*4O2VV8[\?#[JA/W2W#8R] MFK%W">/?)CW:)*.-K'="UO.CJ-_,%=5["=@T0G8=>"'Y\CZ-5G_ M$K+[\F2^)J7]TY3&_J!_+J5Q#1C_'\5V!9^+6]KLGFQ1FJX#]T\H$ZK,O2>I M\?7+9*&T-*VBL1+C7U")@SHD@]:<_82\H1:;/"AMQ$?Y"J).'#9GR_<.3<2[ M#*XJPL9.4:KVPQ?W0J??/0-UU-G\RZ#V%=A(Y9]2!;U.')VA"@Y4P654+ZNO MD2UH8(LZO<$9MD.+\U_3XZ:O++MI:]E-TI3:)6%P1U7"A,IM/VXO,/]7]#K_ MT.S\]FYWDIOBV((9K!#>$BKA$V$YPL;[>U)LOM>)_WLUND?#6X9R M58RH"A*1@R>E,/?87LY0YLIR-P!"A@NC:C7Z9N+699C:?FBQ:88 M!1="F\&R6*[-*(_2;C"_+X70^Q=KH/[G8/P#4$L#!!0 ( !J$KU@J7]SW M_P8 '@_ 9 >&PO=V]R:W-H965T>K%#C_]^=A*:I@2WU1X- M"4&2YONQ'3^UOWZ(+]9I]DTL.9?D1QPEXK*SE')UWNV*V9+'3)RF*YZH3^9I M%C.I3K-%5ZPRSH(B*(ZZU+*&W9B%26=R45R;9I.+-)=1F/!I1D0>QRQ[ON91 MNK[LV)V7"W?A8BGUA>[D8L46_)[+A]4T4V?=#24(8YZ(,$U(QN>7G2O[W*=C M'5#<\37D:[%U3'13'M/TFSZY#2X[EJX1C_A,:@13?Y[X#8\B35+U^%Y!.YLR M=>#V\0O=*QJO&O/(!+])H[_"0"XO.^,."?B_\JI! \V;I9$H?I-U M=:_5(;-73+;K&89)-+K)T33)]MZ+I@Z)_BVC5 M(V&BI7@O,_5IJ.+DQ/V>A_*9W"8SGFA1D&G$$D%.R%40A%HL+%(?EI+7TOGH M<,G"2'Q2MSS<.^3CAT_D ^D2L609%R1,R$,22O%9753'?R[37+ D$!==J2JK MB^S.JHK=E!6C;U3,)E_21"X%<9. !RWQCCF^MR_>VU,^-0"ZZBEO'C5]>=37 MU$C\C26GQ+(_$VK1?ML#,8=_8<^D5T3;H[;'L2\Z.ZW"6PMW#P_OM3U,<[C# M9\9P_^#PW;8W>J*W$7VOX/7>X-UKL9)K-8(%Y":-U; N2G5?91E+%EP-M9)< M/Y/M^Z;LN;A\M6990/[^72')K>2Q^*>E/==E^?WV\O7T?4W\NJ;Z).&I/@/?-6*.[54DS$'"7"3,0\)\$*RADN%&)<-WGEF&2'DA80X2 MYB)A'A+F@V ->8TV\AH9!Z$_\OB19R2=D[O[!Y5D^TI4LC6[O3:"CM4)$N:4 ML,'6O#&V1WUKO#.](,OTD# ?!&LH8+Q1P-BH@*+'B5KJ<>*Q,"-?691SHQ", MO&.%@(0Y)6R\)01[=#KJ[^@ 6:2'A/D@6$,'9QL=G!EU,.59L2A7Z_:3QV(: M42-"6_<;,<=V/Q+F(&$N$N8A83X(UE");=7VCO7."4E5 9#"H#0'2G.A- ]* M\U&TILRV7$0;E9B824?K!4ES*MIV;C+H]RG=S4V@I7I0FH^B-95 :R50<()B M!AXM""3-J6C[U>IN! M/;$P8H\1)_,T(_-A,ME484,L52G/LUZ;K:#3N]7N[ZH"ZKE":CZ(U MU5$;K[;9>:W&"*6.61K':@H211Y3%144$M$#B+;D/A.6RU2_,C,C+$ER%I$P MF65Z^?J]_ 8@NN%9;LCD2[JDMS*21+@C!9M,H'ZOI":0Z4YD)I7D4[VYX_3RW: M'"1]5)G-M\AJ2Y<:O;S);3V2'# 4M:<8BUDG+6JQ,:H&*AI"Z4Y4)H+I7GTM:'< M]DWS4:4V%5.;MM1LVI8&3=NKP*UB@!JV4)H#I;E0F@>E^2A:4S*UKTO?^QU: M"G6$H30'2G.A- ]*\U&TILQJZYB:K>/_==5EKLO1BC.WS+#J@M;#A=(\*,U' MT9KJJNUE:GZI%[OJ,A=VM'R@5C*4YD)I7D7;674-=E.D/7?^^4F\!I?[DG_PK)%F @2\;DJRCH=**F1Q*91G;N!Y(S=G7#CAK-Q;J7 F"Y-Q@2L%NLASIIZ6F,G]W/&=YXU; MGJ3&;KCA;,L27*.YVZX4K=Q:2\QS%)I+ 0HW(FGCN>)<(,(V-5,!IV>(599C41Q]>#4J>V:06;\V?M'TOGR9D'IO%* M9E]X;-*Y,W$@Q@TK,G,K][_AP:&AU1?)3)=/V!_.>@Y$A38R/P@30Z7M[3)LW_3&6AF8CUS#7D MH>5THX,WR\J;X(PW??@LA4DU?! QQM_+NQ29.CS!8<"&X2,@32K@(X9_64%;DE>YA MJ=M^9G9A,)WT1_[,W;4P#6NFX8N8/E&<;9)VD0Q/2";^>.!-VDE&-]\:"=UO>.?P'O57GK#.W&/5C]CC>8]L[5B]_X:_FO MRGN2R/_![9\FA=?SSV$'1^R@$WN1) J3'R /U?9+(ZBM3)7J48-I,)G^6%YN MHQ7(425EPZ,ADH4P55=0[]9-U:)J)8['JXZ,_GU42QHRW)"HUQM3<:NJR:D6 M1F[+QN)!&FI3RFE*C2$J>X#>;Z0TSPMKH&XUPW\!4$L#!!0 ( !J$KUCV MO4 KY , -,1 9 >&PO=V]R:W-H965TQU>QCVP$AG2PA%JB1M)_WK>Z04V7(4 M82GTD!>+I.X^W7WWF3ARLA?R7J4 FCSDC*NIDVI=7+BNBE/(J3H3!7!\LQ8R MIQJGI(C<82]+T=Y&AFJ;@B:9YT GXB]@13EA7 M+;1XX4M5RPLF'@'("N0NB_&94@FDI4*7C(FX''Y>VSIM>/8-K18@,V&,%5;D MWS_Q ^06"Z3^:V.[C"9JC\;L-!>JH#%,'=Q*%(8$SNSGG_RA]VL;53V!-8B+ M:N*B+O19J>0[RU-\S!.42FY+OD0<6D2S*^YFP3@83=S=<5(M1D'@U4:-8 =U ML(/.8$UMS)]E"3O@6VC]'W0BO+8R/8$UDAW6R0[?E*2'?1+7$UB#N%%-W*AW M29>(@R.U1I%WHN@6FU'4+NCS.M3S[E I T5P2R>X(=Z#SOBF+;I.D->6IB>P M1K[C.M_QF]+TN$_B>@)K$.=[A[;$ZUW5%>2Q9(>>?R+K%J,H'+?KVC_JHOS. M<)=( 95Q:L5]C?LU$X5I=EK#[(1Z;9GZ0FLF'AP2#]Z4Q*MP^B*O)[0F>8<"KRYT;!>/""R ^]D]_=//T.'+MV9C5^F>!A)%/:=/&[ M]D [P5Y=J9[0FJD?.C%_\+9DWFM?UQ=:D[Q#9^=W]C\_)O/ALX;:'YQ'ISIO ML?+\X$3H[M'Q. >YL;<&"D/9 >O5^F;BTI['3];GYL;"'KL/,.5U!_8S MFPP/LPS6".F=C9!Q6=X@E!,M"GL(OQ,:C_1VF )-0!H#?+\60C]-S ?J>YS9 M=U!+ P04 " :A*]8-X3Z N0$ "S(@ &0 'AL+W=OT M1-M")=$E*3M]^R$E1;82F;& ;0C&>8#NB>YO+.A+,-"GK*MR?>,X+@49:GI6-;8S'"2&XM9>>V>+6:T M$&F2DWN&>)%EF/WZ3%)ZG!NV\7SA(=GNA+I@+F9[O"6/1'S;WS-Y9C:4.,E( MSA.:(T8VR M(FFJ2+(=/VNHT=2IA.?'S_2@[+SLS!ISLJ+I]R06N[DQ-5!,-KA(Q0,]?B%U MAT:*%]&4EW_1L2YK&2@JN*!9+98MR)*\^H^?Z@=Q)I"<;H%3"YQK!6XM<%\* MAA<$PUHPO%8PJ@6C:P7C6C"^5C"I!9,R6-73+4/C88$7,T:/B*G2DJ8.ROB6 M:AF1)%=6?!1,WDVD3BR"),=YE.1;M&0,YULB;28X^HB6<9PHL^ 4W>:5Y95U MWGM$X"3E'V21;]G^9X'1BA%9%"VWC)1J=>?10^_??4#O4)*CNR1-I93/3"$; MK*HUH[IQJZIQSH7&N>B.YF+'D9_')&[K3=G1IK?.42)UWQT1+ZQJ>"V=;9P[4&]HL00=;H0\(" M2%@(!&L%?MP$?JP-_/=RU4?BC_A F%S%RJF_=@+#HM,&6EY?&U0PVVG9P)JX M[@LG0%;J0\("2%@(!&LY8=(X8:)UP@,YT/2@UI1!/6!W15_+Z!M]2)@'"?,A M80$D+ 2"M2PR;2PR!5W]32'- @GS(&$^)"R A(5 L)99/C5F^73-Z@\W&\SX MPH2BQ?1UB;Y-S7:H8S]4&0.R,3XD+("$A4"PEC%LZY2]L'IM##+\E&1%AM:4 M29::@B(LJU>WBCPF#*44YUW6J>LY7Z([H_;28:5O2]^! Y3F@]*"KJ=AM9]& MV%'&/I5IQ_,L&V7WC*7Y5\5BL-YJ=J1[7.\"0- ^4YH/2 E!:"$5KF^:4QK1'H#M4 M&S2I"4KS0&D^*"T I850M+9I3BE06Y\#A=N.C%]GM2>#5QL2R)2A!TKS06D! M*"VL:>?SZ?C%SL4\>Z6>$;8MOY;@**)%+JJWZ\W5YHN,9?D=@GDJ7GW.<8?9 M-LDY2LE&2JW!1'J455](5">"[LL7]&LJ!,W*PQW!TAZJ@+R_H50\GZ@*FN]4 M%O\#4$L#!!0 ( !J$KUC&PO!ETJB'V/S[G']DUCZ%=ZR>G=C%(=+ HNJD$XT[K\&$759$8+4EW( MD@J#Y%(51)NNFD95J2C)*B 5/.JT6DE4$";"85_,BYM"5\%$SH4>A-TF%+C; MEVP0MI/+,'!R(YG10?AP]O[G7.KK=X&[GWPX.6D]G%_OQL\LG8 MP3;X# KJ]OVR- ZGBBS;G:MP3; WDV0L5495DZ8=KD+#/JJ&D9U0SN_@\?Z1;VDO\HU]L[LFFJ8Q5#>=C.N _J:: MT]Z4O7R1;E"R1ZD_S\UTA.U#A=);17.VL/U%WAC U-NX.BE+OOS$V504U$W^ MX(3#/EGQ@IE4[,ED@U*9F !58?!(E6:3S<@O1C_4[^ZV;O#H&D\DQF#R*FNP=@\GT M"$QV7^U;\W"3\=MC&49 M%<_.7$9>D['Y0VU+WXS/:$[F7-\WX"!/RO MAGD#!I8',OW=6N.[C5?(_CK ]G1?A6 SQ2L1FRF^UH#XUPT8:>K?;2P/,+!= MP&H'\OOS0$WY.7$,NXIYPYY@'$E3#(%:]-=HDB"KD\#'OS_84Q+':>I' /,[ MB&,,@:<11S 'X %#XMB^!W?>1]'J/16M_WLY_ U02P,$% @ &H2O6)>* MNQS $P( L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %( MMB6/:(7->=I3W;+T]! M;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B M':5_'=6.&GNPEX%/ MEBB9>AJ"?$-2[QZ=_W[OW'?Q3V-LF"?;&'?GDTFHMJJ1X;7;*0M7ULXW,L*I MWTS"SBM9AZU2L3&3;#J=31JI;?+^W5#7M9_@$Q=5%;6S4-@5W&GU&'Y=[T[% M@P[Z7AL=?\R3_MBH1#3:ZD8_J7J>3!,1MN[QL_/ZR=DHS:KRSIAYDNXOW"D? M=?6L>-5!WLK[T)=$>7\C 62>S*90X5K[$/L[^OHE,#XHN'E_UD9WJ4U4?BFC M^N1=N]-VTU4#;S%!K]''8?C=!_'<_Y\PNO5:5VKIJK91-N[CZ)7I &W8ZEU( MA)6-FB?#+4+:6GRT$8(DKNR^*KBW>U-X]%6]?^L(N"B&_ES#!7]5]^!\D!?. MULH&50LX"L[H&CAJ\4$::2LE$&1&0&8GA/PK0Y Y 9F?!'+5XM>?NS6" M?$- ON&%7+5-(_T/X!$KO;$:_B9AU%Q4E6MAU$20;PG(M[R0-^I!V5:)F^XB MM/-2A\JXT'H5\$ ^I4;R*2_BHOJ[A8?VY9B)M NS7BZE]N).&HCK^ M,,*CO)(RB^63<_6C-@;S4 I)F1UR!2F2W70/%8L0(#]Y);ZJB.DH=Z3,\EBJ M*+4)74>]@+P-!1T&,2=DC9=;'T$6OI8>,Z]9+&V3UK%=0ZDB9W0%M"IE@ MY1HE7GQQ(;P4.^7%:BN]PHB4.%)F8CC**AFS58Y(>.#$F)1>,F:] M##(^&#]**!FS4 Y;^2 F996,V2JDGL<]FC)+QFP60GZ_]VA*,1FS8@X+\&"C M4Z[)F%U#SO#&2R.4;?*3V@9/Z7/*-OD);?.'6&%,RC8YLVU(S'&CDPMBS-ZA M,4>-3GDG9_8.W>@+C$E9*&>VT"C% *ZZ[H^EV2\J8TS*0CFSA7[#1!T?W*DW M&).R4,YLH6,YT7^!Q9B4A7+NBO\O M4$L#!!0 ( !J$KU@,/Y#\Y0$ '\A : >&PO7W)E;',O=V]R:V)O M;VLN>&UL+G)E;'/-VCM.PT 4A>&M1%X D_N8\%!"14.+V( 5)@^1Q)9G$,GN MB4(1CD5!@^94UMCR]=_XDV5[_I)V;=EVA[S9]GERW.\.>=%L2ND?0LC+3=JW M^:;KT^%\9-4-^[:]ZD5)K):SNL4UDTX;B[[L[ALI&;\^1F\ORV:(;G-VE" M[2"%(*T?9!!D]8,<@KQ^4(2@6#]H!D&S^D&W$'1;/^@.@N[J!]U#T'W]()FB MC%."I!'6!%H+NOH89M ;T6]E4!O1;V50&]%O95 ;T6]E4!O1;V50&]% MO95 ;T6]E4!O0[V-0&]#O8U ;T.]C4!O&[TL(=#;4&\CT-M0;R/0VU!O(]#; M4&\CT-M0;R/0VU!O(]#;46\GT-M1;R?0VU%O)]#;46\GT-M'+[L)]';4VPGT M=M3;"?1VU-L)]';4VPGT=M3;"?2.J'YNZ:OPX681@'QCS^8)J[5-CJ8DC,^-J'>)? M-V=6YTL])R8&@R'+31.H"?W0UD@FHR>:Z545>L^;>-N7IADGCBJ?]!YW$]NL M<:*MKE/M MPHNNXRRVJ9@/VXI\>K[$B1[-;%;F5)A\5<.=.$71*&NTEW1F_/)(>XP M[7[YU?E=F7.!<>;4&>OCB3FZ/.YP).WJOHV%R(7R_",>$V/IJY^/VM,NJ/AE M=MS>#^.6W7EXUEVNW^.O9WRL?V$? J0/"=*' NDC ^EC"-+'+4@?=R!]W(/T MP0&UL4$L! A0# M% @ &H2O6%-=WB;O *P( !$ ( !KP &1O8U!R M;W!S+V-O&UL4$L! A0#% @ &H2O6)E&PO=V]R:W-H965T M&UL4$L! A0#% @ &H2O6+S[@!3O!0 @A@ !@ M ("!-@X 'AL+W=O&PO=V]R:W-H965T&UL4$L! M A0#% @ &H2O6-7!I$7A @ +@@ !@ ("!H!P 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &H2O6')^ MD@T,!P =@\ !@ ("!KBP 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ &H2O6+H5.K)E!0 0\ !D ("!$4X 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ &H2O6!;@ M K(0! L0D !D ("!FUH 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &H2O6,BO/)I^!P Z!, !D M ("!"V8 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ &H2O6*27&58]# <2, !D ("! MTW@ 'AL+W=O&PO=V]R:W-H965T( !X;"]W;W)K&UL4$L! A0#% M @ &H2O6)*)R3_# @ 9P8 !D ("!D8P 'AL+W=O&PO=V]R:W-H965TN@0 &X+ 9 " @0F? !X;"]W;W)K&UL4$L! A0#% @ &H2O6!_V1/!) P R@H !D M ("!^J, 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ &H2O6#U+ZN2( P ^Q( !D ("!_+$ M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M&H2O6-I\/XT^!P \CH !D ("!<[P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &H2O6*&PO=V]R:W-H965T&UL4$L! A0#% @ &H2O6(&2?W9P @ U04 !D M ("!Y]L 'AL+W=O&UL4$L! M A0#% @ &H2O6-FI(M( P ?P@ !D ("!E.0 'AL M+W=O&PO=V]R:W-H965T&PO=V]R:W-H965T&UL4$L! A0#% @ &H2O6&YNH>)) P Q0L M !D ("!(_< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &H2O6-@&#IA\ P =@H !D M ("!K 4! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ &H2O6-SJ_+]& P RA0 T ( !E1(! 'AL+W-T M>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% M @ &H2O6 P_D/SE 0 ?R$ !H ( !B1L! 'AL+U]R96QS M+W=O XML 64 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 65 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 67 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.1.u2 html 144 259 1 false 54 0 false 11 false false R1.htm 100000 - Document - Document and Entity Information Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited Condensed Consolidated Balance Sheets (Unaudited) Statements 2 false false R3.htm 100020 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 100030 - Statement - Condensed Consolidated Statements of Operations (Unaudited) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited Condensed Consolidated Statements of Operations (Unaudited) Statements 4 false false R5.htm 100040 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Unaudited) Sheet http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited Condensed Consolidated Statements of Comprehensive Loss (Unaudited) Statements 5 false false R6.htm 100050 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited Condensed Consolidated Statements of Stockholders' Equity (Unaudited) Statements 6 false false R7.htm 100060 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited Condensed Consolidated Statements of Cash Flows (Unaudited) Statements 7 false false R8.htm 100070 - Disclosure - Organization and Description of Business Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness Organization and Description of Business Notes 8 false false R9.htm 100080 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 9 false false R10.htm 100090 - Disclosure - Revenue Related Disclosures Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures Revenue Related Disclosures Notes 10 false false R11.htm 100100 - Disclosure - Acquisitions Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitions1 Acquisitions Notes 11 false false R12.htm 100110 - Disclosure - Fair Value Measurements Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurements Fair Value Measurements Notes 12 false false R13.htm 100120 - Disclosure - Goodwill Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwill Goodwill Notes 13 false false R14.htm 100130 - Disclosure - Intangible Assets, Net Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNet1 Intangible Assets, Net Notes 14 false false R15.htm 100140 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts Details of Certain Condensed Consolidated Balance Sheet Accounts Notes 15 false false R16.htm 100150 - Disclosure - Related Party Transactions Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactions Related Party Transactions Notes 16 false false R17.htm 100170 - Disclosure - Net Income (Loss) per Share Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShare Net Income (Loss) per Share Notes 17 false false R18.htm 100180 - Disclosure - Equity Incentive Plans Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlans Equity Incentive Plans Notes 18 false false R19.htm 100190 - Disclosure - Financing Arrangements Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangements1 Financing Arrangements Notes 19 false false R20.htm 100200 - Disclosure - Commitments and Contingencies Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 20 false false R21.htm 100210 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies 21 false false R22.htm 100220 - Disclosure - Revenue Related Disclosures (Tables) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables Revenue Related Disclosures (Tables) Tables http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures 22 false false R23.htm 100230 - Disclosure - Acquisitions (Tables) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsTables Acquisitions (Tables) Tables http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitions1 23 false false R24.htm 100240 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurements 24 false false R25.htm 100250 - Disclosure - Goodwill (Tables) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillTables Goodwill (Tables) Tables http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwill 25 false false R26.htm 100260 - Disclosure - Intangible Assets, Net (Tables) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetTables Intangible Assets, Net (Tables) Tables http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNet1 26 false false R27.htm 100270 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables) Tables http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts 27 false false R28.htm 100280 - Disclosure - Net Income (Loss) per Share (Tables) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables Net Income (Loss) per Share (Tables) Tables http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShare 28 false false R29.htm 100290 - Disclosure - Equity Incentive Plans (Tables) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables Equity Incentive Plans (Tables) Tables http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlans 29 false false R30.htm 100300 - Disclosure - Organization and Description of Business - Additional Information (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails Organization and Description of Business - Additional Information (Details) Details 30 false false R31.htm 100310 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails Summary of Significant Accounting Policies - Additional Information (Details) Details 31 false false R32.htm 100320 - Disclosure - Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details) Details 32 false false R33.htm 100330 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details) Details 33 false false R34.htm 100340 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details) Details 34 false false R35.htm 100350 - Disclosure - Revenue Related Disclosures - Additional Information (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails Revenue Related Disclosures - Additional Information (Details) Details 35 false false R36.htm 100360 - Disclosure - Acquisitions - Additional Information (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails Acquisitions - Additional Information (Details) Details 36 false false R37.htm 100370 - Disclosure - Acquisitions - Summary of Assignment of Fair Value to Identified Assets and Liabilities (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails Acquisitions - Summary of Assignment of Fair Value to Identified Assets and Liabilities (Details) Details 37 false false R38.htm 100380 - Disclosure - Fair Value Measurements - Additional Information (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails Fair Value Measurements - Additional Information (Details) Details 38 false false R39.htm 100390 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liabilities (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liabilities (Details) Details 39 false false R40.htm 100400 - Disclosure - Goodwill - Schedule of Changes in Goodwill (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails Goodwill - Schedule of Changes in Goodwill (Details) Details 40 false false R41.htm 100410 - Disclosure - Intangible Assets, Net - Schedule of Intangible Assets Net (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails Intangible Assets, Net - Schedule of Intangible Assets Net (Details) Details 41 false false R42.htm 100420 - Disclosure - Intangible Assets, Net - Additional Information (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails Intangible Assets, Net - Additional Information (Details) Details 42 false false R43.htm 100430 - Disclosure - Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details) Details 43 false false R44.htm 100440 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Assets, Net (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Assets, Net (Details) Details 44 false false R45.htm 100450 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details) Details 45 false false R46.htm 100460 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Assets (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Assets (Details) Details 46 false false R47.htm 100470 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details) Details 47 false false R48.htm 100480 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details) Details 48 false false R49.htm 100490 - Disclosure - Related Party Transactions - Additional Information (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails Related Party Transactions - Additional Information (Details) Details 49 false false R50.htm 100500 - Disclosure - Net Income (Loss) per Share - Summary of Computation of Basic and Diluted Net Income (Loss) per Share (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareSummaryOfComputationOfBasicAndDilutedNetIncomeLossPerShareDetails Net Income (Loss) per Share - Summary of Computation of Basic and Diluted Net Income (Loss) per Share (Details) Details http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables 50 false false R51.htm 100510 - Disclosure - Net Income (Loss) per Share - Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Income (Loss) per Share (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesOutstandingExcludedInCalculationOfDilutedNetIncomeLossPerShareDetails Net Income (Loss) per Share - Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Income (Loss) per Share (Details) Details http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables 51 false false R52.htm 100520 - Disclosure - Equity Incentive Plans - Schedule of Stock Option Activity (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails Equity Incentive Plans - Schedule of Stock Option Activity (Details) Details 52 false false R53.htm 100530 - Disclosure - Equity Incentive Plans - Additional Information (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails Equity Incentive Plans - Additional Information (Details) Details 53 false false R54.htm 100540 - Disclosure - Equity Incentive Plans - Schedule of Unvested Restricted Stock Units Awards Activity - (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails Equity Incentive Plans - Schedule of Unvested Restricted Stock Units Awards Activity - (Details) Details 54 false false R55.htm 100550 - Disclosure - Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details) Details 55 false false R56.htm 100560 - Disclosure - Financing Arrangements - Additional Information (Details) Sheet http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails Financing Arrangements - Additional Information (Details) Details 56 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 3 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - ssti-20240331.htm 8 ssti-20240331.htm ssti-20240331.xsd http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 false false JSON 70 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "ssti-20240331.htm": { "nsprefix": "ssti", "nsuri": "http://www.soundthinking.com/20240331", "dts": { "inline": { "local": [ "ssti-20240331.htm" ] }, "schema": { "local": [ "ssti-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/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" ] } }, "keyStandard": 223, "keyCustom": 36, "axisStandard": 23, "axisCustom": 0, "memberStandard": 32, "memberCustom": 22, "hidden": { "total": 10, "http://fasb.org/us-gaap/2023": 6, "http://xbrl.sec.gov/dei/2023": 4 }, "contextCount": 144, "entityCount": 1, "segmentCount": 54, "elementCount": 478, "unitCount": 11, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 453, "http://xbrl.sec.gov/dei/2023": 30 }, "report": { "R1": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation", "longName": "100000 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "p", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited", "longName": "100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited)", "shortName": "Condensed Consolidated Balance Sheets (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:AssetsCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R3": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "longName": "100020 - 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_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "U_USDollarShare", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "U_USDollarShare", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited", "longName": "100030 - Statement - Condensed Consolidated Statements of Operations (Unaudited)", "shortName": "Condensed Consolidated Statements of Operations (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R5": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited", "longName": "100040 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Unaudited)", "shortName": "Condensed Consolidated Statements of Comprehensive Loss (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:NetIncomeLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ComprehensiveIncomeNetOfTax", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R6": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited", "longName": "100050 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "C_a65a2da4-e631-4011-ad55-089a45ac1089", "name": "us-gaap:StockholdersEquity", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_a65a2da4-e631-4011-ad55-089a45ac1089", "name": "us-gaap:StockholdersEquity", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited", "longName": "100060 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)", "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ProfitLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ProfitLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness", "longName": "100070 - Disclosure - Organization and Description of Business", "shortName": "Organization and Description of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies", "longName": "100080 - Disclosure - Summary of Significant Accounting Policies", "shortName": "Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures", "longName": "100090 - Disclosure - Revenue Related Disclosures", "shortName": "Revenue Related Disclosures", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitions1", "longName": "100100 - Disclosure - Acquisitions", "shortName": "Acquisitions", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurements", "longName": "100110 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwill", "longName": "100120 - Disclosure - Goodwill", "shortName": "Goodwill", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:GoodwillDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:GoodwillDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNet1", "longName": "100130 - Disclosure - Intangible Assets, Net", "shortName": "Intangible Assets, Net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts", "longName": "100140 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts", "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactions", "longName": "100150 - Disclosure - Related Party Transactions", "shortName": "Related Party Transactions", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShare", "longName": "100170 - Disclosure - Net Income (Loss) per Share", "shortName": "Net Income (Loss) per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlans", "longName": "100180 - Disclosure - Equity Incentive Plans", "shortName": "Equity Incentive Plans", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangements1", "longName": "100190 - Disclosure - Financing Arrangements", "shortName": "Financing Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies", "longName": "100200 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "longName": "100210 - Disclosure - Summary of Significant Accounting Policies (Policies)", "shortName": "Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "21", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables", "longName": "100220 - Disclosure - Revenue Related Disclosures (Tables)", "shortName": "Revenue Related Disclosures (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "22", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsTables", "longName": "100230 - Disclosure - Acquisitions (Tables)", "shortName": "Acquisitions (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "23", "firstAnchor": { "contextRef": "C_dcb672d4-8873-4046-9d11-e7d2f94b1ac5", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_dcb672d4-8873-4046-9d11-e7d2f94b1ac5", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsTables", "longName": "100240 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:FairValueDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:FairValueDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillTables", "longName": "100250 - Disclosure - Goodwill (Tables)", "shortName": "Goodwill (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:GoodwillDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:GoodwillDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetTables", "longName": "100260 - Disclosure - Intangible Assets, Net (Tables)", "shortName": "Intangible Assets, Net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables", "longName": "100270 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables)", "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables", "longName": "100280 - Disclosure - Net Income (Loss) per Share (Tables)", "shortName": "Net Income (Loss) per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:EarningsPerShareTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:EarningsPerShareTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables", "longName": "100290 - Disclosure - Equity Incentive Plans (Tables)", "shortName": "Equity Incentive Plans (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails", "longName": "100300 - Disclosure - Organization and Description of Business - Additional Information (Details)", "shortName": "Organization and Description of Business - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "30", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "ssti:NumberOfCustomers", "unitRef": "U_Customers", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "ssti:NumberOfAgencies", "unitRef": "U_Agencies", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R31": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails", "longName": "100310 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)", "shortName": "Summary of Significant Accounting Policies - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "31", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "ssti:NumberOfCustomers", "unitRef": "U_Customers", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_3db54a59-113c-4c01-ad77-bdd64f2e47ef", "name": "ssti:NumberOfCustomers", "unitRef": "U_Customer", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "us-gaap:ConcentrationRiskCreditRisk", "div", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R32": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails", "longName": "100320 - Disclosure - Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details)", "shortName": "Revenue Related Disclosures - Schedule of Changes in Deferred Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "C_c83a0623-d310-434a-b749-e6cef59d5285", "name": "us-gaap:ContractWithCustomerLiability", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_c83a0623-d310-434a-b749-e6cef59d5285", "name": "us-gaap:ContractWithCustomerLiability", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails", "longName": "100330 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details)", "shortName": "Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_5abb8177-1e62-4018-bd4e-08057d8f7c2b", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R34": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details", "longName": "100340 - Disclosure - Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details)", "shortName": "Revenue Related Disclosures - Schedule of Remaining Performance Obligations for Contractually Committed Revenues 1 (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "div", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": null }, "R35": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails", "longName": "100350 - Disclosure - Revenue Related Disclosures - Additional Information (Details)", "shortName": "Revenue Related Disclosures - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "C_e83dc3a8-b5c1-4bd9-9b45-3b69c67d46c5", "name": "us-gaap:Revenues", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_e83dc3a8-b5c1-4bd9-9b45-3b69c67d46c5", "name": "us-gaap:Revenues", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "longName": "100360 - Disclosure - Acquisitions - Additional Information (Details)", "shortName": "Acquisitions - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "C_60f11357-b2d4-4b08-94db-10879b8b3afc", "name": "us-gaap:LineOfCredit", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_20304ecd-1e4b-4a05-a82f-116ec4fb3668", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "U_pure", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "span", "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R37": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "longName": "100370 - Disclosure - Acquisitions - Summary of Assignment of Fair Value to Identified Assets and Liabilities (Details)", "shortName": "Acquisitions - Summary of Assignment of Fair Value to Identified Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:Goodwill", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_20304ecd-1e4b-4a05-a82f-116ec4fb3668", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "div", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R38": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails", "longName": "100380 - Disclosure - Fair Value Measurements - Additional Information (Details)", "shortName": "Fair Value Measurements - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "C_c414a603-fdc0-4ae7-853d-93cbd1436215", "name": "us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "us-gaap:FairValueDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R39": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "longName": "100390 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liabilities (Details)", "shortName": "Fair Value Measurements - Summary of Changes in Fair Value of Contingent Consideration Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "C_e7473ac2-b3c8-4ed9-b410-05b32b544b77", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "div", "us-gaap:FairValueDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_75a171e3-69de-4f12-9a58-c145aa154078", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "div", "us-gaap:FairValueDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R40": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails", "longName": "100400 - Disclosure - Goodwill - Schedule of Changes in Goodwill (Details)", "shortName": "Goodwill - Schedule of Changes in Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "C_c83a0623-d310-434a-b749-e6cef59d5285", "name": "us-gaap:Goodwill", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_dcb672d4-8873-4046-9d11-e7d2f94b1ac5", "name": "us-gaap:GoodwillAcquiredDuringPeriod", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "div", "us-gaap:GoodwillDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R41": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails", "longName": "100410 - Disclosure - Intangible Assets, Net - Schedule of Intangible Assets Net (Details)", "shortName": "Intangible Assets, Net - Schedule of Intangible Assets Net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "div", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "div", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails", "longName": "100420 - Disclosure - Intangible Assets, Net - Additional Information (Details)", "shortName": "Intangible Assets, Net - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": null }, "R43": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails", "longName": "100430 - Disclosure - Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details)", "shortName": "Intangible Assets, Net - Schedule of Future Intangible Asset Amortization (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "div", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "div", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails", "longName": "100440 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Assets, Net (Details)", "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accounts Receivable and Contract Assets, Net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:AccountsReceivableNetCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:AccountsReceivableNetCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "ssti:ScheduleOfAccountsReceivableAndContractAssetTableTextblock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails", "longName": "100450 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details)", "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Prepaid Expenses and Other Current Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:DeferredCostsCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:DeferredCostsCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails", "longName": "100460 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Assets (Details)", "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:DeferredCosts", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:DeferredCosts", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails", "longName": "100470 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details)", "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Accrued Expenses and Other Current Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:AccruedEmployeeBenefitsCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:AccruedEmployeeBenefitsCurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails", "longName": "100480 - Disclosure - Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details)", "shortName": "Details of Certain Condensed Consolidated Balance Sheet Accounts - Schedule of Other Long-term Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:OperatingLeaseLiabilityNoncurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_1bda1a12-78d4-448d-a1a2-d294ece80534", "name": "us-gaap:OperatingLeaseLiabilityNoncurrent", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:OtherNoncurrentLiabilitiesTableTextBlock", "div", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails", "longName": "100490 - Disclosure - Related Party Transactions - Additional Information (Details)", "shortName": "Related Party Transactions - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "C_d9f4b06b-f425-4e9e-bd3c-6d2bfc1236ea", "name": "us-gaap:Revenues", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_d9f4b06b-f425-4e9e-bd3c-6d2bfc1236ea", "name": "us-gaap:Revenues", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareSummaryOfComputationOfBasicAndDilutedNetIncomeLossPerShareDetails", "longName": "100500 - Disclosure - Net Income (Loss) per Share - Summary of Computation of Basic and Diluted Net Income (Loss) per Share (Details)", "shortName": "Net Income (Loss) per Share - Summary of Computation of Basic and Diluted Net Income (Loss) per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:NetIncomeLoss", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": null }, "R51": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesOutstandingExcludedInCalculationOfDilutedNetIncomeLossPerShareDetails", "longName": "100510 - Disclosure - Net Income (Loss) per Share - Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Income (Loss) per Share (Details)", "shortName": "Net Income (Loss) per Share - Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Income (Loss) per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "div", "us-gaap:EarningsPerShareTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "div", "us-gaap:EarningsPerShareTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails", "longName": "100520 - Disclosure - Equity Incentive Plans - Schedule of Stock Option Activity (Details)", "shortName": "Equity Incentive Plans - Schedule of Stock Option Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "C_c83a0623-d310-434a-b749-e6cef59d5285", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_c83a0623-d310-434a-b749-e6cef59d5285", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails", "longName": "100530 - Disclosure - Equity Incentive Plans - Additional Information (Details)", "shortName": "Equity Incentive Plans - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_e2216e6e-4e2b-49d5-8222-9eeca42a6fed", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "span", "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R54": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails", "longName": "100540 - Disclosure - Equity Incentive Plans - Schedule of Unvested Restricted Stock Units Awards Activity - (Details)", "shortName": "Equity Incentive Plans - Schedule of Unvested Restricted Stock Units Awards Activity - (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "C_94b49ecc-8fdd-4f92-a146-98186cd3cf77", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "C_94b49ecc-8fdd-4f92-a146-98186cd3cf77", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "U_shares", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails", "longName": "100550 - Disclosure - Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details)", "shortName": "Equity Incentive Plans - Schedule of Stock-Based Compensation Expense Recorded in Condensed Consolidated Statements of Operations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "C_26a61de5-3e66-4960-a6ca-122bb64cd4d4", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_e0549caf-59cb-4702-a023-b9501be5ca38", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "span", "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "div", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } }, "R56": { "role": "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails", "longName": "100560 - Disclosure - Financing Arrangements - Additional Information (Details)", "shortName": "Financing Arrangements - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "C_60f11357-b2d4-4b08-94db-10879b8b3afc", "name": "us-gaap:LineOfCredit", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "C_9fedc07e-179b-4691-948c-adee721c2b62", "name": "us-gaap:InterestExpense", "unitRef": "U_USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "span", "p", "us-gaap:DebtDisclosureTextBlock", "div", "body", "html" ], "reportCount": 1, "baseRef": "ssti-20240331.htm", "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "ssti_AccountingPoliciesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "AccountingPoliciesLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Accounting policies.", "label": "Accounting Policies [Line Items]", "terseLabel": "Accounting Policies [Line Items]" } } }, "auth_ref": [] }, "ssti_AccountingPoliciesTable": { "xbrltype": "stringItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "AccountingPoliciesTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Table]", "documentation": "Accounting policies.", "label": "Accounting Policies [Table]" } } }, "auth_ref": [] }, "us-gaap_AccountingStandardsUpdate201613Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingStandardsUpdate201613Member", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update 2016-13 [Member]", "terseLabel": "ASU 2016-13", "documentation": "Accounting Standards Update 2016-13 Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments." } } }, "auth_ref": [ "r247" ] }, "ssti_AccountingStandardsUpdate202309Member": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "AccountingStandardsUpdate202309Member", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "ASU 2023-09", "label": "Accounting Standards Update 2023-09 [Member]", "documentation": "Accounting Standards Update 2023-09." } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Accounts Payable, Current, Total", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r24", "r698" ] }, "ssti_AccountsReceivableAndContractAssetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "AccountsReceivableAndContractAssetCurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Accounts receivable and contract assets", "documentation": "Accounts receivable and contract asset current.", "label": "Accounts Receivable And Contract Asset Current", "terseLabel": "Accounts receivable and contract assets, net" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable [Member]", "terseLabel": "Accounts Receivable", "verboseLabel": "Accounts Receivable and Contract Assets", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r646" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails": { "parentTag": "ssti_AccountsReceivableAndContractAssetCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable", "totalLabel": "Accounts Receivable, after Allowance for Credit Loss, Current, Total", "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": [ "r242", "r243" ] }, "us-gaap_AccruedEmployeeBenefitsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedEmployeeBenefitsCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Employee Benefits, Current", "terseLabel": "Personnel-related accruals", "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r27" ] }, "ssti_AccruedExpensesAndOtherCurrentLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "AccruedExpensesAndOtherCurrentLiabilitiesAbstract", "lang": { "en-us": { "role": { "documentation": "Accrued expenses and other current liabilities.", "label": "Accrued Expenses And Other Current Liabilities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccruedIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Income Taxes, Current", "terseLabel": "State income tax payable", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations." } } }, "auth_ref": [ "r91", "r135" ] }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesAndOtherLiabilities", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 }, "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities and Other Liabilities", "terseLabel": "Accrued expenses and other current liabilities", "totalLabel": "Accrued expenses and other current liabilities", "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other." } } }, "auth_ref": [] }, "ssti_AccruedLiabilitiesAndOtherLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "AccruedLiabilitiesAndOtherLiabilitiesMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued Expenses and Other Current Liabilities", "label": "Accrued Liabilities And Other Liabilities [Member]", "documentation": "Accrued liabilities and other liabilities." } } }, "auth_ref": [] }, "us-gaap_AccruedProfessionalFeesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedProfessionalFeesCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Professional Fees, Current", "terseLabel": "Professional fees", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r27" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r33", "r34", "r99", "r170", "r530", "r554", "r558" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive 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": [ "r6", "r14", "r34", "r444", "r447", "r498", "r549", "r550", "r728", "r729", "r730", "r735", "r736", "r737" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Weighted average amortization period of intangible assets", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r116" ] }, "ssti_AcquiredSoftwareTechnologyMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "AcquiredSoftwareTechnologyMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "documentation": "Acquired software technology.", "label": "Acquired Software Technology [Member]", "terseLabel": "Acquired Software Technology" } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "periodEndLabel": "Additional Paid in Capital, Common Stock, Ending Balance", "periodStartLabel": "Additional Paid in Capital, Common Stock, Beginning Balance", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r94" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r404", "r405", "r406", "r569", "r735", "r736", "r737", "r795", "r813" ] }, "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsForNewAccountingPronouncementsAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update [Axis]", "documentation": "Information by amendment to accounting standards." } } }, "auth_ref": [ "r157", "r158", "r159", "r160", "r161", "r198", "r199", "r200", "r201", "r211", "r244", "r245", "r249", "r250", "r251", "r252", "r254", "r255", "r256", "r257", "r258", "r259", "r283", "r404", "r405", "r406", "r412", "r413", "r414", "r415", "r424", "r425", "r426", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r469", "r470", "r473", "r474", "r475", "r476", "r484", "r485", "r488", "r489", "r490", "r491", "r494", "r495", "r496", "r497", "r498", "r515", "r516", "r517", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r60", "r61", "r370" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net loss to net cash provided by (used in) operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expense", "terseLabel": "Stock-based compensation expense", "verboseLabel": "Compensation expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r399", "r407" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "terseLabel": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Intangible amortization expense", "totalLabel": "Amortization of Intangible Assets, Total", "label": "Amortization of Intangible Assets", "terseLabel": "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", "r48", "r52" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesOutstandingExcludedInCalculationOfDilutedNetIncomeLossPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r220" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesOutstandingExcludedInCalculationOfDilutedNetIncomeLossPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r41" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesOutstandingExcludedInCalculationOfDilutedNetIncomeLossPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items]", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [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_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesOutstandingExcludedInCalculationOfDilutedNetIncomeLossPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities, Name [Domain]", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r41" ] }, "us-gaap_AssetAcquisitionConsiderationTransferredEquityInterestIssuedAndIssuable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetAcquisitionConsiderationTransferredEquityInterestIssuedAndIssuable", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Asset Acquisition, Consideration Transferred, Equity Interest Issued and Issuable", "terseLabel": "Fair value of common stock issued as consideration for asset acquisition", "documentation": "Amount of acquirer's equity interest issued and issuable as part of consideration transferred in asset acquisition." } } }, "auth_ref": [ "r792", "r793", "r794" ] }, "us-gaap_AssetAcquisitionConsiderationTransferredTransactionCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetAcquisitionConsiderationTransferredTransactionCost", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Asset Acquisition, Consideration Transferred, Transaction Cost", "terseLabel": "Asset acquisition related expenses", "documentation": "Amount of transaction cost incurred as part of consideration transferred in asset acquisition." } } }, "auth_ref": [ "r695", "r792", "r793", "r794" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r133", "r169", "r190", "r225", "r232", "r236", "r246", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r432", "r436", "r471", "r525", "r596", "r698", "r711", "r761", "r762", "r799" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r163", "r172", "r190", "r246", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r432", "r436", "r471", "r698", "r761", "r762", "r799" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets" } } }, "auth_ref": [] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398" ] }, "country_BS": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "BS", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "BAHAMAS", "terseLabel": "Bahamas" } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Axis]", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Domain]", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r72", "r73" ] }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetRelatedDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Balance Sheet Related Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsTables", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree", "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": [ "r422", "r691", "r692" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsTables", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r63", "r65", "r422", "r691", "r692" ] }, "us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionCostOfAcquiredEntityTransactionCosts", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Transaction Costs", "terseLabel": "Transaction costs", "documentation": "Amount of direct costs of the business combination including legal, accounting, and other costs incurred to consummate the business acquisition." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "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": [ "r422" ] }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Membership interests, acquired", "label": "Business Acquisition, Percentage of Voting Interests Acquired", "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination." } } }, "auth_ref": [ "r64" ] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Proforma combined loss", "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": [ "r420", "r421" ] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Revenue", "terseLabel": "Proforma 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": [ "r420", "r421" ] }, "ssti_BusinessAndNatureOfOperationsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessAndNatureOfOperationsLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Business and nature of operations.", "label": "Business And Nature Of Operations [Line Items]", "terseLabel": "Business And Nature Of Operations [Line Items]" } } }, "auth_ref": [] }, "ssti_BusinessAndNatureOfOperationsTable": { "xbrltype": "stringItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessAndNatureOfOperationsTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Business and nature of operations.", "label": "Business And Nature Of Operations [Table]", "terseLabel": "Business And Nature Of Operations [Table]" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAcquisitionRelatedCosts", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisition-related expenses", "label": "Business Combination, Acquisition Related Costs", "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities." } } }, "auth_ref": [ "r62" ] }, "ssti_BusinessCombinationConsiderationPaidInKind": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessCombinationConsiderationPaidInKind", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Business combination consideration paid in kind.", "label": "Business Combination Consideration Paid In Kind", "terseLabel": "Business combination consideration paid in kind" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business acquisition estimated purchase consideration/purchase consideration", "totalLabel": "Business Combination, Consideration Transferred, Total", "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://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Business acquisition purchase consideration, stock issued", "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable", "terseLabel": "Purchase consideration indemnification escrow stock", "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_BusinessCombinationConsiderationTransferredLiabilitiesIncurred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferredLiabilitiesIncurred", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Consideration Transferred, Liabilities Incurred", "terseLabel": "Preliminary fair value of the contingent consideration", "verboseLabel": "Contingent consideration (Note 4 - Acquistions)", "documentation": "Amount of liabilities incurred by the acquirer as part of consideration transferred in a business combination." } } }, "auth_ref": [ "r1", "r2", "r70", "r428" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration - Forensic Logic (Note 4 - Business Acquisitions)", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "verboseLabel": "Change in fair value of contingent consideration", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r430", "r731" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Business Combination, Contingent Consideration, Liability, Total", "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Earnout will be payable based on estimated revenues generated", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r3", "r71", "r429" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration, Liability, Current", "terseLabel": "Contingent consideration liability", "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": [ "r4", "r71" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails": { "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration, Liability, Noncurrent", "terseLabel": "Contingent consideration liability", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r4", "r71" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitions1" ], "lang": { "en-us": { "role": { "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisitions", "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": [ "r127", "r423" ] }, "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedExpensesAndOtherCurrentLiabilities", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Accrued expenses and other current liabilities", "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed accrued expenses and other current liabilities", "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Accrued Expenses and Other Current Liabilities" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "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": [ "r67" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other 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": [ "r67" ] }, "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssets", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable and contract assets", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Current Assets Receivables And Contract Assets", "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed current assets receivables and contract assets." } } }, "auth_ref": [] }, "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivablesAndContractAssetsNet", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable and contract assets", "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed current assets receivables and contract assets net.", "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Current Assets Receivables and Contract Assets Net" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Deferred revenue", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Deferred Revenue", "documentation": "Amount of deferred revenue expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r67" ] }, "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEscrowClaim": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedEscrowClaim", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredEscrowClaimAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Escrow claim", "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Escrow Claim", "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed escrow claim." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Identifiable technology and intangible assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "verboseLabel": "Business acquisition, intangible assets", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r66", "r67" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredEscrowClaimAndLiabilitiesAssumedNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net assets acquired", "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": [ "r66", "r67" ] }, "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseLiabilities", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Operating lease liabilities", "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Liabilities", "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed operating lease liabilities." } } }, "auth_ref": [] }, "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAsset", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets", "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed operating lease right of use asset", "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed Operating Lease Right of Use Asset" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r66", "r67" ] }, "ssti_BusinessCombinationRecognizedIdentifiableAssetsAcquiredEscrowClaimAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredEscrowClaimAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total estimated consideration", "label": "Business Combination Recognized Identifiable Assets Acquired Escrow Claim And Liabilities Assumed Net", "documentation": "Business combination recognized identifiable assets acquired escrow claim and liabilities assumed net." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationsAbstract", "lang": { "en-us": { "role": { "label": "Business Combinations [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "periodEndLabel": "Cash and Cash Equivalents, at Carrying Value, Ending Balance", "periodStartLabel": "Cash and Cash Equivalents, at Carrying Value, Beginning Balance", "totalLabel": "Cash and Cash Equivalents, at Carrying Value, Total", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r40", "r165", "r662" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "periodEndLabel": "Cash, cash equivalents at end of period", "periodStartLabel": "Cash, cash equivalents at beginning of year", "totalLabel": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Total", "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": [ "r40", "r111", "r186" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect", "totalLabel": "Change in cash, cash equivalents and restricted cash", "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r5", "r111" ] }, "us-gaap_CashFDICInsuredAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFDICInsuredAmount", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Cash, FDIC Insured Amount", "terseLabel": "Cash deposits insured", "documentation": "The amount of cash deposited in financial institutions as of the balance sheet date that is insured by the Federal Deposit Insurance Corporation." } } }, "auth_ref": [] }, "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Change in accounting principle, ASU, adopted", "label": "Change in Accounting Principle, Accounting Standards Update, Adopted [true false]", "documentation": "Indicates (true false) whether accounting standards update was adopted." } } }, "auth_ref": [ "r152", "r153", "r154", "r157", "r158", "r197", "r244", "r245", "r248", "r249", "r250", "r256", "r257", "r283", "r412", "r424", "r425", "r438", "r439", "r440", "r451", "r452", "r462", "r469", "r470", "r472", "r473", "r474", "r484", "r488", "r489", "r490", "r494", "r515", "r516", "r547", "r548" ] }, "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Change in accounting principle, ASU, adoption date", "label": "Change in Accounting Principle, Accounting Standards Update, Adoption Date", "documentation": "Date accounting standards update was adopted, in YYYY-MM-DD format." } } }, "auth_ref": [ "r152", "r153", "r154", "r157", "r158", "r244", "r245", "r248", "r249", "r250", "r256", "r257", "r258", "r283", "r412", "r424", "r425", "r426", "r438", "r439", "r440", "r441", "r451", "r452", "r453", "r456", "r462", "r469", "r470", "r472", "r473", "r474", "r484", "r488", "r489", "r490", "r494", "r515", "r516", "r547", "r548", "r722" ] }, "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateImmaterialEffect": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateImmaterialEffect", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Change in accounting principle, ASU, material effect", "label": "Change in Accounting Principle, Accounting Standards Update, Immaterial Effect [true false]", "documentation": "Indicates (true false) whether effect from applying amendment to accounting standards is immaterial." } } }, "auth_ref": [ "r151", "r198", "r210", "r253", "r416" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "terseLabel": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies (Note 13)", "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": [ "r31", "r85", "r527", "r583" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r120", "r285", "r286", "r647", "r755" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r701", "r702", "r703", "r705", "r706", "r707", "r708", "r735", "r736", "r795", "r811", "r813" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r93" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "verboseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r93", "r584" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "totalLabel": "Common Stock, Shares, Issued, Total", "label": "Common Stock, Shares, Issued", "terseLabel": "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": [ "r93" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding", "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r15", "r93", "r584", "r602", "r813", "r814" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock: $0.005 par value; 500,000,000 shares authorized; 12,793,168 and 12,761,448 shares issued and outstanding as of March 31, 2024 and December 31, 2023, respectively", "periodEndLabel": "Common Stock, Value, Issued, Ending Balance", "periodStartLabel": "Common Stock, Value, Issued, Beginning Balance", "totalLabel": "Common Stock, Value, Issued, Total", "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": [ "r93", "r529", "r698" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive loss", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "terseLabel": "Comprehensive income (loss)", "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": [ "r35", "r174", "r176", "r182", "r521", "r537" ] }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerSoftwareIntangibleAssetMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Software Technology", "label": "Computer Software, Intangible Asset [Member]", "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks." } } }, "auth_ref": [ "r661", "r752", "r753" ] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r42", "r44", "r77", "r78", "r241", "r646" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r42", "r44", "r77", "r78", "r241", "r559", "r646" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Axis]", "terseLabel": "Concentration Risk Type", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r42", "r44", "r77", "r78", "r241", "r646", "r721" ] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Concentrations of Risk", "documentation": "Disclosure of accounting policy for credit risk." } } }, "auth_ref": [ "r87", "r145" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk percentage", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r42", "r44", "r77", "r78", "r241" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r42", "r44", "r77", "r78", "r241", "r646" ] }, "us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContingentConsiderationClassifiedAsEquityFairValueDisclosure", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Estimated fair value of contingent consideration", "label": "Contingent Consideration Classified as Equity, Fair Value Disclosure", "documentation": "Fair value of contingent consideration in a business combination that is classified in shareholders' equity." } } }, "auth_ref": [ "r74" ] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Changes in Deferred Revenue", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability." } } }, "auth_ref": [ "r764" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails": { "parentTag": "ssti_AccountsReceivableAndContractAssetCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract assets", "totalLabel": "Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total", "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r344", "r346", "r357" ] }, "us-gaap_ContractWithCustomerDurationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerDurationAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Duration [Axis]", "terseLabel": "Contract with Customer, Duration", "documentation": "Information by duration of contract with customer. Includes, but is not limited to, short-term and long-term contracts." } } }, "auth_ref": [ "r685", "r765" ] }, "us-gaap_ContractWithCustomerDurationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerDurationDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Duration [Domain]", "terseLabel": "Contract with Customer, Duration", "documentation": "Duration of contract with customer. Includes, but is not limited to, short-term and long-term contracts." } } }, "auth_ref": [ "r685", "r765" ] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Balance at the end of the year", "terseLabel": "Balance at the beginning of the year", "totalLabel": "Contract with Customer, Liability, Total", "label": "Contract with Customer, Liability", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r344", "r345", "r357" ] }, "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "New billings", "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Measure of Progress", "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in measure of progress which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r680" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue, short-term", "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": [ "r344", "r345", "r357" ] }, "ssti_ContractWithCustomerLiabilityForeignCurrencyImpact": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "ContractWithCustomerLiabilityForeignCurrencyImpact", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Foreign currency impact", "terseLabel": "Foreign currency impact", "label": "Contract With Customer Liability Foreign Currency Impact", "documentation": "Contract With Customer Liability Foreign Currency Impact" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Increase (Decrease) for Contract Acquired in Business Combination", "terseLabel": "Deferred revenues acquired (Note 4 - Acquisitions)", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination." } } }, "auth_ref": [ "r679" ] }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Noncurrent", "terseLabel": "Deferred revenue, long-term", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent." } } }, "auth_ref": [ "r344", "r345", "r357" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue recognized during the year from balance at the beginning of the year", "label": "Contract with Customer, Liability, Revenue Recognized", "negatedLabel": "Revenue recognized during the year", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r358" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_CostOfRevenue", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Cost of Goods and Services Sold, Total", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenues", "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": [ "r105", "r513" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfRevenue", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Cost of Revenue", "totalLabel": "Total costs", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r106", "r190", "r246", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r471", "r761" ] }, "us-gaap_CostOfRevenueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfRevenueAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Cost of Revenue [Abstract]", "terseLabel": "Costs" } } }, "auth_ref": [] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Cost of Sales [Member]", "terseLabel": "Cost of Revenues", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]" } } }, "auth_ref": [ "r191", "r192", "r306", "r332", "r504", "r664", "r666" ] }, "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": [] }, "us-gaap_CreditConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditConcentrationRiskMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Credit Concentration Risk [Member]", "terseLabel": "Credit Concentration Risk", "documentation": "Reflects the percentage that a specified receivable or amount at risk from a counterparty under a contractual arrangement is to a specified benchmark, such as total receivables, net revenues, pretax results. Risk is the materially adverse effects of loss attributable to (a) the failure to collect a significant receivable from a major customer or group of homogeneous accounts, or (b) a failure by a counterparty to perform under terms of a contractual arrangement." } } }, "auth_ref": [ "r131" ] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "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://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "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": [] }, "ssti_CreditFacilityExtendedMaturityDate": { "xbrltype": "dateItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "CreditFacilityExtendedMaturityDate", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit facility extended maturity date", "label": "Credit Facility Extended Maturity Date", "documentation": "Credit facility extended maturity date." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r43", "r241" ] }, "ssti_CustomerOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "CustomerOneMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer one.", "label": "Customer One [Member]", "terseLabel": "Customer One" } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "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": [ "r69" ] }, "ssti_CustomerThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "CustomerThreeMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Customer Three [Member]", "documentation": "Customer three.", "terseLabel": "Customer Three" } } }, "auth_ref": [] }, "ssti_CustomerTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "CustomerTwoMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Customer two.", "label": "Customer Two [Member]", "terseLabel": "Customer Two" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangements1" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "Financing Arrangements", "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": [ "r121", "r188", "r302", "r308", "r309", "r310", "r311", "r312", "r313", "r318", "r325", "r326", "r328" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r193", "r303", "r304", "r305", "r306", "r307", "r309", "r314", "r315", "r316", "r317", "r319", "r320", "r321", "r322", "r323", "r324", "r327", "r487", "r673", "r674", "r675", "r676", "r677", "r732" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "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": [ "r29", "r54", "r55", "r79", "r80", "r82", "r86", "r123", "r124", "r193", "r303", "r304", "r305", "r306", "r307", "r309", "r314", "r315", "r316", "r317", "r319", "r320", "r321", "r322", "r323", "r324", "r327", "r487", "r673", "r674", "r675", "r676", "r677", "r732" ] }, "us-gaap_DebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtWeightedAverageInterestRate", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Weighted Average Interest Rate", "terseLabel": "Weighted-average interest rate", "documentation": "Weighted average interest rate of debt outstanding." } } }, "auth_ref": [] }, "us-gaap_DeferredCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCosts", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails": { "parentTag": "us-gaap_OtherAssetsNoncurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Deferred Costs, Noncurrent, Total", "label": "Deferred Costs, Noncurrent", "terseLabel": "Deferred commissions", "documentation": "Amount of deferred cost, excluding capitalized cost related to contract with customer; classified as noncurrent." } } }, "auth_ref": [ "r132", "r725" ] }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables" ], "lang": { "en-us": { "role": { "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]", "terseLabel": "Schedule of Prepaid Expenses and Other Current Assets", "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs." } } }, "auth_ref": [] }, "us-gaap_DeferredCostsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCostsCurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": { "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Deferred Costs, Current, Total", "label": "Deferred Costs, Current", "terseLabel": "Deferred commissions", "documentation": "Sum of the carrying amounts as of the balance sheet date of deferred costs capitalized at the end of the reporting period that are expected to be charged against earnings within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r726" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred taxes", "label": "Deferred Income Tax Expense (Benefit)", "totalLabel": "Deferred Income Tax Expense (Benefit), Total", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r11", "r126", "r150", "r418", "r419", "r734" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liability", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r409", "r410", "r526" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation of property and equipment", "totalLabel": "Depreciation, Total", "label": "Depreciation", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r11", "r53" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "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": [ "r356", "r681", "r682", "r683", "r684", "r685", "r686", "r687" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table]", "terseLabel": "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": [ "r356", "r681", "r682", "r683", "r684", "r685", "r686", "r687" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlans" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Text Block]", "terseLabel": "Equity Incentive Plans", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r368", "r372", "r400", "r401", "r403", "r694" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Abstract]" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "terseLabel": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "terseLabel": "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://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "terseLabel": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r716" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "terseLabel": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "ssti_DomesticFinancialInstitutionOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "DomesticFinancialInstitutionOneMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Domestic financial institution one.", "label": "Domestic Financial Institution One [Member]", "terseLabel": "Domestic Financial Institution One" } } }, "auth_ref": [] }, "ssti_DomesticFinancialInstitutionThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "DomesticFinancialInstitutionThreeMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Domestic Financial Institution Three", "label": "Domestic Financial Institution Three [Member]", "documentation": "Domesticfinancialinstitutionthree." } } }, "auth_ref": [] }, "ssti_DomesticFinancialInstitutionTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "DomesticFinancialInstitutionTwoMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Domestic financial institution two.", "label": "Domestic Financial Institution Two [Member]", "terseLabel": "Domestic Financial Institution Two" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareSummaryOfComputationOfBasicAndDilutedNetIncomeLossPerShareDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss per share, basic", "totalLabel": "Earnings Per Share, Basic, Total", "label": "Earnings Per Share, Basic", "verboseLabel": "Net income 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": [ "r183", "r202", "r203", "r204", "r205", "r206", "r213", "r215", "r217", "r218", "r219", "r223", "r460", "r461", "r522", "r538", "r667" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareSummaryOfComputationOfBasicAndDilutedNetIncomeLossPerShareDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss per share, diluted", "totalLabel": "Earnings Per Share, Diluted, Total", "label": "Earnings Per Share, Diluted", "verboseLabel": "Net income 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": [ "r183", "r202", "r203", "r204", "r205", "r206", "r215", "r217", "r218", "r219", "r223", "r460", "r461", "r522", "r538", "r667" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShare" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "terseLabel": "Net Income (Loss) per Share", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r212", "r220", "r221", "r222" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "terseLabel": "Effect of exchange rate on cash and cash equivalents", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r797" ] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Employee Service Share Based Compensation Allocation Of Recognized Period Costs [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_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesOutstandingExcludedInCalculationOfDilutedNetIncomeLossPerShareDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Options to Purchase Common Stock", "verboseLabel": "Stock Options", "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_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine2": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine2", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line Two", "terseLabel": "Entity Address, Address Line Two", "documentation": "Address Line 2 such as Street or Suite number" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r713" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r713" ] }, "dei_EntityExTransitionPeriod": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityExTransitionPeriod", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Ex Transition Period", "terseLabel": "Entity Ex Transition Period", "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards." } } }, "auth_ref": [ "r718" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Securities Act File Number", "terseLabel": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "terseLabel": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r713" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "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": [ "r717" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r713" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "terseLabel": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r713" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "terseLabel": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r713" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r713" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "terseLabel": "Equity Component", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r15", "r159", "r177", "r178", "r179", "r194", "r195", "r196", "r199", "r207", "r209", "r224", "r252", "r259", "r343", "r404", "r405", "r406", "r414", "r415", "r442", "r444", "r445", "r446", "r447", "r449", "r459", "r477", "r478", "r479", "r480", "r481", "r482", "r498", "r549", "r550", "r551", "r569", "r627" ] }, "ssti_EscrowClaimReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "EscrowClaimReceivable", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails": { "parentTag": "us-gaap_OtherAssetsNoncurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Escrow claim (Note 4 - Acquisitions)", "label": "Escrow Claim Receivable", "documentation": "Escrow claim receivable." } } }, "auth_ref": [] }, "ssti_EscrowDepositDisbursementsRelatedToAcquisition": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "EscrowDepositDisbursementsRelatedToAcquisition", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of escrow deposit disbursements related to acquisition includes only cash", "label": "Escrow Deposit Disbursements Related To Acquisition", "terseLabel": "Indemnification escrow cash" } } }, "auth_ref": [] }, "ssti_FairValueAdjustmentOfContingentConsideration": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "FairValueAdjustmentOfContingentConsideration", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Fair value adjustment of contingent consideration.", "label": "Fair Value Adjustment Of Contingent Consideration", "terseLabel": "Contingent consideration", "verboseLabel": "Change in fair value of contingent consideration" } } }, "auth_ref": [] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r316", "r361", "r362", "r363", "r364", "r365", "r366", "r465", "r507", "r508", "r509", "r674", "r675", "r688", "r689", "r690" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r464", "r465", "r466", "r467", "r468" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurements" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements", "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": [ "r463" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Level 3", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r316", "r361", "r362", "r363", "r364", "r365", "r366", "r465", "r509", "r674", "r675", "r688", "r689", "r690" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]", "terseLabel": "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://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]", "terseLabel": "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": [ "r16", "r76" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Changes in Fair Value of Contingent Consideration Liabilities", "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": [ "r16", "r76" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPeriodIncreaseDecrease", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Change in fair value of contingent consideration", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Period Increase (Decrease)", "totalLabel": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Period Increase (Decrease), Total", "documentation": "Amount of increase (decrease) 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": [ "r16" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Purchases", "terseLabel": "Contingent consideration - Forensic Logic (Note 4 - Acquistions)", "documentation": "Amount of purchases 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": [ "r75" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payment of contingent consideration liability", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements", "documentation": "Amount of settlements 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": [ "r75" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityTransfersNet", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Transfers into or out of level 3", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Transfers, Net", "totalLabel": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Transfers, Net, Total", "documentation": "Amount of transfers of financial instrument classified as a liability into (out of) level 3 of the fair value hierarchy." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "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": [ "r16" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r316", "r361", "r362", "r363", "r364", "r365", "r366", "r507", "r508", "r509", "r674", "r675", "r688", "r689", "r690" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Fair Value Measurements Recurring", "terseLabel": "Fair Value Measurements Recurring", "label": "Fair Value, Recurring [Member]", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r463", "r468" ] }, "ssti_FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "FairValueOfCommonStockIssuedAsConsiderationForBusinessAcquisition", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Fair value of common stock issued as consideration for business acquisition.", "label": "Fair Value Of Common Stock Issued As Consideration For Business Acquisition", "terseLabel": "Fair value of common stock issued as consideration for acquisitions" } } }, "auth_ref": [] }, "ssti_FinancingReceivableAllowanceForCreditLossesAdjustment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "FinancingReceivableAllowanceForCreditLossesAdjustment", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails": { "parentTag": "ssti_AccountsReceivableAndContractAssetCurrent", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccountsReceivableAndContractAssetsNetDetails" ], "lang": { "en-us": { "role": { "documentation": "Financing receivable allowance for credit losses adjustment.", "terseLabel": "Allowance for potential credit losses", "label": "Financing Receivable Allowance for Credit Losses Adjustment", "negatedLabel": "Allowance for credit losses" } } }, "auth_ref": [] }, "ssti_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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": [] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Amortization Period (in years)", "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://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Amortization", "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": [ "r167", "r279" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" ], "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": [ "r118" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" ], "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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" ], "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": [ "r118" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" ], "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": [ "r118" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails" ], "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": [ "r118" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r276", "r278", "r279", "r281", "r514", "r518" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross", "totalLabel": "Finite-Lived Intangible Assets, Gross, Total", "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": [ "r117", "r518" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r514" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r49", "r51" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 }, "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Total", "totalLabel": "Net", "periodEndLabel": "Finite-Lived Intangible Assets, Net, Ending Balance", "periodStartLabel": "Finite-Lived Intangible Assets, Net, Beginning Balance", "label": "Finite-Lived Intangible Assets, Net", "verboseLabel": "Intangible assets, net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r117", "r514" ] }, "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets amortization period", "label": "Finite-Lived Intangible Assets, Remaining Amortization Period", "documentation": "Remaining amortization period 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": [ "r514" ] }, "ssti_ForensicLogicLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "ForensicLogicLlcMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsTables", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forensic Logic", "label": "Forensic Logic, LLC [Member]", "documentation": "Forensic logic, LLC." } } }, "auth_ref": [] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "General and Administrative Expense, Total", "label": "General and Administrative Expense", "terseLabel": "General and administrative", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r107", "r606" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "General and Administrative Expense [Member]", "terseLabel": "General and Administrative", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r102" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 }, "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "terseLabel": "Balance, end of year", "verboseLabel": "Balance, beginning of year", "totalLabel": "Goodwill, Total", "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": [ "r166", "r262", "r519", "r672", "r698", "r742", "r749" ] }, "us-gaap_GoodwillAcquiredDuringPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAcquiredDuringPeriod", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Acquired During Period", "verboseLabel": "Goodwill recorded on acquisition of LEEDS", "terseLabel": "Acquisition (Note 4 - Acquisitions)", "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination." } } }, "auth_ref": [ "r265", "r672" ] }, "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": [] }, "us-gaap_GoodwillDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillDisclosureTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwill" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Goodwill Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill." } } }, "auth_ref": [ "r261", "r263", "r273", "r672" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [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": [ "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r272", "r274", "r672" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r103", "r190", "r225", "r231", "r235", "r237", "r246", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r471", "r669", "r761" ] }, "ssti_ImpairmentOfPropertyAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "ImpairmentOfPropertyAndEquipment", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_CostOfRevenue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Impairment of property and equipment.", "label": "Impairment Of Property And Equipment", "terseLabel": "Impairment of property and equipment" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Loss before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r100", "r138", "r225", "r231", "r235", "r237", "r523", "r534", "r669" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r282", "r284", "r611" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r284", "r611" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Provision for income taxes", "label": "Income Tax Expense (Benefit)", "totalLabel": "Income Tax Expense (Benefit), Total", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r142", "r155", "r208", "r209", "r229", "r411", "r417", "r539" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Increase (Decrease) in Accounts Payable, Total", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r10" ] }, "ssti_IncreaseDecreaseInAccountsReceivableAndContractAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "IncreaseDecreaseInAccountsReceivableAndContractAsset", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts receivable and contract assets", "documentation": "Increase decrease in accounts receivable and contract asset.", "label": "Increase Decrease In Accounts Receivable And Contract Asset" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other liabilities", "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other." } } }, "auth_ref": [ "r731" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Deferred revenue", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r512", "r731" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Increase (Decrease) in Prepaid Expense and Other Assets, Total", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r10" ] }, "ssti_IncreaseInCommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "IncreaseInCommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Increase in common stock capital shares reserved for future issuance.", "label": "Increase In Common Stock Capital Shares Reserved For Future Issuance", "terseLabel": "Increase in common stock reserved for issuance" } } }, "auth_ref": [] }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite-Lived Intangible Assets [Axis]", "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r277", "r280" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. 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 the company." } } }, "auth_ref": [ "r50", "r119" ] }, "us-gaap_IndemnificationGuaranteeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndemnificationGuaranteeMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indemnification Escrow", "label": "Indemnification Agreement [Member]", "documentation": "An agreement (contract) that contingently requires the guarantor to make payments to the guaranteed party in compensation for that party's or parties' loss or injury attributable to specified events or actions, such as a patent infringement action against an entity that relied on certain representations as to ownership rights made by a software vendor." } } }, "auth_ref": [ "r760" ] }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNet1" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible Assets, Net", "label": "Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for all or part of the information related to intangible assets." } } }, "auth_ref": [ "r275" ] }, "us-gaap_IntellectualPropertyMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntellectualPropertyMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Intellectual Property [Member]", "terseLabel": "Intellectual Property", "documentation": "Intangible asset arising from original creative thought. Include, but is not limited to, trademarks, patents, and copyrights." } } }, "auth_ref": [ "r22" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Interest Expense, Total", "label": "Interest Expense", "terseLabel": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r81", "r140", "r180", "r228", "r486", "r612", "r709", "r812" ] }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Interest Income (Expense), Nonoperating, Net", "terseLabel": "Interest income (expense), net", "documentation": "The net amount of nonoperating interest income (expense)." } } }, "auth_ref": [] }, "ssti_LetterOfCreditSubfacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "LetterOfCreditSubfacilityMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letter of Credit Subfacility", "label": "Letter Of Credit Subfacility [Member]", "documentation": "Letter of credit subfacility." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total 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": [ "r26", "r190", "r246", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r433", "r436", "r437", "r471", "r582", "r668", "r711", "r761", "r799", "r800" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r98", "r137", "r532", "r698", "r733", "r739", "r796" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "Liabilities and Stockholders' Equity" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r28", "r164", "r190", "r246", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r433", "r436", "r437", "r471", "r698", "r761", "r799", "r800" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesFairValueDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Long-Term Line of Credit, Total", "label": "Long-Term Line of Credit", "terseLabel": "Credit facility outstanding", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r23", "r136", "r808" ] }, "us-gaap_LineOfCreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lender Name [Axis]", "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit." } } }, "auth_ref": [ "r25", "r732" ] }, "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityCurrentBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Current Borrowing Capacity", "terseLabel": "Credit facility current borrowing capacity under loan", "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility." } } }, "auth_ref": [ "r25" ] }, "us-gaap_LineOfCreditFacilityExpirationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityExpirationDate1", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Expiration Date", "verboseLabel": "Credit facility maturity date", "documentation": "Date the credit facility terminates, in YYYY-MM-DD format." } } }, "auth_ref": [ "r25" ] }, "us-gaap_LineOfCreditFacilityInitiationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityInitiationDate1", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Initiation Date", "terseLabel": "Credit agreement date", "documentation": "Date the credit facility first became available, in YYYY-MM-DD format." } } }, "auth_ref": [ "r25" ] }, "us-gaap_LineOfCreditFacilityLenderDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLenderDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Lender [Domain]", "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility." } } }, "auth_ref": [ "r25", "r732" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Credit facility maximum borrowing capacity under loan", "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": [ "r25" ] }, "us-gaap_LinesOfCreditCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LinesOfCreditCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Line of credit", "label": "Line of Credit, Current", "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r90", "r134" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "terseLabel": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingenciesByNatureOfContingencyAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Loss Contingency Nature [Axis]", "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur." } } }, "auth_ref": [ "r287", "r288", "r289", "r292", "r756", "r757" ] }, "us-gaap_LossContingencyNatureDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LossContingencyNatureDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Loss Contingency, Nature [Domain]", "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability." } } }, "auth_ref": [ "r287", "r288", "r289", "r292", "r756", "r757" ] }, "ssti_MaintenanceSupportAndProfessionalSoftwareDevelopmentServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "MaintenanceSupportAndProfessionalSoftwareDevelopmentServicesMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maintenance and Support Services and Professional Software Development Services", "label": "Maintenance, Support and Professional Software Development Services [Member]", "documentation": "Maintenance, Support and Professional Software Development Services." } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer" } } }, "auth_ref": [ "r241", "r683", "r765", "r809", "r810" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "auth_ref": [ "r288", "r289", "r290", "r291", "r367", "r511", "r546", "r574", "r575", "r634", "r636", "r638", "r639", "r641", "r657", "r658", "r670", "r678", "r693", "r700", "r763", "r801", "r802", "r803", "r804", "r805", "r806" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "auth_ref": [ "r288", "r289", "r290", "r291", "r367", "r511", "r546", "r574", "r575", "r634", "r636", "r638", "r639", "r641", "r657", "r658", "r670", "r678", "r693", "r700", "r763", "r801", "r802", "r803", "r804", "r805", "r806" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer" } } }, "auth_ref": [ "r241", "r683", "r765", "r809", "r810" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r185" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "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://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash 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": [ "r185" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) 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": [ "r111", "r112", "r113" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 0.0 }, "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareSummaryOfComputationOfBasicAndDilutedNetIncomeLossPerShareDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited", "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net loss", "verboseLabel": "Net loss", "terseLabel": "Net income (loss)", "label": "Net Income (Loss) Attributable to Parent", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r101", "r113", "r139", "r162", "r173", "r175", "r179", "r190", "r198", "r202", "r203", "r204", "r205", "r208", "r209", "r216", "r225", "r231", "r235", "r237", "r246", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r461", "r471", "r536", "r604", "r625", "r626", "r669", "r709", "r761" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareSummaryOfComputationOfBasicAndDilutedNetIncomeLossPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "terseLabel": "Numerator:" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Recent Accounting Pronouncements Adopted", "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": [] }, "us-gaap_NonUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonUsMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Non-US [Member]", "terseLabel": "International", "documentation": "Countries excluding the United States of America (US)." } } }, "auth_ref": [ "r815", "r816", "r817", "r818" ] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total other income (expense), net", "label": "Nonoperating Income (Expense)", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r108" ] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income (expense), net" } } }, "auth_ref": [] }, "ssti_NumberOfAgencies": { "xbrltype": "integerItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "NumberOfAgencies", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of agencies", "label": "Number of Agencies", "documentation": "Number of agencies" } } }, "auth_ref": [] }, "ssti_NumberOfCitiesInWhichEntityOperates": { "xbrltype": "integerItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "NumberOfCitiesInWhichEntityOperates", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of cities in which entity operates.", "label": "Number Of Cities In Which Entity Operates", "terseLabel": "Number of cities in which entity operates" } } }, "auth_ref": [] }, "ssti_NumberOfCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "NumberOfCustomers", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of customers.", "label": "Number Of Customers", "terseLabel": "Number of customers" } } }, "auth_ref": [] }, "ssti_NumberOfFinancialInstitutionsAtWhichCashDepositsAreMaintained": { "xbrltype": "integerItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "NumberOfFinancialInstitutionsAtWhichCashDepositsAreMaintained", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of financial institutions at which cash deposits are maintained", "label": "Number Of Financial Institutions At Which Cash Deposits Are Maintained", "documentation": "Number of financial institutions at which cash deposits are maintained.", "verboseLabel": "Number of financial institutions at which cash deposits are maintained" } } }, "auth_ref": [] }, "ssti_NumberOfSubsidiary": { "xbrltype": "integerItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "NumberOfSubsidiary", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of subsidiary.", "label": "Number Of Subsidiary", "terseLabel": "Number of subsidiary" } } }, "auth_ref": [] }, "ssti_NumberOfUniversitiesAndCorporationsInWhichEntityOperates": { "xbrltype": "integerItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "NumberOfUniversitiesAndCorporationsInWhichEntityOperates", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Number of universities and corporations in which entity operates.", "label": "Number Of Universities And Corporations In Which Entity Operates", "terseLabel": "Number of universities and corporations in which entity operates" } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Expenses", "totalLabel": "Total operating expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Operating loss", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r225", "r231", "r235", "r237", "r669" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities", "label": "Operating Lease, Liability, Current", "verboseLabel": "Lease liabilities (short-term) (presented within Accrued expenses and other current liabilities)", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r493" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails": { "parentTag": "us-gaap_OtherLiabilitiesNoncurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r493" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right-of-use assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r492" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusiness" ], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "terseLabel": "Organization and Description of Business", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r89", "r130", "r560", "r561" ] }, "us-gaap_OtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": { "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Other Assets, Current", "terseLabel": "Other", "documentation": "Amount of current assets classified as other." } } }, "auth_ref": [ "r171", "r698" ] }, "us-gaap_OtherAssetsMiscellaneousNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsMiscellaneousNoncurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails": { "parentTag": "us-gaap_OtherAssetsNoncurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Other Assets, Miscellaneous, Noncurrent", "terseLabel": "Other", "documentation": "Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 }, "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other assets", "totalLabel": "Total other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r168" ] }, "us-gaap_OtherAssetsNoncurrentDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrentDisclosureAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongtermAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent Disclosure [Abstract]", "terseLabel": "Other Assets Noncurrent Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited", "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Foreign currency translation loss", "totalLabel": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Total", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Change in foreign currency translation adjustment, net of taxes", "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": [ "r7" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive loss:", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "ssti_OtherGuidanceIssuedButNotYetAdoptedPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "OtherGuidanceIssuedButNotYetAdoptedPolicyPolicyTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Other Guidance Issued But Not Yet Adopted", "label": "Other Guidance Issued But Not Yet Adopted Policy [Policy Text Block]", "documentation": "Other Guidance Issued But Not Yet Adopted Policy." } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Other Liabilities, Current, Total", "label": "Other Liabilities, Current", "terseLabel": "Other", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r27", "r698" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 }, "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfOtherLongTermLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other liabilities", "totalLabel": "Other liabilities, noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r30" ] }, "us-gaap_OtherNoncurrentLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncurrentLiabilitiesMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other Liabilities", "label": "Other Noncurrent Liabilities [Member]", "documentation": "Primary financial statement caption encompassing other noncurrent liabilities." } } }, "auth_ref": [] }, "us-gaap_OtherNoncurrentLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncurrentLiabilitiesTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables" ], "lang": { "en-us": { "role": { "label": "Other Noncurrent Liabilities [Table Text Block]", "terseLabel": "Schedule of Other Long-term Liabilities", "documentation": "Tabular disclosure of other noncurrent liabilities." } } }, "auth_ref": [] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Other expense, net", "totalLabel": "Other Nonoperating Income (Expense), Total", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r109" ] }, "ssti_PatentsAndIntellectualPropertyMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "PatentsAndIntellectualPropertyMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "documentation": "Patents and Intellectual Property.", "label": "Patents and Intellectual Property [Member]", "terseLabel": "Patents and Intellectual Property" } } }, "auth_ref": [] }, "us-gaap_PatentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PatentsMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Patents", "label": "Patents [Member]", "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law." } } }, "auth_ref": [ "r129" ] }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payment for Contingent Consideration Liability, Financing Activities", "terseLabel": "Payment of contingent consideration liability", "negatedLabel": "Payment of contingent consideration liability", "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date." } } }, "auth_ref": [ "r9" ] }, "ssti_PaymentForInvestmentInIntangibleAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "PaymentForInvestmentInIntangibleAndOtherAssets", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Payment for investment in intangible and other assets.", "label": "Payment For Investment In Intangible And Other Assets", "negatedLabel": "Investment in intangible and other assets" } } }, "auth_ref": [] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Repurchases of common stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r38" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Business acquisition purchase consideration in cash", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r36", "r427" ] }, "us-gaap_PaymentsToAcquireProductiveAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireProductiveAssets", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Payments to Acquire Productive Assets, Total", "label": "Payments to Acquire Productive Assets", "terseLabel": "Asset acquisition purchase consideration in cash", "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets." } } }, "auth_ref": [ "r141", "r792", "r793", "r794" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property and equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r110" ] }, "ssti_PercentageOfAssetsFairValueAdjustment": { "xbrltype": "percentItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "PercentageOfAssetsFairValueAdjustment", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Percentage of assets, fair value adjustment", "label": "Percentage of Assets, Fair Value Adjustment", "documentation": "Percentage of assets, fair value adjustment." } } }, "auth_ref": [] }, "ssti_PercentageOfDiscountedCashFlows": { "xbrltype": "percentItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "PercentageOfDiscountedCashFlows", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Percentage of discounted cash flows", "documentation": "Percentage of discounted cash flows", "label": "Percentage of Discounted Cash Flows" } } }, "auth_ref": [] }, "ssti_PercentageOfRevenueVolatility": { "xbrltype": "percentItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "PercentageOfRevenueVolatility", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Percentage of revenue volatility", "label": "Percentage Of Revenue Volatility", "documentation": "Percentage of revenue volatility." } } }, "auth_ref": [] }, "ssti_PerformanceBasedRestrictedStockUnitRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "PerformanceBasedRestrictedStockUnitRSUMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Performance Based Restricted Stock Unit RSU.", "label": "Performance Based Restricted Stock Unit R S U [Member]", "verboseLabel": "Performance-based RSU" } } }, "auth_ref": [] }, "ssti_PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "PeriodicIncrementOfCommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Periodic increment of common stock capital shares reserved for future issuance.", "label": "Periodic Increment Of Common Stock Capital Shares Reserved For Future Issuance", "terseLabel": "Periodic increment of common stock reserved for future issuance" } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "terseLabel": "Plan Name", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "terseLabel": "Plan Name", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785", "r786", "r787", "r788", "r789", "r790", "r791" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r92", "r330" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares authorized", "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": [ "r92", "r584" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "totalLabel": "Preferred Stock, Shares Issued, Total", "label": "Preferred Stock, Shares Issued", "terseLabel": "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": [ "r92", "r330" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "periodEndLabel": "Preferred Stock, Shares Outstanding, Ending Balance", "periodStartLabel": "Preferred Stock, Shares Outstanding, Beginning Balance", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "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": [ "r92", "r584", "r602", "r813", "r814" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock: $0.005 par value; 20,000,000 shares authorized; no shares issued and outstanding as of March 31, 2024 and December 31, 2023, respectively", "label": "Preferred Stock, Value, Issued", "periodEndLabel": "Preferred Stock, Value, Issued, Ending Balance", "periodStartLabel": "Preferred Stock, Value, Issued, Beginning Balance", "totalLabel": "Preferred Stock, Value, Issued, Total", "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": [ "r92", "r528", "r698" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "totalLabel": "Total", "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": [ "r727" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrentAbstract", "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PrepaidInsurance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidInsurance", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": { "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Prepaid Insurance", "terseLabel": "Prepaid insurance", "documentation": "Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r663", "r671", "r740" ] }, "ssti_PrepaidSoftwareAndLicensesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "PrepaidSoftwareAndLicensesCurrent", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": { "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Prepaid software and licenses current.", "label": "Prepaid Software And Licenses Current", "terseLabel": "Prepaid software and licenses" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceInitialPublicOffering": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceInitialPublicOffering", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from initial public offering, net of commissions and discounts", "label": "Proceeds from Issuance Initial Public Offering", "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public." } } }, "auth_ref": [ "r8" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Proceeds from Lines of Credit, Total", "label": "Proceeds from Lines of Credit", "terseLabel": "Proceeds from line of credit", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r37", "r732" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercise of stock options", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r8", "r19" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r238", "r513", "r540", "r541", "r542", "r543", "r544", "r545", "r659", "r681", "r699", "r723", "r758", "r759", "r765", "r809" ] }, "us-gaap_ProductionRelatedImpairmentsOrCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductionRelatedImpairmentsOrCharges", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Production Related Impairments or Charges, Total", "label": "Production Related Impairments or Charges", "terseLabel": "Impairment of property and equipment", "documentation": "Nonrecurring impairment charges related to the write-off of production-related equipment and inventory. This tag is used when an Entity charges this cost to cost of goods sold." } } }, "auth_ref": [ "r104" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r238", "r513", "r540", "r541", "r542", "r543", "r544", "r545", "r659", "r681", "r699", "r723", "r758", "r759", "r765", "r809" ] }, "ssti_ProfessionalSoftwareDevelopmentServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "ProfessionalSoftwareDevelopmentServicesMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Professional software development services member", "documentation": "Professional software development services." } } }, "auth_ref": [] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Net loss", "totalLabel": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income (loss)", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r162", "r173", "r175", "r184", "r190", "r198", "r208", "r209", "r225", "r231", "r235", "r237", "r246", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r431", "r434", "r435", "r461", "r471", "r523", "r535", "r568", "r604", "r625", "r626", "r669", "r696", "r697", "r710", "r730", "r761" ] }, "ssti_PropertyAndEquipmentPurchasesIncludedInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "PropertyAndEquipmentPurchasesIncludedInAccountsPayable", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment purchases included in accounts payable", "documentation": "Property and equipment purchases included in accounts payable.", "label": "Property And Equipment Purchases Included In Accounts Payable" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "periodEndLabel": "Property, Plant and Equipment, Net, Ending Balance", "periodStartLabel": "Property, Plant and Equipment, Net, Beginning Balance", "totalLabel": "Property, Plant and Equipment, Net, Total", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r12", "r524", "r533", "r698" ] }, "us-gaap_ProvisionForLoanLossesExpensed": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForLoanLossesExpensed", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "label": "Financing Receivable, Credit Loss, Expense (Reversal)", "terseLabel": "Allowance for credit losses", "documentation": "Amount of credit loss expense (reversal of expense) for financing receivable." } } }, "auth_ref": [ "r260", "r520" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement" } } }, "auth_ref": [ "r288", "r289", "r290", "r291", "r360", "r367", "r395", "r396", "r397", "r510", "r511", "r546", "r574", "r575", "r634", "r636", "r638", "r639", "r641", "r657", "r658", "r670", "r678", "r693", "r700", "r703", "r754", "r763", "r802", "r803", "r804", "r805", "r806" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureOrganizationAndDescriptionOfBusinessAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement" } } }, "auth_ref": [ "r288", "r289", "r290", "r291", "r360", "r367", "r395", "r396", "r397", "r510", "r511", "r546", "r574", "r575", "r634", "r636", "r638", "r639", "r641", "r657", "r658", "r670", "r678", "r693", "r700", "r703", "r754", "r763", "r802", "r803", "r804", "r805", "r806" ] }, "ssti_RecentAccountingPronouncementsNotYetEffectivePolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "RecentAccountingPronouncementsNotYetEffectivePolicyPolicyTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Recent accounting pronouncements not yet effective.", "label": "Recent Accounting Pronouncements Not Yet Effective Policy Policy [Text Block]", "terseLabel": "Recent Accounting Pronouncements Not Yet Effective" } } }, "auth_ref": [] }, "ssti_RecognitionFromBeginningDeferredRevenueBalanceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "RecognitionFromBeginningDeferredRevenueBalanceMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Recognition from beginning deferred revenue balance.", "label": "Recognition From Beginning Deferred Revenue Balance [Member]", "terseLabel": "Recognition From Balance at the Beginning of the Year" } } }, "auth_ref": [] }, "ssti_RecognitionFromNewBillingsOfDeferredRevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "RecognitionFromNewBillingsOfDeferredRevenueMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfChangesInDeferredRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Recognition from new billings of deferred revenue.", "label": "Recognition From New Billings Of Deferred Revenue [Member]", "terseLabel": "Revenue Recognized During the Year from New Billings" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionAmountsOfTransaction": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionAmountsOfTransaction", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Related Party Transaction, Amounts of Transaction", "terseLabel": "Related party transactions", "documentation": "Amount of transactions with related party during the financial reporting period." } } }, "auth_ref": [ "r84", "r502" ] }, "us-gaap_RelatedPartyTransactionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Related Party Transaction [Axis]", "terseLabel": "Related Party Transaction", "documentation": "Information by type of related party transaction." } } }, "auth_ref": [ "r502", "r503", "r798" ] }, "us-gaap_RelatedPartyTransactionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Related Party Transaction [Domain]", "terseLabel": "Related Party Transaction", "documentation": "Transaction between related party." } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Related Party Transaction [Line Items]", "terseLabel": "Related Party Transaction [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r607", "r608", "r611" ] }, "us-gaap_RelatedPartyTransactionsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsAbstract", "lang": { "en-us": { "role": { "label": "Related Party Transactions [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RelatedPartyTransactionsDisclosureTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactions" ], "lang": { "en-us": { "role": { "label": "Related Party Transactions Disclosure [Text Block]", "terseLabel": "Related Party Transactions", "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r499", "r500", "r501", "r503", "r505", "r565", "r566", "r567", "r609", "r610", "r611", "r631", "r633" ] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedLabel": "Payment of line of credit", "terseLabel": "Payment of line of credit costs", "label": "Repayments of Lines of Credit", "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r39", "r732" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]" } } }, "auth_ref": [ "r191", "r192", "r306", "r332", "r504", "r665", "r666" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Research and Development Expense, Total", "label": "Research and Development Expense", "terseLabel": "Research and development", "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use." } } }, "auth_ref": [ "r88", "r408", "r807" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense [Member]", "terseLabel": "Research and Development", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Unit", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "periodEndLabel": "Retained Earnings (Accumulated Deficit), Ending Balance", "periodStartLabel": "Retained Earnings (Accumulated Deficit), Beginning Balance", "totalLabel": "Retained Earnings (Accumulated Deficit), Total", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r95", "r125", "r531", "r553", "r558", "r564", "r585", "r698" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r159", "r194", "r195", "r196", "r199", "r207", "r209", "r252", "r259", "r404", "r405", "r406", "r414", "r415", "r442", "r445", "r446", "r449", "r459", "r549", "r551", "r569", "r813" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "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://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Revenue from Contract with Customer, Excluding Assessed Tax, Total", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenues", "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": [ "r226", "r227", "r230", "r233", "r234", "r238", "r239", "r241", "r355", "r356", "r513" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosures" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue Related Disclosures", "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": [ "r156", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r359" ] }, "ssti_RevenueFromRelatedParty": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "RevenueFromRelatedParty", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Revenue from related party.", "label": "Revenue from Related Party", "terseLabel": "Revenue from related parties" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Estimated remaining performance obligations for contractually committed revenues", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r148" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Estimated remaining performance obligations for contractually committed revenues recognition period", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r149" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r149" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenues1Details", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresScheduleOfRemainingPerformanceObligationsForContractuallyCommittedRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Table]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureRevenueRelatedDisclosuresTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Remaining Performance Obligations for Contractually Committed Revenues", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]", "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [ "r719" ] }, "us-gaap_Revenues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Revenues", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Revenue from related parties", "totalLabel": "Revenues, Total", "label": "Revenues", "terseLabel": "Revenues", "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)." } } }, "auth_ref": [ "r181", "r190", "r226", "r227", "r230", "r233", "r234", "r238", "r239", "r241", "r246", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r471", "r523", "r761" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Facility", "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": [] }, "ssti_SafepointeLLCMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "SafepointeLLCMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsTables", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFairValueMeasurementsSummaryOfChangesInFairValueOfContingentConsiderationLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Safepointe L L C.", "label": "SafePointe L L C [Member]", "terseLabel": "SafePointe, LLC" } } }, "auth_ref": [] }, "us-gaap_SalesAndExciseTaxPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesAndExciseTaxPayableCurrent", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Sales and Excise Tax Payable, Current", "terseLabel": "Sales/ use tax payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r24" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue Benchmark [Member]", "terseLabel": "Revenues", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r241", "r720" ] }, "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of Accrued Expenses and Other Current Liabilities", "documentation": "Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses." } } }, "auth_ref": [] }, "ssti_ScheduleOfAccountsReceivableAndContractAssetTableTextblock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "ScheduleOfAccountsReceivableAndContractAssetTableTextblock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Accounts Receivable and Contract Assets, Net", "label": "Schedule of Accounts Receivable and Contract Asset [Table TextBlock]", "documentation": "Schedule of accounts receivable and contract asset." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesOutstandingExcludedInCalculationOfDilutedNetIncomeLossPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities." } } }, "auth_ref": [ "r41" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Anti-dilutive Shares Outstanding Excluded in Calculation of Diluted Net Loss per Share", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities." } } }, "auth_ref": [ "r41" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "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": [ "r63", "r65", "r422" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Summary of Computation of Basic and Diluted Net Income (Loss) per Share", "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": [ "r738" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Schedule Of Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Table]", "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements." } } }, "auth_ref": [ "r59" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables" ], "lang": { "en-us": { "role": { "verboseLabel": "Schedule of Stock-Based Compensation Expense Recorded in Consolidated Statements of Operations", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "terseLabel": "Schedule of Stock-Based Compensation Expense for All Award Types Recorded in Consolidated Statements of Operations", "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement." } } }, "auth_ref": [ "r59" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfFutureIntangibleAssetAmortizationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "lang": { "en-us": { "role": { "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": [ "r49", "r51", "r514" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Intangible Assets Net", "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": [ "r49", "r51" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillScheduleOfChangesInGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table]", "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons." } } }, "auth_ref": [ "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r272", "r274", "r672" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureGoodwillTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Changes in Goodwill", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r672", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r748", "r749", "r750", "r751" ] }, "us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIndefiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Indefinite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance and exist in perpetuity." } } }, "auth_ref": [ "r20", "r119" ] }, "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Schedule of Unvested Restricted Stock Units Awards Activity", "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units." } } }, "auth_ref": [ "r58" ] }, "us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfOtherAssetsNoncurrentTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Other Long-term Assets", "label": "Schedule of Other Assets, Noncurrent [Table Text Block]", "documentation": "Tabular disclosure of noncurrent assets." } } }, "auth_ref": [ "r725" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of Assignment of Fair Value to Identified Assets and Liabilities", "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": [ "r128" ] }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Related Party Transactions, by Related Party [Table]", "terseLabel": "Schedule Of Related Party Transactions By Related Party [Table]", "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates." } } }, "auth_ref": [ "r83", "r84", "r607", "r608", "r611" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "terseLabel": "Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r369", "r371", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansTables" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Schedule of Stock Option Activity", "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value." } } }, "auth_ref": [ "r17", "r18", "r57" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Future Intangible Asset 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": [ "r51" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "terseLabel": "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://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "terseLabel": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r714" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical" } } }, "auth_ref": [ "r239", "r240", "r571", "r572", "r573", "r635", "r637", "r640", "r642", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r660", "r682", "r703", "r765", "r809" ] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Selling and Marketing Expense, Total", "label": "Selling and Marketing Expense", "terseLabel": "Sales and marketing", "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockBasedCompensationExpenseRecordedInCondensedConsolidatedStatementsOfOperationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and Marketing", "label": "Selling and Marketing Expense [Member]", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r102" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Share-based Payment Arrangement, Noncash Expense, Total", "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r10" ] }, "us-gaap_ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAllocationAndClassificationInFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Recognized Amount [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Cancelled restricted stock units", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedTerseLabel": "Number of RSUs, Forfeited", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r389" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted Average Grant Date Fair Value per RSU, Forfeited", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r389" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Number of Restricted Stock Units, Granted", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Number of RSUs, Granted", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r387" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted Average Grant Date Fair Value per RSU, Granted", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Grant Date Fair Value, Granted", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r387" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodStartLabel": "Number of RSUs, Beginning Balance", "periodEndLabel": "Number of RSUs, Ending Balance", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r384", "r385" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Weighted Average Grant Date Fair Value per RSU, Beginning Balance", "periodEndLabel": "Weighted Average Grant Date Fair Value per RSU, Ending Balance", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r384", "r385" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of Restricted Stock Units, Vested", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Number of RSUs, Vested", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r388" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value", "terseLabel": "Aggregate Fair Value of RSUs' Vested", "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash." } } }, "auth_ref": [ "r391" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted Average Grant Date Fair Value per RSU, Vested", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r388" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r369", "r371", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares available for future grant", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r56" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Intrinsic Value Exercised", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value", "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares." } } }, "auth_ref": [ "r391" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period", "verboseLabel": "Number of common stock shares canceled", "negatedLabel": "Number of Options Outstanding, Canceled", "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan." } } }, "auth_ref": [ "r382" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Number of Options Outstanding, Granted", "verboseLabel": "RSU Awards granted", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r380" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Grant Date Fair Value per Option, Granted", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology." } } }, "auth_ref": [ "r390" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Number of Options Outstanding, Beginning Balance", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Number of Options Outstanding, Ending Balance", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r376", "r377" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Weighted Average Exercise Price, Ending Balance", "periodStartLabel": "Weighted Average Exercise Price, Beginning Balance", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r376", "r377" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Percentage of number of shares of common stock outstanding", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Percentage of Outstanding Stock Maximum", "documentation": "Maximum number of shares that may be issued in accordance with the plan as a proportion of outstanding capital stock." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Recognized net incremental compensation expense", "label": "Share-Based Payment Arrangement, Plan Modification, Incremental Cost", "documentation": "An excess of the fair value of the modified award over the fair value of the award immediately before the modification." } } }, "auth_ref": [ "r402" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureEquityIncentivePlansScheduleOfUnvestedRestrictedStockUnitsAwardsActivityDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "Award Type", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price, Exercised", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r381" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price, Canceled", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated." } } }, "auth_ref": [ "r382" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Weighted Average Exercise Price, Granted", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r380" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAcceleratedVestingNumber", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Accelerated Vesting, Number", "terseLabel": "Accelerated vesting", "documentation": "Number of shares for which recognition of cost was accelerated for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage", "terseLabel": "Vesting terms percentage", "documentation": "Percentage of vesting of award under share-based payment arrangement." } } }, "auth_ref": [ "r766" ] }, "ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate": { "xbrltype": "dateItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseEndDate", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Shares of common stock reserved for issuance, automatic annual increase end date.", "label": "Shares Of Common Stock Reserved For Issuance Automatic Annual Increase End Date", "terseLabel": "Shares of common stock reserved for issuance, automatic annual increase end date" } } }, "auth_ref": [] }, "ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod": { "xbrltype": "gMonthDayItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseInitiationPeriod", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Shares of common stock reserved for issuance automatic annual increase initiation period.", "label": "Shares Of Common Stock Reserved For Issuance Automatic Annual Increase Initiation Period", "terseLabel": "Shares of common stock reserved for issuance, automatic annual increase initiation period" } } }, "auth_ref": [] }, "ssti_SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate": { "xbrltype": "dateItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "SharesOfCommonStockReservedForIssuanceAutomaticAnnualIncreaseStartDate", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares of common stock reserved for issuance, automatic annual increase start date", "label": "Shares Of Common Stock Reserved For Issuance Automatic Annual Increase Start Date", "documentation": "Shares of common stock reserved for issuance automatic annual increase start date." } } }, "auth_ref": [] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Shares, Outstanding", "periodEndLabel": "Ending balance, Shares", "periodStartLabel": "Beginning balance, Shares", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "ssti_ShortTermDeposits": { "xbrltype": "monetaryItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "ShortTermDeposits", "crdr": "debit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails": { "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccountsScheduleOfPrepaidExpensesAndOtherCurrentAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term deposits", "label": "Short Term Deposits", "documentation": "Short-term deposits." } } }, "auth_ref": [] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r114", "r187" ] }, "ssti_SoundthinkingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "SoundthinkingMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRelatedPartyTransactionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "SoundThinking.", "label": "SoundThinking [Member]", "terseLabel": "SoundThinking" } } }, "auth_ref": [] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r15", "r32", "r159", "r177", "r178", "r179", "r194", "r195", "r196", "r199", "r207", "r209", "r224", "r252", "r259", "r343", "r404", "r405", "r406", "r414", "r415", "r442", "r444", "r445", "r446", "r447", "r449", "r459", "r477", "r478", "r479", "r480", "r481", "r482", "r498", "r549", "r550", "r551", "r569", "r627" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical" } } }, "auth_ref": [ "r239", "r240", "r571", "r572", "r573", "r635", "r637", "r640", "r642", "r645", "r648", "r649", "r650", "r651", "r652", "r653", "r654", "r655", "r656", "r660", "r682", "r703", "r765", "r809" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r194", "r195", "r196", "r224", "r513", "r562", "r570", "r576", "r577", "r578", "r579", "r580", "r581", "r584", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r597", "r598", "r599", "r600", "r601", "r603", "r605", "r606", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r627", "r704" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "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": { "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": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "terseLabel": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r194", "r195", "r196", "r224", "r513", "r562", "r570", "r576", "r577", "r578", "r579", "r580", "r581", "r584", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r597", "r598", "r599", "r600", "r601", "r603", "r605", "r606", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r623", "r624", "r627", "r704" ] }, "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesAcquisitions", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "verboseLabel": "Issuance of common stock for acquisition, Shares", "label": "Stock Issued During Period, Shares, Acquisitions", "terseLabel": "Issuance of common stock from acquisitions, Shares", "documentation": "Number of shares of stock issued during the period pursuant to acquisitions." } } }, "auth_ref": [ "r92", "r93", "r125" ] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Issuance of common stock from ESPP purchase, Shares", "verboseLabel": "Shares issued under ESPP", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r15", "r92", "r93", "r125" ] }, "ssti_StockIssuedDuringPeriodSharesRestrictedStockAwardVesting": { "xbrltype": "sharesItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardVesting", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "documentation": "Stock issued during period shares restricted stock award vesting.", "label": "Stock Issued During Period Shares Restricted Stock Award Vesting", "terseLabel": "Issuance of common stock from RSUs vested, Shares" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansScheduleOfStockOptionActivityDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "terseLabel": "Exercise of stock options, Shares", "negatedLabel": "Number of Options Outstanding, Exercised", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r15", "r92", "r93", "r125", "r381" ] }, "us-gaap_StockIssuedDuringPeriodValueAcquisitions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueAcquisitions", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Acquisitions", "terseLabel": "Issuance of common stock from acquisitions", "documentation": "Value of stock issued pursuant to acquisitions during the period." } } }, "auth_ref": [ "r15", "r32", "r125" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock from ESPP purchases", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r15", "r92", "r93", "r125" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Exercise of stock options", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r15", "r32", "r125" ] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Shares", "terseLabel": "Repurchase of common stock", "negatedLabel": "Repurchase of common stock, 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", "r92", "r93", "r125", "r563", "r627", "r643" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Value", "terseLabel": "Repurchase of common stock amount", "negatedLabel": "Repurchase of common stock", "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", "r92", "r93", "r125", "r569", "r627", "r643", "r710" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders' equity", "label": "Equity, Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r93", "r96", "r97", "r115", "r586", "r602", "r628", "r629", "r698", "r711", "r733", "r739", "r796", "r813" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureStockRepurchaseProgram" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock Repurchase Program", "label": "Equity [Text Block]", "terseLabel": "Capital Stock", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r122", "r189", "r329", "r331", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r450", "r630", "r632", "r644" ] }, "ssti_SubscriptionMaintenanceAndSupportServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "SubscriptionMaintenanceAndSupportServicesMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Subscription, maintenance and support services Member", "documentation": "Subscription, maintenance, and support services." } } }, "auth_ref": [] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Member]", "verboseLabel": "Subsequent Event", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r483", "r506" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r483", "r506" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r483", "r506" ] }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureDetailsOfCertainCondensedConsolidatedBalanceSheetAccounts" ], "lang": { "en-us": { "role": { "label": "Supplemental Balance Sheet Disclosures [Text Block]", "terseLabel": "Details of Certain Condensed Consolidated Balance Sheet Accounts", "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity." } } }, "auth_ref": [ "r724" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental cash flow disclosures:", "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "ssti_TechnologicSolutionsLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "TechnologicSolutionsLlcMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureFairValueMeasurementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Technologic", "label": "Technologic Solutions LLC [Member]", "documentation": "Technologic solutions LLC" } } }, "auth_ref": [] }, "us-gaap_TechnologyBasedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TechnologyBasedIntangibleAssetsMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Technology-Based Intangible Assets [Member]", "terseLabel": "Software technology", "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights." } } }, "auth_ref": [ "r21" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsSummaryOfAssignmentOfFairValueToIdentifiedAssetsAndLiabilitiesDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureIntangibleAssetsNetScheduleOfIntangibleAssetsNetDetails" ], "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": [ "r68" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "terseLabel": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ssti_TwoThousandAndSeventeenEmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "TwoThousandAndSeventeenEmployeeStockPurchasePlanMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Two thousand and seventeen employee stock purchase plan.", "label": "Two Thousand And Seventeen Employee Stock Purchase Plan [Member]", "terseLabel": "2017 Employee Stock Purchase Plan" } } }, "auth_ref": [] }, "ssti_TwoThousandSeventeenEquityIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "TwoThousandSeventeenEquityIncentivePlanMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureEquityIncentivePlansAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "2017 Equity Incentive Plan.", "label": "Two Thousand Seventeen Equity Incentive Plan [Member]", "terseLabel": "2017 Equity Incentive Plan" } } }, "auth_ref": [] }, "us-gaap_TypeOfAdoptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TypeOfAdoptionMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Accounting Standards Update [Domain]", "documentation": "Amendment to accounting standards." } } }, "auth_ref": [ "r157", "r158", "r159", "r160", "r161", "r198", "r199", "r200", "r201", "r211", "r244", "r245", "r249", "r250", "r251", "r252", "r254", "r255", "r256", "r257", "r258", "r259", "r283", "r404", "r405", "r406", "r412", "r413", "r414", "r415", "r424", "r425", "r426", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r469", "r470", "r473", "r474", "r475", "r476", "r484", "r485", "r488", "r489", "r490", "r491", "r494", "r495", "r496", "r497", "r498", "r515", "r516", "r517", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States" } } }, "auth_ref": [] }, "country_UY": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "UY", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Uruguay", "label": "URUGUAY" } } }, "auth_ref": [] }, "ssti_UmpquaCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "UmpquaCreditAgreementMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureAcquisitionsAdditionalInformationDetails", "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureFinancingArrangementsAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Umpqua Credit Agreement", "label": "Umpqua Credit Agreement [Member]", "documentation": "Umpqua credit agreement." } } }, "auth_ref": [] }, "ssti_UnvestedRestrictedStockUnitsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.soundthinking.com/20240331", "localname": "UnvestedRestrictedStockUnitsMember", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareScheduleOfAntidilutiveSharesOutstandingExcludedInCalculationOfDilutedNetIncomeLossPerShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Unvested restricted stock units.", "label": "Unvested Restricted Stock Units [Member]", "terseLabel": "Unvested Restricted Stock Units" } } }, "auth_ref": [] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates", "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": [ "r45", "r46", "r47", "r143", "r144", "r146", "r147" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareSummaryOfComputationOfBasicAndDilutedNetIncomeLossPerShareDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted-average shares used in computing net loss per share, diluted", "label": "Weighted Average Number of Shares Outstanding, Diluted", "totalLabel": "Weighted-average shares outstanding, diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r214", "r219" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareSummaryOfComputationOfBasicAndDilutedNetIncomeLossPerShareDetails", "http://www.soundthinking.com/20240331/taxonomy/role/Role_StatementCondensedConsolidatedStatementsOfOperationsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted-average shares used in computing net loss per share, basic", "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total", "label": "Weighted Average Number of Shares Outstanding, Basic", "verboseLabel": "Weighted-average shares outstanding, basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r213", "r219" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/DisclosureNetIncomeLossPerShareSummaryOfComputationOfBasicAndDilutedNetIncomeLossPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]", "terseLabel": "Denominator:" } } }, "auth_ref": [] }, "country_ZA": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "ZA", "presentation": [ "http://www.soundthinking.com/20240331/taxonomy/role/Role_DisclosureRevenueRelatedDisclosuresAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "SOUTH AFRICA", "terseLabel": "South Africa" } } }, "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": "35", "Paragraph": "1", "Subparagraph": "b", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r5": { "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" }, "r6": { "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" }, "r7": { "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" }, "r8": { "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" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(f)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "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": "(c)", "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": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b),(d)", "SubTopic": "30", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3" }, "r21": { "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" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "44", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-44" }, "r23": { "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" }, "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(a))", "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.19(b),22(b))", "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.19-26)", "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.20)", "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.21)", "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.22)", "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.24)", "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.25)", "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": "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" }, "r33": { "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" }, "r34": { "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" }, "r35": { "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" }, "r36": { "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" }, "r37": { "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" }, "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": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r40": { "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" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20" }, "r45": { "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" }, "r46": { "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" }, "r47": { "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" }, "r48": { "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" }, "r49": { "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" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r51": { "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" }, "r52": { "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" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r54": { "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" }, "r55": { "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" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "25", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-23" }, "r63": { "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" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r65": { "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" }, "r66": { "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" }, "r67": { "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" }, "r68": { "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" }, "r69": { "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" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-5" }, "r71": { "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" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r76": { "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" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r79": { "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" }, "r80": { "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" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r82": { "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" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r85": { "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" }, "r86": { "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" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "825", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "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(19))", "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(20))", "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(28))", "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(29))", "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)(a)(1))", "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(30)(a)(3))", "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(30))", "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(31))", "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(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r99": { "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" }, "r100": { "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" }, "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(20))", "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(4))", "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.1,2)", "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))", "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.2(a),(d))", "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.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r107": { "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" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r109": { "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" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r115": { "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" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r117": { "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" }, "r118": { "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" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r123": { "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" }, "r124": { "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" }, "r125": { "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" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r128": { "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" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r130": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r131": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r133": { "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" }, "r134": { "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" }, "r135": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r140": { "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.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r146": { "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" }, "r147": { "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" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "SubTopic": "20", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "326", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-3" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "326", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-3" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-4" }, "r155": { "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" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r159": { "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" }, "r160": { "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" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r188": { "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" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r198": { "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" }, "r199": { "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" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r202": { "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" }, "r203": { "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" }, "r204": { "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" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-3" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2" }, "r246": { "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" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-1" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-2" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r252": { "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" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r259": { "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" }, "r260": { "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" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350-20/tableOfContent" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r275": { "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" }, "r276": { "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" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r278": { "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" }, "r279": { "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" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r281": { "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" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147477123/405-50-65-1" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r285": { "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" }, "r286": { "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" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1" }, "r288": { "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" }, "r289": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "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" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r405": { "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" }, "r406": { "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" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1" }, "r409": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r414": { "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" }, "r415": { "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" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r417": { "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" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479845/805-20-65-3" }, "r427": { "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" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-5" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r442": { "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" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r449": { "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" }, "r450": { "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" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2" }, "r463": { "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" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r465": { "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" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r467": { "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" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482477/820-10-65-13" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482477/820-10-65-13" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-5" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "832", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483482/832-10-65-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "832", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483482/832-10-65-1" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r487": { "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" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5" }, "r492": { "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" }, "r493": { "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" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r498": { "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" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//850/tableOfContent" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r504": { "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" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-6" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11" }, "r513": { "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" }, "r514": { "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" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2" }, "r518": { "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" }, "r519": { "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" }, "r520": { "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(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r521": { "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" }, "r522": { "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" }, "r523": { "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" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r530": { "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" }, "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)(23)(a)(4))", "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)(25))", "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)(8))", "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": "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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" }, "r538": { "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" }, "r539": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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" }, "r546": { "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" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r549": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r553": { "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" }, "r554": { "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" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r558": { "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" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2" }, "r562": { "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" }, "r563": { "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" }, "r564": { "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" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-2" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-5" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-6" }, "r568": { "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" }, "r569": { "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" }, "r570": { "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" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r574": { "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" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r580": { "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" }, "r581": { "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" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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" }, "r590": { "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" }, "r591": { "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" }, "r592": { "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" }, "r593": { "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" }, "r594": { "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" }, "r595": { "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" }, "r596": { "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" }, "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(9)(b))", "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(9)(c))", "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(9)(d))", "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(9)(e))", "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": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r612": { "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(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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" }, "r627": { "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" }, "r628": { "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" }, "r629": { "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" }, "r630": { "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" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r632": { "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" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r634": { "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" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r636": { "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" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r638": { "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" }, "r639": { "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" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r641": { "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" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r643": { "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" }, "r644": { "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" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2" }, "r647": { "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" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r656": { "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 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r657": { "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" }, "r658": { "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" }, "r659": { "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" }, "r660": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r661": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(b)", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r662": { "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" }, "r663": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r664": { "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" }, "r665": { "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" }, "r666": { "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" }, "r667": { "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" }, "r668": { "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" }, "r669": { "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" }, "r670": { "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" }, "r671": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "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" }, "r677": { "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" }, "r678": { "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" }, "r679": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r680": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "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": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479908/805-50-55-1" }, "r696": { "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" }, "r697": { "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" }, "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": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r717": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r718": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "7A", "Section": "B", "Subsection": "2" }, "r719": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r720": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r721": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r722": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r723": { "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" }, "r724": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//210/tableOfContent" }, "r725": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r726": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r730": { "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" }, "r731": { "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" }, "r732": { "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" }, "r733": { "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" }, "r734": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r735": { "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" }, "r736": { "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" }, "r737": { "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" }, "r738": { "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" }, "r739": { "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" }, "r740": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1" }, "r741": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r742": { "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" }, "r743": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r744": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r745": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r746": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r747": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r748": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r749": { "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" }, "r750": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r751": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r752": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r753": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r754": { "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" }, "r755": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r756": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r757": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r758": { "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" }, "r759": { "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" }, "r760": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3" }, "r761": { "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" }, "r762": { "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" }, "r763": { "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" }, "r764": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r765": { "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" }, "r766": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r767": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r768": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r769": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r770": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r771": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r772": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r773": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r774": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r775": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r776": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r777": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r778": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r779": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r780": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r781": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r782": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r783": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r784": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r785": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r786": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r787": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r788": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r789": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r790": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r791": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r792": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480060/805-50-25-1" }, "r793": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-1" }, "r794": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "805", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480027/805-50-30-2" }, "r795": { "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" }, "r796": { "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" }, "r797": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r798": { "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" }, "r799": { "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" }, "r800": { "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" }, "r801": { "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" }, "r802": { "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" }, "r803": { "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" }, "r804": { "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" }, "r805": { "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" }, "r806": { "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" }, "r807": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1" }, "r808": { "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" }, "r809": { "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" }, "r810": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r811": { "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" }, "r812": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r813": { "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" }, "r814": { "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" }, "r815": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r816": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r817": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r818": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" } } } ZIP 71 0000950170-24-060537-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0000950170-24-060537-xbrl.zip M4$L#!!0 ( !J$KUBI=>Q 0A<" -MG& 1 '^T_\]/>X57^.P*@?]G_], M=O&?B]CW@U#VO_S\Y_W#@S=O_OQ_?_F7G_XW0L7+UV_>%>_BMV+?C\JO\659 M^=Z@&@]C\QV*.8K_B8?U45'V,5AU]CV)T\\V@$RP%+TJ]^?G9AY-_8[F#XY3DQQCP_S?<\ MF]RT=^J&O5">WYL_UG=2C.7SR<5+MXYNO%5,;AU=O+6\-("+=[/GL(PCF%J< MW0\+_\<=M^?+SE;GMY]>N__2_/+5V:WEZ6W/)7D8F>*9X+/;^X/^.R#\L/0W M_RR,AL]'9R?Q.=R(^I,[ST=5E3>-"69 GO_7;V\/_5$\MNCJU$.\LOI5]+M? M!E^?PP7X+66S&\<5^F+MR?G-R5:N?L'TPJ6;RVK *5%WD6!RQ^P'536Z//IJ M,.Z'T1$L)4A2S>N9.3%CY'SDHR'*:U'=LU3P.XHP0]]_Z>'9H^'9S?.>7KP\ MG=,1@NN7!SB]_SL1GX^&ME^EP?"XEL1,8X&POO!B>,[-@[WK(7GT%!%YOE3# MT74BP)>7J34:WKKXYCEGYY-_YV^,X MLC7^H/C/+IZ'DMU<_S4Y]/'_N3&X2S MHAJ=]>+/SX[M\$O9WROL>#3XW^7QR6 (;#AZ<6)#ALJ]0I^O^B$CZ726IZ./ M,<'\/U-I)0D1'A2E1-Q(C*ST%A%*G9/7ASI/NB%D'7#ZY[],M_PDNU5\8&#,UYY& T1 MEB&NO$#&FA]K9YCQ7B3,^&^H46/<.!L?'Y2@O M:[7?#UD&06+ R"CCM64E+EAB2290@)7@.B#X3%&@AD-^.?G![Y]_ M/WP)D%&5>_VR!X(\'$>0X9N'[JT* GN.F,OCAV5%5E%@"!D4EB%&X<43ANXU MLUA2A@(#'()EL,@I;E"4/B9A8+FT>/#0+_.')L 2(&= 12,0MYPCP[5'QM@@ M65)$<'UUY!_CU]@?QX^@,\L^#!IXN09E4)WO7:_\4J/SJ].3Z$04]@H8).RE/W[)>!4DOD'(GE_6OL.8(FA/'ZM??LK&[UY5VYKPCJ(VAO>R M'?;SLPK4?B\;GO5W1\,\A&SWH9EEMWM:A=GC+SZS_@@&X;#^5!OW>]-YU&L* MX,$!?9*Q*#$-% *Y1C9*T*E&4TT$%0;C9[.?QAK^9Y_*D#^G,@Z+>MCQ1BOO MX,W_NPSV5W\\>UP5OV2XFWP,\++3DU[IR]%O\=C!*T()5VM?\9RVAR.P,_)O M7H&1!6II ,91OT;,T[)Z]LM%*!WT#T<#_\?D63\]O_$5O\S&=CZ2YS=-^Z1F MB/-%J+V"T2\3MY'5MLOE*[//L]\]OT2&FZG"#:6@,Q7R3"C@=,F1I9HA4$2& M.^^DBJ2M5/G0L_UW((,3(F0VW?OT;?#I:#"N;#^ ,CO,(CF*L?\*N'IP%F-- MF@_ I$?@*N:?-T\F(,5PE,W23"B&,('_SY]S?NU\0EUYX8Q,#$F<;7/I MP#:W.H'7H0AG1! 68FOI9./YZ=O[/_X G6M#;9V]!R'J7S:[SF][T M3\:CJKZ#W4.H>0;S6[1Y*Z .G@SC/\=@^I[=,I(+MU8 '>/A$*!BH;S#&H1S MC!,V)"+*P5GE 7QQJT1"3(;$E<*)\M16WFF]34A4WO-Y$'Y/;FT&OY,BX*HK MB:R,.;*5P#]6@ >2):*P-Y:9T%::@HKV=2 P:]^/9?7'KVQ]L"?;1@3TI1[:WD49LU"QX9C5R MPA/$73#(. X0"_3T4@4NO6@;.:OA:._#!B'7TM_4;D=CEWEA^5) M)N%OX"J.8DX(B%G1C4_R#M[T)]6""'$&#U=(K>&(DPB".+7@E1BOD MA?<"9%-JH=I&T)G@_3JNRGX$MR/[&E5YQ=\\M"F>##(]W[X]:,J6;0-07X4! M]7 8,(CA)KB&T>1U-!X)&QWBD6+@&A<04XI*BW5D0;:5:QYF"TWC&(^UAAX$ M1A.'>?J&BT[S[+OW_?M"($^9[:_@=1T=V^$?EZ=\:'NQF@9@WL711J(=L\Y* M&@@B&OP"GB0!GSY+A8H>\"^%1%O+MP^$GH]Q!$HLAE=VF*.GB]9:JS%#/-;> M&!E1 J!!W,ML50(=G;7@AVD@)F]MN/1NK74>)RO]>3[BVY[?2"H^:%^VVV5I M8I=%=;LLV7M17#'K*7+,:S!;P'MQG&"$A6/4"GE+^"F\ M(YSBS@J&1$PIIS35(=V(C$PY/P;L8*G;RCMM"V0LAD+6QVA BTR\6,YB1%HF M@B(5A',&!EYH+86V5+H;,II>#X;Y!_YM-ILVU5KR$MSLJ!1*O([4>(&<#!0I M&BRV(ODD6Q=)S=[N.?C\)0Z^#.W)4>GME)NGIQ#V_GM_PVAE;8B&6H\T(0%Q MZCG2*E@P;RG%3 24>(9D@Z$Q%/ M7B%C/1B"&(-# BK=A\X07 =!8=99@NRS!]=3S$5MK,/4H.F<1EPK\00*,)J)5V 9B FMMGL]\ M:9N_QB]E/P>,KJ1L_FI[.7:TD7!"N>'<6(E"/GX'_W)YCU0BHK6VEJN(7>LL M[QF5W_0]$/;4R<4+<.( R&0]I2B6_!7M[]O@;WO_[\?_+,-:L MLTB.(#JG%5#5!$=P(3QWPB EP=KF7B;D&(TH "^DD*1RV+>5(]I&ER;=96H% MQ3$9I%T$>SH*#@J0)428P6#TA!!#Z[*^UBC=X].W09?NL0C#+6%J?"XX024C MB =J0,. H1ZTY$(Y3Z)OK1_XT#T;[\?'X]KE?S\ZRAQ\?#*,1_EI7^/$^%L7 M>R!22F24&6"H S,["*0IO""?Q+2<6MGB5.'];W88ON-*+=X7MM1_M57VE*K1 ML,S[Z;69]GLN\G#X^T8*7L2"&V\3$L8#*158W39K)&<$)BX*;UEK!:]E'M-J M"&@9241@CP(/F8 6 P$E0<&S!/\G+WUK+;$N@K9::U%;K"*1&GE.%>*)2:3! MU4,D$I6T)\*)=2]3L?@DR\60)N1R%#1PI+6J,^XD,H$0%%6@R7!';/N.;S2? M[;^>D.R(8YYQCS33X!R[7%''AXA$D#JDF#A6K16K]M!N10%()Z.*@B+%/46< M2H>,8PZI9*B)PEC/MO]E9M+6GNQI>3P^7L[F\4+.[[P=5-6E FV_ MGKVS(U"U[]/WKZ]HY5P[[[@/JS@Q!/\RMD.;SS\O^@CFQ<,Z3]+'01MO#$'" MPS.Y H-.YZB:8M(FK9FGHK7)\@\RQO\2^V#=]?;[83\:U8*@G1*$D7#HV.1*L9;ZV'-E6'T:6A#S'4)UL;8TDHE MD;S-E7P ](/&R(DL=YHFD#M"0FSM_L9<))K%,^L4E'QPY:@\62RU&CP;0(6R M)(2$L#F%[YZ^&&@9]A6@EM.9)> _AY>+:) M0+H0'35..!I-:S7:W>55OM=6J?W/-W4T'Z1P"97V'D?*B[<^B936$&$8X*/) M6K<7B"#.@JI"V)8 PJZEUKC$(H\PG7 MK_$PASA!1F+UZM3WQB&&G&J6J34>U9;$^S0CS8#^FA#KR;J&.VZB]^"^!F#=9"@"I2*1T41+'YA/[3V3>V77 M][LZN;;16RUDIWU#S/F=AY:L3!K$8Z M4@F6G#:@M*VFIG4[ LO<8'^:W#5X%LQ9894@&E$I!.(4["OC.5 K$2&EXM;8 MUFZ9WI2->J$ R*#W%4SJRS=M:IHRQ9,F94VPA&=!)1\Q"B+'+.K8N\N%O;'$ MTD3GE6XM%*]-)>\&56>4QIEH) K491.3:Y1[9B%*M>4._O2QM2+<(A.SP<"% MU%$[%04R6"K$161@S&@+R"I)Q-K$*%HK0:VOC[VJ0[>4>**:J&84A+KUA6R6/VN MV(H*Q#@6J.("A=QWC3/+D374((R#Y]YI&U5K _4/$L##6/>+ 0'\S0[_B#E; M9Y-ECU+N920)C$N%)[T/C3(6B9"BM%0FU=[3<*LV6]J@#Y/AV'N.DLC]?D30 MN?R/1TR"(K0VN1A:FZ_9YL-'+9!,SGE40N0L7"\1)R* [X<%\MR0)&@DW+46 M:=L6BUN,RV=#I,(G@9("XO#X5 MCFU.$^$6@PG*<]U[2S60TW+?6K^B#=L1+4:YIHT*T]A=NNVFP*VJPVAU+RG&*><]?N-PZ1.;# M7,X)E)M88B8QE^U- YGOO-WY-G]=O.;J#]MW!K@UK$(<=TFS@))DP"HXMSS5 M$J/$* _<.L-%:Z.#:U M;0N:XZVH'1>E 1A7@4VI03TR\!RMT3"00)7"DB?> MWJ9J"SU-,O$>^E]C-;JQBM=FEH"*BB6?M$9*"X*X"/\R9-/HD ( \&':$V%^GBR-,$ZB P0FGK$HG6*+2Z!8TH5M0/EC"B(G"K M,])/C!8+:(.$SMWCM%>&MW;WJ*O/TI#L+)5UFTN_C4HF!Z9V5. Y<\HL,B%R M9*R5@,58*=%:R.T*#-_#3^KA4'BQ&O%3^(E)$E@$8UVZ:!!W0B-+P2BSA/"< M[8:#;9T5E@'@PW 0QG[T?G@8AU]+?S$NJ3 V0*;+ ?9+'A?+N+@)9:>L?9N=V^[0WZ)?ZZD*][% M/U=N?9)MA(6,E@G$C.2@8 CXKE0;Y'TDN9$(8;AUFU+W )<2J!VZN-3L[(9 M%[88-QH.@@G&L>3S,8\(?Q +IBY/B!+C+:%)@N/=-G*NJZF[#3W\F 8SC2N) MG*<"<6DC,CPYY"W\1:,UE+;V/$J;C]$N9L>-)Y4T"1+IJ%+N&\:0C0 &N19^ MS/GKJKTU"%;@+;2Y$T*#7*$"84DQCS"/N5Z[$TB;Z!$+*GI#HU2IM3YD&P\O ML.9(H[WU8*T+I S1",@#[A@!2C%C:< D)M/>IINK3@DZR'&F.#S)QPVO;-6_ M!,R&OST(.+B"I>V] 1J5HW&]P[N(2KX+$MQ$N(DFVW'Y,"%+!AEL!/(LN9!, MHI*T=K.U]3F J[&G0MXGC"#A)F&>&RY@I)W 2%(1%-%22==:DJZ+AIZD<\3A MS/>[\LM%ZX:F&H 'JX#V!J6HD -CSYJ+-C"TTE7IDHCCRDQ9Q'3-+=H2 1I8@RBC.4: M>R(2TQE:C\^]GKW]W:#_^V:>P]"<8)4+.B@*KP=!2*0" [.>Y,)8#(,/:!66EBC.VIO7WQI_O 708*4 M+]UR%"4#:,"$(!M$SBPTE@OK"?RC70JUP;(+P8'&5)(C:7-A_APBMLY)1)2E M"ON4C&UM10"N7-^@,2)C 4C#&=&Q?^M7: MA?_6N0]V,%AZ'\$9=TKLA$[N7 A8O*M3C?L\W[[2V0?8=!F28MD+&3 M^!O.;;,YTKG1&N";(AZI "_(>D3 WK5" M"4-E:UWYK?>"6H ) GQF391").835?EF*[('1V4D,MU-P MNE?R,1[;,D=X/L1A&@R/<^+U>][)O.&?3" K;(OA!<2T.)0%$$-6F>9PG+;:*X MMT%1+G#K.@IM33C[06[3NK6J;NXHE-2"6,&1B. V\62RB^LEBLEJ:1/GR;>. M=1_JY_Y]P_0:"TYP*PPB.9N->YQ#XZ#F7 @RYPUS%5M;E'?C869-64HH@Y,A MX"^!Y\0I,\BQW,7"::8"-\ )K4V'69,X1I/]TG$"T1<@\30[NPYK9'APB&"M M@&*.V=3:@D'M\$X69/]A83P6$7E"0(H,4<@DFI#BF#D=->:TM7LT6^^P+J:W M@3:666*FM8IQI=7B6^"!"BJ,S6T-@Z4F>Z ,Z:0E JGRN94] M-JEU.ZWKL#FSF+-5*5F-L4E>I]>AE3' YSQ?0ZS+F18$HQ MPSSZ@$CD#G$+BM1JL&8)D='SY)B4K17(MK3>:/#$2N)"$6(54-?D@M7$(Y?3 M[2USP3BE(FMOKO2C7/1)F0G@VHR?_?R#V.M%/QK;WH?A );L7L^C-0XAPU(Z M; $6938998Q(&^F0R>8_QD'8]CJ$#]5I*VFFW!B%9!+*YIU!\-'!8M1,(^,Y M.&F!19>\H$RUUF+%U;2/GTRS'7^.7LI\WP:]8C=/."6WR MYAKZ7B>4L[:1P%CS MP#W#[6V%L39!H,;V(3D--CCFD,8A5\0"P093#>I)UY[P;U,-WBF-"LO$D3+,9-[ N;9XMHQ8LL2$1'5KP[^KKK$R9S&[ MA>B^!74#=%HP:GGN?FH1QQH<[Q@<4DE0)VVN:=&-F%:O/34O/[_;#- M@3/NA, NPIM3WH\S=643L%MX\(E:CXGUK3V]V&67+<0!\XH$@CU!@8'L/&KA :BH_E? H[QO5(V&93XQ M61\ _[U?CC:ST0:3CE/A 5=UZBT><]((!;!ON%& M8J"=MP 6%'0'T)*'-I3>78F),08542_3[Y]_/WPYZ/7L1.FG'/D<;35>!A_*:L!IT3MP8-F;YM=FGV^\??YRY>Q/P"DN.FQTQ7( MHZKN>NZE1SR_//H+M]TP\Y/QA0E??FV^=-=+;UK'/JCI857KZ&M/G:KK[W<\ M\N'G'D?YW>.X^24WW?G(ETW6_):5N9\@-SSQ?"?IYC&?7W[D8_>G_29O?NKL MZF/'"I)ZRS#ARB,?EMLD@@UGA[<\\OOUQW+;XG M>\ 9@_'0QVKR\2C:4*,@R.,O_U(4/\'?134ZZP&>GM@0P$1 H\')'MX59?\% M"#$ZBN67HQ%\H0E\XP:GJ"K_!V[;SIR2 M7Q+W"/X9/3B MV Z_P%/J9[ZHKR5[7/;.]L >B57Q+GXK/H+=T9_=Z 8CF!G_U M8AKE=U0GMC][S;>C[ZX\NX[7P?O^E:&T=%>*D>HQN)^ M?LF__RN1^,5/S_.[8)E.+BS5R=6%FHZ5S%[5P*S/%[7^3'>I.!D583!VO?C4 M%6EJ02XM14NHO2YSR[&Q.+PZ.S_H#89[_XKK_U[&G_4^O#K=U$0Y?'?S^\X;Y)TX"=H*8+(:],HPNW-8KT4]%O&G^]?X'H"Y=W@- \R]W+PF MTO7Z_E]+6!]#H?!P&.U!3I:'(W/W!2+78$ MQ12L,B&7C///BJF3]3&F!_N?1=]F[S+$O+O@Q]F_SKL=[5A0@M%?S]GITK+\ MTLEFRY7_38;-$]EH7BOWAURXO7C?CS_>-O]ZW&4_!T[V$-]5W'SGFIJ5^*Y@ M[$^-&;[WK-,CYGP+7HC L,QY%T8FA7C0#-F'%7\=V"(S< M._L8?P((L M""O>?RR(^"'\6+Q_77SZCU?%!;OSW.;P&^0J6=4)3[&AC&/VZK+SM_1W6]S5\4[5CA?,FPGWFW<.LOLT' MBO[/-;D7;SUHI74QCF$C:P1BN0V4R HX.OH(*4T3C;F[0QM?[(YN6[F M"^_,ET>.YM/'_7>';VHCI;-?&K5?1N=2-#-@TG!P7%S^;S1X_$(] 9M:M5 ' M@^/CLDX0+UZ7O5B K+HXW%N0:1$2"P0 #S&JTQH%[V+$$J 2LZ<" MZ*LZIR!/9C*7=JPSQ@0Q3;#JXD8KC1LU+K??7T7Y?$+!K(T8FX@H\0%Q'@1R M,J=V,L\3V!78Q2?'4"="\3%^*:L,B:. M*=[T_6YC1G:[MH#F#A.^.K5^5&22%8-4?"=B8:OB\"3ZG%,5BK)?E*.J.#BJ M/?9;0XH=H+0X$'W/W.;=K[AQ;J-\)OXFKK#CT6!&M3R4G&8"(\^WHYX]&XQ' M\/C3&%Y,7D4PWL5_FOW YYRYDRKN5?'$#NTH7J9R_>QG^?TP@.'L[5_+JG3U M0:.]V>^G-\%=X7QQZM<)>->SY_=?_.GY:'CU/=,LFIJ$WV"\R VC_6.O_A/E M+VX6ZNM$N_KVKW$XRD=IM$O(P]F\]"WJ]J@(_"FM.;8:IU/BS"6=*(DYAK2VF)HL51J&25 ME$\.6TSH_OIEF^4Y:%C=F@M]&2*X0-MP8(AY!RCNP0;<.&G3K;)I;#95: MP@MPO0>Y4$_QC_&PK$)9'W( R^4B)1J>YZX"JV*YDRTO0EL]Y^$7VR__I_[\ MX\(!9(VXXLWNQ]W#W6+:BW/XDQL^_^4R2A3O!KLW+EFGQ&\%=4&PU<1I%(+A MN=JT1)9QC;Q,03."E<&Z&5#?#V&8C\M,_LK'P\D"V849AG%Q4'Z%F1[4ZU"\ M'-[G$BYJ,)>WV&XF1'+*VF0<8MQE]SU%Y"(WR!-#0Y(B8D<610BZ0$(#_\-/BV2"/U M]3#F?>@6\S[)'>2YM,ABQ1"/B<"Z8X8,\=YCKVFR3]ZRO[3NM87Q?O@!? 10 MP"MU(0Z />'M_=)NA1,1P(MPECID5 )]PVQ$.GJ.&/8^)FND5J914G\8 "U[ M_UV>U+[BXNAHN&"Z!I]?1HT(]%OPY+[!3 9KUQ M9HS"@JP">H6X5_RPF+U/:PEG0>52)3KK2JV1Q@PC%7$("2<:[9/MQ&R6[,-, M&H+,!L@ ;DK[LT%^7-!VM]>.)D$\ BM) ^L>X&I7IK!7[4Q>3[>2NE.JNO+HG M0/PM*]%=?.?W>S^6M6;?[>FB19 MCGIU D2T_JCPN9'#?;[ 4U=^6U9V:&L;^/#L&/3_#_?[6-VZ/FA=9QD[-S?K<]2UJ=-ADI; M!'_!V9R7.>2VLW#!,>&I K^=YK;-)I_X81912:.BD42C^5,]^*E;\TB"<#(0^U1^F)IC$VNL.68X//STIB/T8X,5M?:XS6X^ MBO<$#N_@),:XB4!_%$CNTJI20";DOKI$2)J89XX\>3]MABROIK9GG?5_;;OI6P?YS 9'?>XDRT;'3KLKYK/0? J M^*/Y5IBPC[5W2FA1G\JOBA_@><#$134&+ZHZ&N3S#K/C?:,C.[HZ]F_V\BCS M$"<_GL[AQYW"]D/Q YW,T8$HP'7W#YA!OK^^%7Z41S%]3CZA6]6#J =IJU%A M4QWLP'@YA MAI.3QUD7C>QH[M/Y3^+2O\=JD2@RSY"*8EJE)1/ZW6#ZD3\H-M^!21;(+&0@ M7\?E: 02&7L@9\-!/QL0O;,B@C%Q5KS)FCO71_\:BY=V9">G4Z]@S?=G7-P$ M^#B&.SG8MY/#4N-)6]?B$'TJ?LC:0;TH**.[TSM&1V4%0[8G^=#4HI%G,N!S M0(G5C[L+0PLP(0PG'"-,4W9=N$1&*H:4H1Q;HPP.3R[C,3OE<4ZK3*HI>'1H M<2-:=&#Q2+ \;1%#V82"^L]@$7>>0JU^ RSWK[QVP)(CVZX4!T#QL [AC/- M!@)P#/,_V\E&"CP,-'M>LR_%E^'@V^AH=GD7;)98CRS$5$Y:U=>I2CFYA.(7 MMXVOODQ>S&Z[]X;;QS>[,1LJTYMO&>OLSK(_@4)"':(ST^NBO;6[Q%W1[K3C M7#NBE.PRHN_8\"0YDG/7B4BZ"_[D$QX (^#*/.$!9%=2];!CF;N/3*"\OFJ7 MJZ?767Y78A-PY3'9@$U%C^CXXOI M0NQWR-%QR+S(<<]F9;L4^%4+EBZJJ. =L?XD Z51U,?3*.(*#')+=]]R,=-\C$&*'X#L=7K&I!KVWS'LZ?1_L=FX= MY^_7J42_V;-"[Q2Y^]1U0 M/9,LG&/)3?GY=I_@!BDT8FO*DI0@:>?@O[VDD M9(%/$2&)"$&Q3N)ZD(1H1JPB"#.E@:%C1"XQASP)1$C.7,K[(->2D>M33(?Y M$--A/JU4O1^/:L %Y'U6C/OEY/&_?Z[/,E7/ -\>0Q<_O.S-^]>7Q:!_O@8 MA<$(36]Y]@NA.\JP'2[DC"%G\UQARN#*WCQ9P[:7KUXMZ8-W13EYWS2FB'>-@F^FD#Q[=_U; M!-8;T/PT3R*GZIV3_W0UA\F6MLH_/8UO"/!5I-=<5>*L-D5\B'YM[JA0@,/VN*Y7+!,Y_+]5R);QV4(H,/O M#6Y=I./T21Z'/Y^3PN^KGL M3SQNL/YO7\O,1[=6J0'O?-I890_8+PY[93_>7B7_S;O]=P=O]M\6X.V___C; M?FZ6>[[$M@$DN0\FOLOP(A>^?ON"]IPZ+%BT7GLSBL<%6;#HW\0M2RIU>@X' ML";'G\EGF#F87U4,^5^UULT9P1=08AG0<# ;1/9VS@=1O#[?PJG;21Q?P,*TUBK6BS8(^B#3AS"\ XVP/9CI^KHQA'=U0L63C(_#H92'%8 M#^2>B/YMH[F?OAU<=7"UE7!U<8Z$[:K'+>"="';QT6CZ[-E3ZF6>?K=:I*O. M;9?/@Y-\X&J%8/?=CLJAY??U<'*%C ZF[N5]UL%4!U/; 5,Y3VMX1^K1DF'J MH![.$=R7BXR]'50=7-TO [R#JZ7"U7*2RCN4^HY2N5S?Z*PU*%7GO1T->O"P M:MK)KGA5#[%#JWL%0G1HU1E7VP%;WE9'GU-K8.L AE.\[@V^=4;5_;PO.YC: M9)A:L\AZ?S"*U>?1X+X]O&5@S;L\EGR$JMO*:Y*+5:L!9[.3 .@6) ' 3^R7 MJ6$2RLJ/JPKD_3-\VSNKRFJI$/+;^5C.&X&_/!]274YY?SJL;+=\!Y2,.)/S MH?F>C[$:][KP]J-9GG10LSJH85L -76^$5L&D/QU#*, *R-'BS,D_#4?[YY] MD2&E-ZC&^?CW9C1 M<-"K/I\,!SZ&+*Q+"IC4KZU1X\/YJSM4Z%!AO4XN+/KHP@JA8N$@\/[3?[SZ M>.,1A0T6_>YX0LL$_N[C"4W77>[08EZT>!N_V-[$5JA[T%7;@!9/,11TAQNK MPXW]SBZ86])S?*!X;?UH,.R$O!/RU@KY]VV+SCIX5-B!?A[W)Z7DU21N[V'T[!R1^K^IZ,%-;HXM*/""KK(M*K Z'Y.;:&I=Q M0WZ.IT>E*Y=SBO'5]%V=^*^'^,,S\AA^?D:?K144G//XE+D_Y]RO.WJ;-,[A MQ9O\PH[-[V?S-EC;:\_F%7QK1\O::3H\?UO'X/5]UV#Z MIRLI[[M:JH4T'>@6H0V+L+5%?!]56WON-2>7X*:KYKO>U7SK,OCSU;Y;9KW? M:V2T%^QY8@6D?;^ MHQE+H7*K"F\?9I_HTU'9_P,@>0>\4']KMX3;5^,)_4TNX=83BV*IC[G>=PNP4YD*QXVH[E^O=7-I ]2;1)3<"G0]5[EBKB=!AUHK5 M6IK&[61DU'_RC2J_.RW1MF;<[U?5Y2VM)]O<:U,L>YZ@UOJ?M']4 MQ&H;IMMQ\4:2=:.FNYJ39ZV1ER?HMX/Q< C_*FRGYSJ$V.KI=ER\D63=J.DV M[,==5VD7#W_DXO0WCOM^^;F8X+6.->[KW@TY9R_WE"AR/YROMG9H#;YOEO#=*T'6#S!,;_J3P%,O9?#VU][*E.E7[]682 M&=,&T4 LXCA@Y)PB*&D2#;%<:(F?%?533D]?,S!)\F!U%^?E:>CO;ZXV,4 M!O5ATGS'LU_TCLB;RY?G^\LZLWMS@MPA5X=15Y/*:62PI0X$1C#CC%CG%#8K2QR1,$%2+52*7V%&8;3ER-1SP MZ0SAV[8_O(=%'%7%$'0VL'4^Q%';Q7!'YKQIW&BGZ,=1IV$V6N0ZQ7)1L7!& M973:H<@5*!9K04DXDU (0G#&"%%92O7.Y#1\ MVY!F86*'8K+EJJ6#K&TGY89"%DU!&2,]8C8"_ 27D#8^($*=\\F+J$UZBBV\ M&LC"8 WC+8>L+BR\'&OXPS">V#(4\?0D'\B?5(\=C([BL/"/VD?M],IMT[T_ M@7\M)').8C_J^,(FZ28.MC11H(P8J"'$<0+3.$J,P)9."D>J0HA-1)BG$OQJ M(L"@FMYGZ9TD^36LF'8$5HO32P\YO+')DM+!8@>+FP^+WDC%;(HH*@JPR*P MB*,81:(<98XP+7D3X>MEPJ+!M(/%=@6XZRZJ&2T)$$2XA 6CB#N$D568(]2C%8FD7STM@G;>Q'JA*L=RA:H3S:9G3MD MVAA2;B@R*4X!F9A'(FJ!. 6\,5PFI*BDFB7IN=%-F+\+02:\P[#8CJ'['KC9CLK^EZ(7 M;16+6EK1(*$Q?.ABMUL@:9T>N:A'F-;$$T60QIHA[@5'FD6"B.)42HPC$ZH) M@_=<[MYFL?N8Y_8^_5[%.G+2E"+9P6K;]4@'5-M.R@T%*DLI2<("4&6TXL13 M9!P12%HKJ;*";,'B7 U2,=)'=+K*[#(/W+X-!^%;V>IVRV&AQZI3%1641 M75 >% ,2$LQ4KA1'UCB-+%?:6ZI59(UD),R$JZG<-KY#R;:?S.Y :=M)N:&@ MQ$)R5)& 5(@1<>$-23G37]D^U_* MNDI$5QAB2X2K4Q,7U43"6'"..5).2\0M%\@ZA1&3!I%2ZT(3M^KH$[1#? MEE]C^"YUDT2VYO;VF-@Q9MM#'1U4;3LI-Q2JL+(J4.N1Q( X7">/3(P">4*C M-E89:U@3%NURH$KN&+;MVT==5'9):0AUS8PP)/*6P,$"ZWGD-# MICE91]M\4L]A8VWSB\__\P'\V W+/^]4ME^A*@[+M!J=17=I%LTP&.?8_PJU MUO(KYS]D(394@1GB!,>@C'"P&G$A'+*<*2185%AK00R^=CY[_LH1#6DLPOD. M>!_+TEE7&&*]M-::8V4'A1T4+BME#8=$C2.(F:!R$1V,3*04/E+LF)#>,MI< MJ8JFH)#I'0#J#@J7'UJ_D>4VL\7LV]*ZLE>.RFG!Y,/1P/]Q-.@!9U1_+O*) MU-%9U[+SKGFV S,7H&*[Z79-Y<\L6>Y4U07@5RCY,2N17%#D4,B<++,"20USVW9F$?: M\8@PMS@9;ZE53^HD>1XYG$K;AXFP-5OMENY0N>U=V#JH:BDI.ZAJ"*JH5AA' MHU$2%B/NL$76Y3:2D5(JI0?L:F:38Y%0Q78PV_8>M]UYV*59N,-QO+-AY"/B M0IU2:=%TN\-G3]0E@FAC'4/&&I\WS 72@D1D*98!:RXQ;^2<[%0$+VQ"SMJ; M7?BJ(=6B=DC7/KT#K"TGY88"EN2<&^$UHI11Q&64R,2 $?:2:!6PX]?]]#F- MWZ4!EMX1=-L!JXOV+BL-J!^+02K\,(:RJPFSV4+5J8Y+R:'>FF3 PG7>@1K@ M%",G%$D4YCJ ]&JG2G46L>I\.:@EK-FJB=F MMEQ3=/BT[:3<4'QBTL@@ M74+*.\ :FOL))&,1T\(38[0AG#1AVG;XU#)+MHOJSB-$+V.*P+NA&,:OL3^. M.T5U-!B.$.#!<: A,T*0R7$J::(8R6128PC(;"4GD5J5"/)&!=V,)O5+)+LD*YY M9 =/6T[*#84G8HC6L8Y*V]QZAS/DL$DH)&Z#]Q)CPYN)3R\(GH19;$1@+7AZ MX>'I=F->HP'GWJ#_I8LW;[[,='K@4D@D^*3 3D7243*I'.[RCJ5(*4IF/:'" M+#Q6W'@)7;%C6-=CIX.L[2;EID(6]=1A+0"C#$ 68PE9#/"38DHN>0VP=0VR M&H_B-@Y9FBRP?NI:F_UOTXCM&BZG49XFD8( M.@:P8R6BF@.Z:R>1YC$B)2*W2FM/]+5@QCQ&[$S4WO0]*(-/]O1"=*.YMFMY M1V_; QL=5-U)RLG@-I.4T[EM*%31*!Q6UJ/(! 5#%.?CN5PC1:W3CB4;DF_" M>%T:5%&Y *A:)_[N8K!/:_G8)0AT"6U=0MM\VL1[' V8KNRV#J[N$/##@WG/A.">9@<_Q6N^LN9L_+A(-Z0XVBS"K-PT-EYO3VW6 W&Q3_>+S5]D& ^FIXAY(%6MZ;S,QM M :X.ESIOKOVU MAWBK@L">(^;RDX25R"HJD)%!81EB%%XT*)X'@^/C<=Y):Z'A(NRCMM3D:+3T MB&N"D0G:HN2T#]%2*_2U#=3Y#@/FN=7:_X,=OA\>CNPHAO^TO7'\$(>'1W88 MKX:1!KV>G5WY'D9Z\^[U/7&DVZJS2N$C@T$K:A%7U",M!$$B)L6!?CFXX\WA) :XB/)CAQ8H?%USRI%\52^)1B3*4$RFD7">(2*^!3 MDMM(>$=EM,I=#VL^D4]KBE3[X]'18 BP$2Z1K:HO-L&8P3&/L<\G&1@P)@8F M,Q%F)AQA7G$5N&FD(\8B9R8PSI6#;ZD>O Q^G(RZL.=S KYTP^=-O^P6$*4L M$!$\"H2P7/C'(Y=W!9GRWBB%E7;7*C\WPIQOJFJ\,,9TC!(&0X'[L$3<N&LDTO#:K]^-1-;+]4/:_/'EJA.XHPW:(O*FLT3(8,X=^E\*$ M!A# ,B4 (;U"G K 2FYS>1>9N$B*\]10I<-E,F%43J1@#$HQY/"_$<@*%1#3 MCB;N&(GQ6M.'1F;5-!-*L@/BL%IT+&M*3=HG?I]>8:O<4>8W._1'!2,[!<64 MUS>]!)$]=G$X^Y;M%/"8DP@C_1I[W8'3S3[ETIWBNE0]2\JHI8U(&P:@$KA$ MSH/_H&T0/'FGE+\&KT_4AK73T-3F.M_R,UMS+$E@&&7GA[4HYL MK[-C-SJEKLL/O52D.B;"$J7B%=P@S6XY774[!DJQ>[\?'XU[>@P8F3:7OFH9ON&1MJ_KX M82F[;%P:J:F7R)&<1F(I@)$WH),D)=$'ZXV]IH[F,9\_QI$M^S&\LL-^V?]2 M79#CEQ,Q?K@ZJF"YX5_WZ"6C=S#=K"*$EZE_&Z%_[ !QC6C: 6*[ %%('Z(2 M%!'O#.(RR6QKA]ST*@4NI?><-F&?KP 0Q0XAF]4-ZPF V(6IEV^P#^IJB7YP M#+\ZBOVJ_!J+WJ#:Q$HL79FPKDS8^BB]2"UF@6KDNKLJ0L%5H&) DUB)O P#-('&&2 A?1!WV],?,\WL3% MVANO:E%MJJ(DWU%B@3O:+=53799.!X,=##:7R.Z"]S1(1+ARB M)D+,X(F9D M"-0&KD0C_>D7"X,+W$'=&!CLBK@OUTJ_4,2]/M?96>V+4U=TEV:Y#(.QZ\55 M*JR'>='_MC#-=?-";*CN4I3I8(5$AHB8=\%!=Z60S!N!?4!V029XA;Z0 D:9TT MY*U.A&/>2*6C98$DTSL*+RT\O]8@.;/XX6\+PZ__^8!14_@XY[B_"\Z]$'CE M_7>^\*$S7]4$'R"TCYCNY-;\Y+U\&*;TM]?UC;&P/J+V$OGJ)0#F,M8WLP MS?%Q_T4HJY.>/=O+5U^EL-O;ZMRCV M XC;:5X6>,3>N>2=+EJ\ED'%VVA&+TDJ+':]Z$?G+OF)_1(GWC:R"4:Y9WO? M[%GUXMGSJ]29+7V]%-?771/X9B7+^[A.8 UCP/\^3PXB4,[:L?2'9SC MY,%%G#R<,YMB$4,\7[A<+^Q]O78 QM7C*;P9S/[#FWXQ.AJ,*]L/U4X13WW, M$=E<:ZT.L\$"33\!*>V/+2)DL;4D^[UOQP%>%GY<^1(LU1:MS>Z;PMIV/!K, M/(T\EJR?8?#Y=@2FU6 ,%E)Y&L.+R:L(QKOX3[,?^%RZ^*2*>U4\L8 &<;8* MM4,Y>?:SJY'^KV55UO[9V=[L]S>$\">ODV*7TC]-+8X;KI-=<=?5NZZQ7<+G M_>W*WWK'#HI>5I>PZV6U9M;6#;*DER]*C=;UO[.B5%.36UJW!GE;MX;I-!^U M![TRJL^C0V[=*#L:@@?[&WP^JHI78(F%[P51YV.5A^S6MF$5.]EYPG9U![8= MP]P'MO>UQMD^L,T%IN?KJ].!ZH.V$3L9V00989V,;+<>67B>7+OS%9ZP ?TQ M?HW]<>Q.RF]>=8HFDS$V--&"PW,,3@YQ&1+BAA.D/56(&:R])9@Y?ZTF"Y56 MDA %8E%*^(W$R$IO$:'4.#HX/X&%Y$'\K1T<'XPHF'H>O M3GUOG/<%]ZLJPO_A4><<4I,B(X)*)@46G.';[>$(H3;B5F* 6/$;=1(2U80(9Y%PAGDI(;ZDVM M#-OPCJ0=MFV9D=;PR?7YHHQMP<='K>G!H!K=:^BW9J(K"9^T0Q8ZD2E\ ))11/B.&+D5##(4$QT M3)9Q=JWM^#QAOBQD[]-?!H-0GZ>*PZ^EC]7AH!>:.DF%=Z@BG<>[OKS=(=QU*@PT@FE$(LYQ"E2M2:N( \@R- MV"D7L7Q2AL$R$7)Y-;RV#R#7UUY<;OU-W%#]3;R&+LRD_J9_2(;"5G!>IX<[ M/?S@3+]$M&78(4^T1CQHAXP"M>R(8CQ$90R[5@]Z_NV-:;Y?*2P9%++$US$I$,5.(.T60\XP@$K%@#@0_\ 9W3IH%1;/#B.@P ML?-'EKZATNY5? )(_&4XJ*J\-0)?=ZS4;;.VU5)J7@]R@EVB B7-*#@'^8BC MDAQ%8A.1"NLHKM62GL9+._H^[:055446HO M [+>YA+VU",;P08W#,#*N:B%;^3$X@*@BNPPO$"+?9.9>7U-J(9W![;H)&)Q M'_^T9I+=8:WNL%8WW8ZQ.TIO,CQW-07FU>33Y@;]+T4\/,28 M28A3(I#5\ >W4>MH!";Q6K[)//MLA['7R]7T^N&WF9R]FEC>367"[Q"RP&3X MCK77T"CHJ-L:ZC8.7(H:'ZT) $(.(TXL1993C9+7+E(>J?+7LH?GV75;.'") M'A 8)%0I$UDR M#+%.4!Q.::0>P>.RB.U)TQ<2VS,CJ OG+ ML?3_$OMQ:'NUH6\#W%56H[S%_S5V;-@ARM;HRT@,*#TID!.!(\ZB0481CR0C M03@:L-:ID7,S$W$#=;E_2=B:U9AR1[/.VE]C_N[0:Y.IVWQC0^.]3@0C'Y,! M:Y_YC%X!:<*D=TPGS'0C1VF6@EY\1Q+9H==V&5I=9'\Y]O[!D>U_B479+Y(M MA\57VQO'7$8XWU'"E?XH_[,J0YWH.^AWS#DOSG25:+:R$@WE.JI .7)U]Q&3 M).A5JI#RG!L1E,7Z2;L&=9G,UR"[_YE%=S_\8UR-)O4R#\Y%^."B!,^GE5-Y M&@/ZGS@<9.;0E- 778F:;1>6#DX[#ED8G/XP6Z[%PK,RQ%GA$>;P!X_&(T;I]', MJJEJ06I'X*[?P-8+1@>='8 XO@79;SKR2'?D%O8Q6'[TL1V2U6%O MA[UKCKW)$JR99DA1\)$XY@[<(\90M)H$ZIF6J9$*U$O 7K*C<;?ST^W\=.6K M%^ QC8[BL"AKV2U^F.[C_+A3]..]Y^%;,_TM+A+XE,+E!5]$S'2F0A/W/3I7N:[0?\\B>M=?$0+J0:X-"NX%3N!M,"IYB*#= M?2.U06O1OZBO+RGRIIT1L<""VMT68JLLV@Z#.PQ>9*WU@J!K,.@[LTCI9LYW0'>(O!_,D?6\&/G0'0&0"K M,P 4]9[D7D92(.Z(0RZE@!3F- 3MG7/7BIS/XX0M3?<3O<"JK9WR[QRP#G^W M W]OQDMKG&74Y5 5 >R+28+#1 V23A,1&4G&-M+[K0&\O!LFMR_3O=N-6OUN M5+M7\0EHD0^D%"Z"S,69IS.RIUVIHFZ_NKWF4^N=DX0-Y5X01$@BB#-#D!%8 M(!V)"S%('BUK)FEM=J;L]7!P/"DR. ;%.SUT-NA7O]:2/;GO4Y;K5Z>CH06, M*_MV>/9F%(\KT-AY),-!W;1UEC32_ %A919X0'CEH-LY+QVV;@)U6X^M-&DC MA#)(Q>S(< I.290).4T=#\Y3F1JI:[1&V$H 6S>KY4^W*]327:$MSL3[,!Q\ M+:L,1"",G:_T-&B9#&Y;@Y$/GOW:VP2W=-QC$2MJ$O+8:<2E ]>($(8L9Y@R M:1.6I#G_"'3S- ;Y:^Q'&%]3H4BRB*SW^WEC*V*1[>#\;J.FVZA9&#:>M];I MMB^VW';JMB_FE:%W<=35,FT0->@NS; 1!F/7BZM4- ^+ /S;PC3.S0NQ]CIG M:8V6E"34(19R<3W/&7(,1R0E5S:"C9]4(R=D0/H76=+48+.L9(,K[-8E96VS MK=^!< ?"#019G/!4*8N<(!8 E4MD=$H(6Z5\\M%[@QO)^%HD""]X:Z,#X0TP M>[M^$$_UGHJ3""MW9(=QIW"V*GUA^Z$(96\\BJ'CL4ZK=UJ]+5J=$BY4] 1Y MSQSBTH-RUMP@'*)1%+,D0B/G7E[98;_L?ZD^Q.%A!H9?,RQZ#7L].+I_K M>7Q1S].'JOE;"BU(2053%"G&\[AI1"X&C*A6C!$:A$J-=/^[.M>7$^!;V&SQ M+F4WV#2=D=-YFIU.ZG32VNFD@&4RA%%D' /,M4X@2VCZ_^R]>7,;Q[(G^O_[ M%!V>Z[$=@>*I?9%F;H1,VS.:\;$4DGSO>W^=J%7L8Q# Z08D\7[ZE]4-@"!! M2EP $DN=122!7JHJ,W^Y5%8F G^>[ MK69M#%4] OPXG\RZ1HVCXJ)O,P'Q(/,AYG/;>^OEEI/,A$;P=3T2@47$M=1( M:^Q19#&1P*4UTFW"*US(Z*M>1/^8G;O8O$F=LFW?S*;M%"001'3="NF%>54- MXP?9&BH8*PW-E8%SFJ2P!NP&;9&RUL.0;71\K4?9!F_-#_Y13V%U_I;%^!] MC!58F^"/VM%%YY".I_"HZ3@C5LB':G+'O%&79VX!9ZI4C^S(UW8((X\6(9=OJR;7E["BK>1C-V14IA ML;M%/UO&:":@'OKP"[()1OG"#C_;B_;E=W^[3IW%TG=+L;[NFL GS[*\SXH! MEVNZNQSTN:>1&P_#)M;@?8[B?3BK1W\!G0?5ZY&_+M-W6 KY>%#L;*HE\OQC M%7G^<8DW_\AXU<3=6+K3)4Z>KN+D^SS:!V[/;&.8W<)5XP2CS&MW!D.N/\7J M]ZN'*XZ*Z7]\/:JF9^-9"Q9S^]/1KL*?(SL+\++P_$OPI&9>9\TN_8"5Z@5V M-ATO=K#R6++J@\'GRQ%8+>,9&!_UEQA>]J\B&)_@[QO%B^]7-J7T_9-!;V2X;[:Z7P_=+.R5&T1&/[W$;+1+ M\E=]\TU-[LGZVLO;FGX_I&;#LU'](:KBUEKX9PWX@'^'O\_:ZE>P94+U=]OX MLXJ1P<-8Y2X'E7=A%;>_3?YDB+2>_[;OJ_K0ONU[ATCT-D1Z2*6$@T DBBE_ M&$L<&?(4&3EF&6%%1DH26ZF]L8O99[M"[Z=(M-_[!(8G:FB$M??>:42L28AC M^,<8:Y'&Q'DL))%B+;'\V&IF[*R\E#-*!1;WDLP[#XN,Z$!XP$@;E5LI>(]< M2 PEKFW$/D8MUEHI'%L5BYV5EQMA<0]LE".DOEG9.>2A^'TL?AP4=TCJ!6^1,Y M>UX:'<%GBXJ2W!L^!6F&& M8RXKVQW$YUQQY(36*%K,/7,F:;:1BC][ M0WG8$L0/TT\;\CVG _78O\%8_E MH3'S4@>OU,';M%841$O)@D(VN-SV@F&D:1+(&16CAQ(,2OM15]B%?R MA/A+!AIOP[LX8/Q]8#F2C5?L*"5)]JDDR4[HWFUQ1ZFWLA$6O6W-KQY&*O56 M2KV51Z_!GM5;B?^:U=.+W5BZK]1;V:%R*W%9;^7]=.S_.H/'QJ;M6D*KE]6O MW7KNT'"K9R_]L0LU8 95_.)CCL#G>HD5,);]J1#I^2=>2M1'L%AO:=8?9#&E;?\,,IW.Z: M^H MSBV;U3#X#WO.%AL](5K"!L> )-L&BL,/&_0=KDK H,C!<\4.;Z6=0^ZOEF-FVG M=I3/#ETY@=KEJ;>K1T]?__';MXZ;MS="['YG_*FQ)7N"JP-7. M$;+ U5;@RG G"> ,\H([Q(F22-,H$(Z<$!(=%6ZMU!+G/"HA *F(&C:P2X96EN+'>T940D''N5 ML$18)XUXQ HYHQE2/-*HP1AS)%Q'1&VQBD1J@$ *1E]B@**<&D0B44E[(IS MFT3$N]4\,F) R$$YG[M23:Y 9('(8X9(+(*)-B"108X+'I'!CB*9A"2*&RK7 MJU83(W)]3HF(]A$L1YV0CM8A@;'F(=?XI/[I(9+1@H\%'_>>HH>'CUM&L"@5 MB]#$)$P35 M:Q4NM^;V*CY08HL%+??!Z[WW%O,]Z]\_<3.P'=V3?MVVLVY3>IQRR\Q<4:#- M7%VE9GQ>O7O_9UM]BNT=SI@6K;(SLRU;U)M4)I8$1550R#A"$"<.%(,Q"25# MJ* F!#"*KRL3')@6QD2DL^[AUE#D)-6(BF2P<#8E[1;*I&VG=:])LBS&\,NL MJ4Q#"[K)7GVT3_@,^V\0V-B,#19^\Z?)!<'^!L0,A MY%UA;%.3W739^*X<)BVD+C+[[+,M,EMDMLAL(621V>,F=9'9 R%DD=FC(761 MV0,A9)'9_2/UM@_4E=V.KOA1CI\B9_O>5^>3.&J[YM<%10]8M J*%E(7F3T* M0A:9/1I2%YD]$$(>11*!-D1AI@)21GG$C:+(*&>08,R3!-]ZZ:\G$4ACM$\, MKK28(1Z$1"9X">9KSE\CTBIFKV>DO0JYWVC7-._#^+(I0NZ'\'HTK_/6)15T M-O#IB@G\+CU3:?&1/(!:E!)=$8F2EMXA0ZISD/O# BWNQK])23L\\Q7[2;^,&UG14 M^5G3Q)&_J*:-';7#CN.KX1V*Z!:-M#.SW3F-5*S(O2=UD=D#(621V:,A=9'9 M R%DD=FC(761V0,A9)'9HR%UD=D#(>1N1%CWNN2:B3X(EC3"1A'$C4O(6,,0 M#IQ*&91-3E^/WP:#I?=1(.6D0UQSCTQD ND0N7!1.274]?AMUSO]2MOTUR,_ M/H^YW],\EG4Z#V5]R)&L?I"O1N'#95SK,@;\1YR^21_LETV7;2/RD&*WI6I; M0=:"K,^%K)C2))G%B%*-$8\F(@,F&A+14>F8LX:NU?M]R,Y80=:]0M9RW.HI MML> C;V1YQ>!MDV'2JC X.WV'=P-R&W[%44[-T# M["UV6;'+"C8<$JF+7?8$=IG'UAD:&)).YA97RB.7J$,,\^AMHEB1C9P2+';9 M#MEEVSX(N--X_@@1^MD.N[Y8=EK]W3;^K&)D4%%,>5%P&Q$M>D*S;(7QS WC M\:FXFZ>_&TINZX?5M2/:<*12L+E7+ .58B(2VG)CN @)KZ7D>!Z%3\:BQ'(: MC[$!V2@%DD933005!J^WX.[:8;V93=NI'85--,LB=* ,&Q"YQ;:R7V638O47 M4-P=>V.3?6D+.BY2P9G1GA&+%%8.D$Y$I"DGR/M B-!),VTW@H[;ZETK>0'' M HX%' LX;AX&8,#'IR<"1*#; *L(7++>%,Z[A)_+U;&-GH M =YFC;A=Q>&RPU\ N0#RP0"R]HEZ+"RB,OB\I6>0-5B!<:M(9%)9)]8 F6E M7JXDMS.IN,%(&$,.A MG;3Q11LGMK'3N%B%3H3[9W]W/F>[^2?Z7NGW]U(YBL0^?U M05W#^AZ\;D%QM2$4OP<:/LX:/,S) 3?D;_[G=_*[KT_TH7G#VUV*NWK5GWM1 M<& JW;I2I^/S<[#@.IOJ8)"OR$N^RX,EUU7_H=K_O;ON?4*JK_9P'QWUJ*P?&'Y^[*\][/SV1#\CK#G MK%#XO/#YW?@\8WM74[#[[4IAP3UGDR(#109NEX$/X^G'W.[0G*%)0I."PI:!/42QR\ R=8NZ2Q0NK\^QIR@\M MGO1_[&AFFXNJKY[$2BK[[?/=L?9*1];F;,N9Y]+[%+'62%,I$&<.(VM(1!$+ M2Q3F.G!W/?,\)LY-(A)%@BGB'!MDD@LH8!4THX(E;)^DZA'E;&#H%M/.#YB[ M"TP=VFF:H\ K"E:,YM$ V$2%N.,2:<(!OB1ABC/*XGH=H@?AU=;J$-$"5P6N M=HZ0!:ZV E?*>6)YT,@*!="3&$'&.XIP4%8I;[$2:STGA%/<6<&0B"DAC@E' M5HF(C$Q8.6*CD_KI*@,)-A"*%)TXHA)L M3!ZH0/FX9P3@WD4;%8+@"7%A. M'7*4!Q2XL8DDQWG UQ',2F%I )LP=@B&":!>$ )A#8:BL)[@7,3QJ:)T>&"X M."3L>H(MYGNVZ.D&7(\"C..%@ <^$!97R\GDQZP^%E_7\KNW)_WKE]CXNHW5 M.,'3@)VK\23SVC?3?XH6V9G9EBWIS6Y)$U =X.,K)B3B5";D9/*(1>MB2B'R MI*\K#YDDML$1A&TNJ]9X@&4)IA8,.V)"WA7#CJ6;[@&3NLCL@1#R*.P.0UER M2BIP52G8$"*"#2$Q1UPF14-V0IE:ZT.;@F(D422]58@3*I$S@8'!8J3QEJ<4 M;RY:O6YW=&S2D+C)[ M((0\"F]!!IDH#Q%YKL'RMR0BK95$B6AP!;S2":^UN/&<<"LQ0REX#/=$A;1@ M 1GF72"<24I$\19VA/FW?<*R;'_EY[R+DUGCSVR_ >;[DMKM74IJ%\VR,[,] M,LVRU\EE7I@DO<((^]PV" >/3$B@B+B4*0JI<8@;VUV[E.X;MM@>O9O&Q(#) M@SK]61+,"C061[F0NLCL41"RF#./-F=B<)%&H9&+V:4.B8(;'C"R#DP;AV6@ MB6QLT^X6D[K([($0LLCLT9"ZR.R! M$+*X(8]V0ZRQEBCG4,!)(BY41(8%@924RC@AA=9K1W8?O!M8W) G=4/*.;BG MV C,6]Q=<=9KVX!5:L;GU;OW?[;5I]C>H==BT6 [,]LCTV!;UC&)X:!DC$C* M9!"/7N:Z8!@Q%AWFWC*CTV-V[MIV6G_]4-P[$,"F]B"$W66O/MLF_ =\MHER MKE0,B#CRE),"8\=-R.(\'PVIB\P>""&+S!X-J8O,'@@AB\P>#:F+S!X((8O, M'@VIB\P>""&+S.X?JCBI\CE+;R\VS&)H];F>&=!T0,6K8*BA=1% M9H^"D$5FCX;4168/A)!'D41@=2*$)8U"XOGLB]%($V40\Q*'E!QF?*U_XD/. MR[P*_YRUTW,82OMA_"J$.H_!#M_:.KP>G=I)/;7#+JF@LX%/5TS@=_%?L[J% MB;Z/S:?:QSX!X5WTXX^C[BF;S'.C TH/JD5%@;T">\54*:3>D:D5F2TR6V2V MR&PAY'&X%X%9%ZB/*&+-$%[%ODA+.3WS%/M) MOXT;6--1Y6=-$T?^HIHV=M0..XZOAN.V=),Z9!DK5F0A=9'9HR!DD=FC(761 MV0,A9)'9HR%UD=D#(621V:,A=9'9 R'D;D18][J.D: I4A,-(A0ORJE2HQ%W MDN% 2*)NK0>B2H9C[SE*(L$](FAD&/6(26F3M2SK=![*^I C6?T@7XW"A\NXUF4,^(\X?9,^V"]WC]JV M\ +X[5M5D ZJ'D6IQ%J0M2#KLR&K-S$$8W.7*$!)9@UR/$;D/;:4>Z>37D/6 MA^R,%63=*V0MQZV>8GL,V+CL@CU&IAQP5VR60ST!'JC:\; .U8(>!ZS]OCWY M$BVX\XKUV_N8'3+#%&PHV%"PH6!#P8:"#04;"C84;"C8L#5L*#&WVV-N6B66 M1$*&NHBX2!YIS#%*D9) 1(@.KV6C,^NLI($@HK% /$F"K,4&,14]$2:%1.7U MF-L?<7H99-MXJ&R@S!9SR'<31<'>/<#>8I<5NZQ@PR&1NMAE3V"7$2X# MV%_9$-,.\6R<:6(C\I:EW-(D6K+6M/Z'%+MLANVS;!P%W&L\?(4(_VV'7 M%\M.J[_;QI]5C PJBBDK"FXCHD5/:):M,)ZY83P^%7?S]'=#R6U;#3ENN8P> M!>(\J!0":DA:CB()$70*R)B2:VJ(:J<]QBAR'N$>PY'EFB/"M*+PI7')KC5M M[-IAO9E-VZD=A4TTRR)T0#D;*/UD"N@:FQ2KOX#B[M@;_U;0<1O!TYA(D&"D MNR@1E]PBY^#/2#CWRCNLH]X(.N92V&?C(:QZ^^N_9O7T8D/%-R0MX%C L8!C M <$Z2P39K:R)->,QT9EM)AZU&2@@.@1C WC73( MQ*@9QD%8>G._[VV (Q%\("4O"%D0LB#D42+D7D>0L:,>_H>1-0$,3<4,LC1H MQ+1/#OM$.5V+(*M 6%+,(\PC0]P[ ?@+P,V"BM[0*%52F\3?NX61#1^0IXLC M[PX.EQW^ L@%D \&D*47CDNLD, &@T&,24ZZ,DAB28/BB4JY9A +*HSU2:!@ MJ4$\&88TV,V(2.LM=Q2;I)\>D!G>XMG$@L8%C0L:[P,:;QDO UBODB8.MBN' M?U+PV1A-B#H=G59*:;_6A\5:"J:K4R@)+Q&WE",=*$-8:PY8*D*DYNFBJWA MJ3D^I'QX!63X:6'TW:]W8&<*?SYPW)=B\TW\N_;^K[[PKC-_K@G>RX#ZYG3[ M2_.37^1JXK6_O9EGC)7UN8VG'5W4HX_5:#R%1TW'67Y#'/5-/D==]HZ=PA^I M'MF1K^T01@X?=&7,3ZXM8*@_+9=P&+^@4#>Q$[$7,,W9^>AEJ-O)T%Z\R-^^ MG-B0-Y97TH7JGF#S#!M\8A1\DLLZU.EB,?;N7A1' :3M2UX6>,2+I>!]V3;N M/@45;Z.9N"*IL-C=HI\M,Y,F]F/LLXZ033#*%W;XV5ZT+[_[VW7J+):^6XKU M==<$/GF6Y;VS#;0-#+A5*]'_KI, MWV$IY.-!L;,PELCSCU7D^<5=.S\:RUH]#^5"CR_!/_\<^1G05X M62CD>#83O/,VEF[+2@$G.YN.%_Y5'DLV2V#P^7($%N5X!H9A_26&E_VK",8G M^/O%#4"[H9VT\44;)[8!4%RL0N=%]\_^[GJ>]Z>ZK5T]!._SQ>+^FS*XN]<) M=6+D]W-#ZX;OZ0G^VM?D:]_)KS_Z:_<^R6LWFR-_([>M+_LU_[OGYIL,R2UZ MVO<0E\=%[&Z>['X'(X$7\C?_\SOYW=>G>:_#3<]&]8=HA]M6[L-9 \[YW^'O ML[;Z%8S,<'F(XF&L@4BT(-*UE:.8\H(\AR0CJ\__ MX11N=DW]PP">&'J6]8G6??V[[7U5JQN?5>!+!TWXW*TD=SG@HP[1-&"C#N%C,)BK 66B&"6CT=[C2RC"1%) MHY?86N'Y)HK";0\9MU41;L?EZ GZ6MTQ\'2]V=4WC/+5G(@];&IUV:6MRS5N M(GSEZV&L1G-;/G^:?\^9?M6D&7^J\_ZGNZA^G.54NWI4_51B6R4P4&9;6/B0 MB7I(L]UV;&M5!7:VZD."7:MZM7O(GBG67R)E'94:CB MOV;U)"O=X@_NC1V[_9H_.^4&;ME1D\8('UU BIN N/ "6<C+,+1!T((8\#HB1@D5(2807HQ+FUR.)(D":):"UH M#'HC#0:V E%*D>.&J*?LB7ZT1NZK\S',[[^61FX]FMK1QSH?&;)M&Z=E)_B0 M1:PHC]N5AW5!6I8$\EJ"?:N#09:!U:H(CM[@8*URF[!O5R7P37J]E+]7G?AM M2)T8*8Y;F13(.FY"'@5D<4TD%=:@"."$.#,_"X.<\F?2ZELWS2G9[ J<5-JA8IM](,Y?(8OR'4@A#P* MY'+,.!&H0#+'>[G.R)421XS9W++% 42MY5<_,(OPR9!+'3EPE7CP$]C#7:%@ MY&Q?K/1\$D=MY^8537+ DE4TR5=L8,IUI Z4B,*YER$WR!!KD:+6*IJT F-W M$S9PUQWVYRQWIRMBMRFC=V#H-MH9'#Z/%[ Z$$(>!5A1':.S,@#2Y&:M0CAD M/.,HD("YC R[M)$ \);!BM*#.C]30K\[:>J"=S;Z&//YEP0N6_7)#F;,1@4B:9::!QT6FOS]Q [\^=96X]BVX*5Z>I1IX5/ ME]KY=%4YOVJ:K,V[P&NOV%^/7IV#B31]DVZYY??:]L7(R:9/@,M#LEYWYO1W M,6-O.::68M/$4$WMEUC2=?='L(Y,X6T[3ANTH\XP1*UWB),@D.9"(JDYTUP* MBP7;S'&T7MQ>C_SX/'ZP7W[]D@,@\>Y'+3A0. MW/#M@_IMWJY?*5;9'3CL3FL-Y]'\4KBR5/T[VMD6%CY HA[2;)\T1B0V$2/: MQXK0WN>-[S;7@H[UIZ[_=U:1^8ILH)7*/H=OD^ZU\[77N3$V:6>)PR@X"FZ: MLPD9[S2BVEJ>%"&:K16=NT\TJFVG]8O7(P\PV,9?8O_S]6@A].^6,O]J%$[G M$M\5YMC4UN1 'M99DM+XI<#E7L/EE@$MD9B"-&/O6.WSMTVEPEKSKX?LY*YKF[E,+K+[YCLD MH''>9+F\;V&[.[905/JXM4W!M.,FY&Y@VEY'&PQ8W\Z#>>VMRX@)Z.=,4("8 M2FNC6* J;6(C>=N(^77#7!]43LQ3GJ@I\?-'Q,\G]B+[G45U[8UH%=6U/ZJ+ M<>.U- Y9D@/E.!"DI6?($>JU329:1[=C["\$_&TOWYNVZW515P4E=YFB1X:2 M6\:Q8(7Q-#F4&( 9EUH HF&9#6N3%%$<#/'MF. /QK&OAR6(.23X*D'P736R MFUF\,0B^DLI9E,H!R]E>*Y6]-KT%:)TD*47""(UXB G9( URF&$3?.)>;*2H MZ8TJ*XO][Y['-"XP6&'TN&'5*,R(US\>V M#.+>J]QOBZ,8I..<&\8V.4D3 L.? M6.L,QUQOQ_A?9&_^9ST].YVUL!JQ659AW%#T2@^DVN)YY*_P4 _LF!VR"!6T M+&BY8VBYUQX$]CH9&BR2D0"N!NF1T4DB ]X!$T080C=22'=K6'S'@K@#NLUN MOKL)RGM2.)=NHI0:W<.*$G_$:>5M>Y:[_GZJ W@7[J+Z<98[G]6CGU:K3 "[ M?BK;$463'K@FW7:^CZ9."R-1=$: #V$L,D8&I,'K((%HPL+:.;*'^!T@UZ<@ MUF_G4OWSQ9]M+M>[#(R]6HKSQD[$&K7%$[&[J=V*RU& \EB!K-!Q_;JO4C,_!9?@4VVON0BE$][5I'E)=J^.JXE58^"B)>DBS?'B$ M*A&)$"B&8!!WA"!#-492!)8L-X:*C1RL>VLONGZ+'\:O/(AT$]_.I?SMT(ZF MKT;AUX6@;ZPS."EY9P4G=YFB!2?W!R>C)]P:)Y"*2@-.BH"T50!\FA$3C59L MO=K0@YHP/#5.DH%@I43GT^?G'JFA_[H+?67^S=T9ZM'4CC[6BZ+3I:Y=V14J MNT([KPNY9%0EHY$D O1:S!W=X0/$%$Y2."RCQX^N6CU7A+^-FTO(>#UZO02, MK12/VF(MCH/;"2I@7,"X@/&S@W%T =P2ZA$7FB'." /_@@*P2B,2PU9Y8A]= M=)'4(,ZTL P]6+M!,T&LXI?+]!B>^EL=$ X+FJS.#$%F LP[Q$P&X>#%00% MC"GB3AL$%BM&WAM :2M5Q&O'S#>89_P$P$P&0A9@+GG&3YIGG.J1'?F29UR2 M-,ML"PL?)%$/:;8ESWC[><9](#NG&>&+XC#N M3=+/SJ72;15O'B$ __V_:4IH(761V6>?[<[); G0W!J@84P2;:E#C&."N+(6 M:2$3$H8Y%@6E5&RD==SE1O/I4CV?KFKG9=FIWQ:^[<9+=)"!P%L,U3QW1*%D MQ.Z82=J,?8QA'K(9UJ/N$)QO8JC+H;?]$;(CTV;;/I9FK291)T0._#:DD-:*H>8L4E)^ [+M5:!#XH2KGAM[[.V?-,KRU_G6C1L*A)(#^ID M_!/8@27\=U])>AQ2$W W;;Z_W MG[WA6@I&$0T1YY-;!EE+,9(,K$?EC>'<;;+\TF_CYE(QOTFGG5;N3,V-;3)3 ML<5J$X>]R5RBC8_(>RP[S'LJ845?[9&^$C(JFQRHJA 1%SRW+DH42:^Q#TZ M[EK35P_9OP8E-==8;U+9ORYGA0LL/C\L%M=[=TC]E ',4A9G41;GIG.G!5&O MSG=^8KL;Z@U%!8ZX.,,]5N;):C?L.:;?MJ3+V@![7FB@Q&0+]!PJ]!0O^U8O MFQFF%MDH8<9H]9AX#(LDR9DWT4F^S/>6CCB#=M9Z7I.;>_O>AP_T.QYH? M8O_OO(%_>F9''V.V[+.9/^B-_=R9ZQ/P]FC:=L7[F]A.F]I/P07(WQ>E>\!N M]5X'EK>ME**4V&N%+),6% S52$<2$4Y.2H53KCBYB=!OUDCY_[]>RN&[I0CF M+UZ-PM4/5JY\&YMZ#"K, Y:U\9?8__SUBQ_. B@T^*43^7=V&G]-*?K-=>72 MA]5MIG@>!03W$03WVNY7U$43&49$8P]V/V?(QB20,TQ%0IA7XE$U[W<=8N_F M.X@!>$>'A+6ECL$N.PD]$^?,DCAG[:H!WJ[&O=?0^0C7'8>B'_=&^(I^W!_] MF$B,1B;P)&PBB#LJD&8N(J=E)")$PXW:A O2B_R;M*K+WHP>I35!7_;Z\9>Z MG8Q;._Q? ,L3N /^[BOVS6)X,YE7 ]I\F>:2DUE0>((PL5M*;L5CZJ"?[<]BLI.*Q=A6*.< MJP2>RT6T3=&&#Y2LPTL'.,#]_BWK/"*%3R%$A'D0X'FX@"R)'G%"G3>&&(_] MFL[3S&))&0J,@,YCW(**Y* VI8])F""HWFQD;D-[&6*@\-&UJ"S['04["W9N M!3N%HR9QC)'C- %B"K#]&4"I(8[BE QX!FO^@I7"TF Y@"4CB&-"D U"(*R- MY<)Z K_L(G82/.#J_HE-1P>>V]ZW* Y %>%C,/TGW79=46 ;$3AZ0K/$A?', M#>,SJK"[N=[_MC5==O,Z'(4V8\X*J5E$8-DK\ 12 &WF)3*<12%2C$RLI4$1 M%RRQA"*E0Z[ZK+/W8"D*U/#HH\:";38-:D/:3 \$Y4^ES*[QU%ZILP*E!4H+ ME-X72@$RM<(8K'IE)0*[F2.=J$,^LBB548QCNN886(IY= HEX?,^,(5[ F7@ M&&@NJ! ATIUT#,0 *U&@]&&>P0%WQ=T"(!^BKBE=0LML"PL?(E$/:;:;W=;> M)S7V"-OP_6PR&<9A;KUPW$[:TIK]^,1H.."B\+"1TG40YKM M4YX_(7>M0W6#\*R>02%[6(KJ;3.>P"0ONLV>O/DSZ7I;8K[O,QKY,E?4> MEGS:5A-[8=TPEHCE@>54;C(:>1211JIL3(GE^&((B&L=D4F.(B4,22XJ9M5: M097['!QIVVG]8B&CKT;AUX6$OET(Z.NY?+X>O9I+Y]M>.#<57]1;W*C9A[AA M ;2=)&0!M*T FO,TB02XY. WQ!47R":?D(Q2N.2,#-8\Y@S&\P,:&6!UY)"V M,*[A9U[8[M<[,#*%/Q\X[DN!^29B77O_5U]XUYD_UP3O=1SKF]/M+\U/?E%/ MX;7^]M!7C)VQ?@YCN3H;UXD;]].;$AGX=:R2BL M>X+-O3A\8A1\\L\9 $*Z6(R]NQ?%47CIQE_RLL C7BSW(+]L&W&?@HJWT4Q> MD518[&[1SY;>[\1^C+UG"X@,HWQAAY_M1?ORN[]=I\YBZ>?E[*ZONR;PR;,L M[YVMEFU@P.6:[BX'?>YIY,;#L(DU>)\#)!_.ZM%?0.=!!9KUNDP_Q5)TED4' M0/^8CO^Q!*!_K +0/Q8 M!L+]\<"+D^7<'G:C_:F8['/-,@>N7];(O?[)7)_ M!;CO_MJEA?C'[#PVM9\;B%+#?Z.P2&JGP'LU!&G.#7+>$V52RC\V42KA3?/1 MCNK_ZL[+GBXY!?X H_%M$]N\K9/_?).6*W"Y +\L]W@^P"A^'G9MJ"*8BY,< M^FMF\6Y 1QYA$,P5VXX@06;HBIQ4JZO:A?Q^@55IZJX;;$[J_GG6YJ8H[0ZQ M>;6*X=O$JULH]G0*:CFYU1@R/Q&,?7_]A2OSE<_&HQM73M6/T[-8Y1+M%+\\ M[:W7[B_R\J?*-7 =@#)<,1E_CDUFUU!_S)9P-6WLJ.V]OLS( -Q#^[F*(_C( M=XC0\7H;_:RIIQ?YZ$(['HWBL'+P1U>D.!O),#M?M_ - &TZ=LQK-X&K MCN\/'H &4+ I-_2F.+B_H[YOF$)M/M8?E@8'= M.$1?P_?5,%JPR-JS>G)2O>JZW/[=@G=<,3*H**9\T*W"?(&J,QLJ.X%I? $' M=QJ'%]5-TGL/BFT^'S.?KM*2(R>#1UP+@4Q4&&%N+1-6QD37\C'O'24%->5B M\R:= E./06-=3;!<^?0R5O#ZC]^^57Y3W-[,Z>E%IO*+673, FR>;0!@@$^Q M^CQN_@)SX',]/=MQ;D@I&6&"09B&?- A2F0)!?*R2#TW(H6T=FSOP=SPZF,$ MV^!:G?'+#^_%"P/RE=9>S\ -=CZ-S AG<3BI.ABJSL=-K&)*@&!PX2#_FOWT M3W&PW.3KPC[59.8 YJK6I@CH-IY- =7BI=O_##,Z7FWX>E2]FC3U,.,[NXKO M]6C:C,/,YSW8:5N][\CU'B8R!1-"L)?59&BGF7/A+CM=;-B"CLG,L*J>IN/Q ML.WB/C7,M"_@\6/]4_?4-+0?L\+)ZA#>!6SS_FP\?3^!=8H-O$?QE]6/^26Q M 4A9^:YZ%]L)>$D_]8/.JJM[]&P:QJ#D/LY&+5P,@C;M@T6#"JSQ2_O3#G,4 M%6YH+UHPWD&3 Q5@IF[W< N'H(@G#$G!0(L%(Y$.Q"&1F*+6!NS6M9A5C@<= M/8I!<,03<\@"["%PDQ)@&F%$VINU6-<=X?7H/\]J?_;K: KV1U\^Z!J4P747 MJS"&OUDIB.P2A/ENFATG[!JY55#4)>Y1DC(B3B-#VC(%WJXRH(6(P39M3$W] M.0();=IN-<#!/1TWD_&\5M2W>6#UYGOQ@MXE5IBMS**WA5<6H;(WFL$_U@!? MIPV\X@/,H .J#(B70'7ZYNWOK__XO]7_"_!DE^!TW?)N8_?<./J86_UV*!I' M647F])=/$0CUT4['3:=HY]=.SYKQ[.-9KVSA#O">X597#X>9@\"EAGF"8]+I M%!\K\"S&38!I^&;A]OWO/C_/ M(I(3FZ8U^E2/AV L94+T;VV[?":@FOMG;QQ5G^W%TI ZMV ] SMW[ZA!#?MY M)^CS.BNGRX?D5\'WX$+&E5?V%E6_!C_"5+/*?CO.I.NGF;^I7KU&SN;(XN=H M)YF$2Q6YU(5YMJN6@ TY$>OS&>CR&OQ%#YS1P >7CQ]4O_]^6OTX]Z!77SMW MHF'2KV8?@2D[.^.D^K#R]#'8B<#CV1JX=&2SFH8_T_2S!6&W+;)H[L16[%3,U@2QEX[G.S 'O;NVG?(//%V= AM6> M3>>A&[@61*CI+=_Y2&R3K>P3@%*0+6*NVO"YEGV>OZU QL]&P 8?\ZQ&XT^] M*9QQ \BS&A*K?K<.A@%/CE\F'<[ $H,O!P + CJ;S)%V^11 H+Q\>5;YRI7W M+% -8"HC3/49],&P3K$/(L HX^A3W8Q'F8HGU:L0ZCRF3+BKD^@C9?"*7PP!WS?I+#FM)L4+8 M4P*&>_+(?SBBHBO?GP/&6_K+[LDXY_/P,Z_0.//HQ@ZJ["^+LU=^L65W>25 M=(R-;D\K@HDR$2 ;?B >*&"PT1$1QK#T*0B[3M6';$^_!YFM01C NYBG*8(N M?MMM&\6V;#I?;CK3D^K][!S&?-'9AY?+5EVN6[58N%5^V2A;A$AD$ GX@.8> M6M:35W(U[Y&BV6_]N1A'>?-Z8IO+1A3]/WI]4_^O5J[?+P$(7RY],@.[= MUE(S&\9% <&/L^$\B =/RH]_WWMFBSC?H@Q_MA;.Z\YCN QA_'JZ? 4\R3:A M=WG 9JS/5Y9D&7@ZJ4[![03_)/N,RX2 _)J<@;9Z^!L^:,Z[15D]XI;']^UE M_]IB+]=FA3B7) 7G<0P^:W[R9-:TLPR$.78W\VC4<=LT'%FC=K?F<2_M\"SL//5Y.,PZ[L&<>V6PR'JV, M%2X\.7+[^L$RWC/$\-H%J^S=GHUGPP T@.MLQY3PU'_.1KVYVW'EW?@ZU<-% M#L'T!I?@U6@T@QO>=<*60X._Y5U'@M'_[>/ <$MN") KA,:<6N9CMGX7\7JV ME.HKSUG*][67@^CG5_2[HO.(_S'ST.L>G,:3>C1/UKN,QO=QF@=S6!/3, >& M WGJ)@W+&9-TT7,0IYV?^$(2-JVV98#S)KTZKM*MLX!^SR"RZ=/QFW=;_>N M0-!XV0"ERZ""!YS!$+-C"9B<0VY3,(X DG)(;WV=ZYD'.']OD]>L>VV]!=1LQS8H>7%%Z]SX8\LQ!FAL]RFS^QZYG M:/SW[Q<88FYS'"-P"@3BS AG* M%9*)!\\4U\'@3;C%?[;Q3?H5Q.:\3U[8JZC(IOU?6(P,ZLOE.&[7MW>E[.( MPOTH57[=9M8ZCRS^[M1AT$ &OFF>E@!LY M-ZA65VANW\VS'K+]!TO17S5?EL%RNZC*^Y.#U2A%MFGF2]F9,C#GWKY<>?4J M.18>4SX+$#_F_5N;=Z7GF\JP./ :F-:798F;+ID_IMADO[[_HN,.L-T6S[I< M1+"4QY^SS]_M]P(#@X4('GMS9T7PM M(EBI/7_Y>;SC"I^-81@-6.8^IRV=5'^_Y!W75_7)>\G+9\-XSFI8^*;;Z,[$ M:.JXV-R%+S^!#3V>M?.G]IOY ?1YV$N_%-@RGR(8468ZMPL;EC'3W%A2>>. M[N,NLZJ:Y8WSWO*L&S\[![F&-^; @Y_..@>D-\]]Y]J&.B>G5*D9Y[28<7M= MAKOX27]1'OCB-I=3EK*'8+O+TBL@L MH'&^U##R#G57[KSDAS-P'A?7?Z[!F>HRZ8;U7['S)6%ZV87K>0:0*(9.T@"^ MNV3A3&[;94PU7<2I0X(K"1=S:6L[I]9^LO6PSWGOB/RI9^U1G.>UQ9S7 'RS MBIIS7RZ+5=/:8=LW:I]G3L-DN\>!*LKI*^ 0KS#?(.<^9&G.BJM_RN+Z'G<& M^6\$CD??1W%Q4"C.P6F%]S) Y]RV2Q:LYG& SK^[,N7%:L2Y&@/Q^[R0@GZP MX\5B=O*_I-R<"G-'<#[B.J-R]I_G#FC==.3N2;_4<%<7O7]=IV*!?I>!@P5# MK//*39 ZJ#[GA-?YT^#RF>^#F5W^21<>SLI@%<*_O=&X6;L9.Z^23@G%Q#3B MR@:DHY4H8>)2,@&3Q^4&+PO,CT>9_CWMW]7M7Z>P'/4T_W;D1O25E>EX-"_* M]@,3=Q_AS?DDJ_4"=].N[QX2LIAW:_NB4]1#@)4M$;+CZ">BWJVTZLP!\G+E M-'T]ROF&O:/1P>EDG"^N^QS(A;6V GY]<95+INQLLWYR76[B_-Q-WOAIP'+I MHI+YDJZKUB*Z>;W]U@V6^MP(:FR(*XFV5V*-77X>_+^=XWRG]-IOO&VZ>QDZ MDAA!9$12F9Q/)Q)RTF+$1$[."5PXOU9<#WOON,$FY^ QQ+4#E.76(,^DP;%O M#')CALZ2\J^!\/6T3W]^->W.7N3.';_,5_%5$_\^7]X8KB3S+)]07S[A?JE[ M9TV,NY38$_)YP.GR_2)/%=K M=!8Q34/NL460)L8@RIC43(M(3-A5[DCC6;-+S-%MO?2F-\!EN@*ZO',JJ?OSNMU]>GW[WTXJSG?,AAU4'U^ .?!R# MVS#JS_7/C^E>78S+G SP _S<);]]!EUT*R?&H_FZ_0NGB]P&.O/W6QP&^.HJ'52/XMYU##F]%\B#[T4NPWE,$Y/ >_A$T)B>B ML6JMQJ'VUEOF!%*&P#T1S'Y+F$?,6 KF?DPFAIO:0^7#?%?[/KV:GMJFR7NT M_P&^S^U5#>65JH;B&V?YU(G<)7 X[P_"#7:/^)+;9%-NF6XQ& @"%(C->;S! M>4>H!L=-KR>(TJ@P*!L@/C.(RP1&!34."?I0T'BT MBWH$TVAE" IA$2GBUDE0(8 -S 65E)8T2'^=E9(B2D@ED941X"RN?&ZMU1>=7;+.NO<_> W%7C'&"9O?57.CO[*1N+"(NNW"/+, M^Y.WM\3?[Q52>9X0V%/'5*['(1:5E*MWEV&$C,YP83Z\/06[+H> =R \VIZ MS;I\3A#;-< !&U-&J01RP8'[:@G\9K@''U8H)SQQ4J^UB&;!"6Z%022;J]QC M@FQ0"AX1)$\T!N;_ $XKN0*\2< MRTL3!=%5'J#?5#D[Q '?[V1 RT=A [<2K,P$+F8N+60#M@@L4@P$UUYA=IW< MG 8;''-(XY!RI^, 8. Q,CQI+%D$$V2]:_%3D'N7J@Q]?^WXPW+O?SK.Q2-O MBK'W)43FRG&1Y#**TY,;N>9II@&J<2VE?O=TE-#".,YL]I4(^,HZ(FT!PRB) M!GLL%"9Z#;0XP0JKB!0%]<2C!Y_<"X=PQ'"79RR86ZID%1WUS.2.0#*:#*"4 MU> #X00 Q &/:-3$D7PBFJP5(DB%X!4@N18FD(T<0^V">4"DVBU!/\(;3#UH-8,%\]!;K)+#O#WW4&925^+*A=>V9S**D[SPYSF=_.$RAWP MBG^;GSKJ V>YUL99.S]E5[SE6PLX,H6%"QYAXKKP'$$N@F'"A+&8,)DB7SO< M$$PPCB6 *9[QC1-0;(DGL%Z,MX0FR>U#2O@42^0)O&5B?0+=A"1WN<@XN$+. M&H6$( *+A#DV:X8GH\EKL#"1L. H\TC!>=,*BF,R2+L(TAT%!W*SA @SF$N5 MJRL62^0;WO+BF,')G972#CJIT0;L?0 WTW1!4> &30A%X)=X ARB55SS6ARF MV. $=FOP%G$A*7)!&[@[!*F\TX06U;"CJB$H0:W!B$J?2WV!3> 2$RAPC166 MD8$+LE[JB[ND64!)YA1O3"5R6F*4&.4!C EP6N*SJ :U0QRPFZI!>)9R* &! M%@?IED UET#8$U&@,Y0#\V^-W)AI31F/2 80;$[ 7=4>_%Q/$UHXM5V[K5$[;NYR.NS(#G/^=I5T\OKQ:9FU=X!-67B\:[RVIK&RXR->BRO"_WS9D:-M9X!C-][VYZ2K +8LF_?^S^5M^=4(FYM#*_O!/,_@':RLY&(% M%RMZ4JU\N&@BT3>9Z:I=YGJ?(]\=V;P\>;Y:3W2P5$$4(.?8RZ!T%YM=FJ7;1ZNE)+LRZS,GYM+K4[C^?P ['D$B+3Y MX%&>0%\X(5L/;:[8UQ]NRDL(;NWXLOH.3-!^_)A+MV8[<;7\*BQDZL]:#?JB M/IW%F$N;@(Q?.=V_(^YD*2SW9.NN;RDL5TK+;;.TW"%8.K/W2G<8KW. MK=<_\D)=LU[!(%T:HJ#"_QB?S"TAM5L&YH*8[Y8E\W[\,)Z A40U_NE%]3 V M>(Y:-A>:6:W*+ZX$IQ MO+ZTT_JKY\?5ETBU9M8MQK6(PYW5,55]?](\&,#*OE;3W^U?L?FA7=K>IV]^ M^?O2C5G67.M*%EM8D\7,LS$8XM36P_R&L_'G_BUP<]_F[(;:_UT7MGR0O9W/ M:OZLR]A@;#I+MZO;MV%=P 8+^_5Z4>KN!"00['ZJ9=!'6)LX;<:+O,"%8] = MJ83'Y(8.8=PW8)SDVE^YK\"3Z*1[:**; ZZW=@/:E0JH3V:);;P%DJ4N&BBZ G4W'+^<.?YY(]O\!2O+E M:&@OQK,IC.U+#"_[<1*,3_#WBQNZYM:3-KYH^P+6<;&H32<%W;._NXQ;3)=Q MBUS#LB?]B\4S5BZ$*\-2!W6OE>)$\^]S6./V:\BWON?!& X4/OI)[<24F<], %^V, MYU>>UR$,XRTQ(KW5&-R]4J1NB/Q,P]4)PL+E;[NJ,U^=[#(VM@AC3J959PE6 M"U!XCN5XB*J\;;666]]?7;"'+E+/FICM.]<\D5S>1PYOB*ON\PI?E4OZ:+G< MA>79I)RNGG7:CHCNPHIMFJ&>49/=>;.CR,N6Y(45>=F2UNF_:_W7>:WR#Z MC4R_S:EW[NL&^>"6,IS2!QE=KM[L=#Z!Q9 Q'",I''8D4.'DVN%SLYG MPRZ1^=1._=F?DU?+EF4?QO,-V]-N*^KUZ._1YLW:-^EM,_[8Q+;=$/(R-J"< M%N3=,W \0N.QP-X&8,\+K[%AB$0&L,>E0L[FJA).)>X<^+1Q+3?'WT7_5SY]='GJ MN3M!W#72L#^7B'=+@=@.'/N\7* M?BJF[![2MF#D[F&DU F#$V_ KJ6Y,9MDN1R?0%X'!>:QP42N]=1F6A/MHD ME@"N(3#D,#;(P:?""\DIIKN"D487C"R!UIVQ>T! M'^;EXSJ M"X;ZB_EI]8URVD-//AT.I-\K9WX_0;^K$T$WJ^D??AKL<%CG" V\@A='@!+OZL)_%6+;JX03^?Z\'6G M#C=EU6W7HCLHN"SAS<=*V*^CL*V=^:N<1D]H9K4PGN52$<^(T<^3H7^7Q3A0 MN*9>)&>,0Y*!(\ZM%4ACRA& KG0,\#?9M6TGXH(EEE"D=( KN0X(_J8H4,.C MSTUOV?T243<%SGB@Q)9S2;_**ON'T?L#H[META; /%; C$E[RXQ&."2%.%$> M&6X2X&?"41B.DUBS;ZVEF$>PA)/P,@84#E[8K&[!3^)16F0LL\AC[S'CV@NS%BM_ M1%7#=_'8^"7(EVOLZKQ5FK\7*EVZZBZJ*/U,P.AQ?PUWE?ZG39 M<2[7@QNG:XV+2F6X;FCRVU77=JZRVZ&[QE?%,+=Y1?47= ;CB*,7O_U#DT , MHQFRC !UR3FH6 UZUM@ :E81P?4&]7R/=:'OJ7:ELM+5'X=E.J\^_X=3N-DU M]0\#P(H6Z-'4:<.V]9ZLRF$G093Z!YMLLQLEB;GE>G)6YNR%B+3E$47M*%R%.UEDFXJ@F &A6XYQ[Z6I M?X3)"M]0TISKQ*P'AT3FP*$R$CFA(@I>"D)QH,:2#IETMR MX@:2"0/1/((F%D+A7-0>5&M,&'1RPM8D@;G3:P$2SDR,7B)B:=YW)AXY$RWH MY$@Y]0Y'0IY3'3,V($(7=5Q\YF^J8V,<5@*,2N-RV@5/#ED1%%*!\*A )4NW M874LBSHNZKBHXZ*.;S[_E'BDV3V@GLB\30;J6 ;PCG%@#I/ =5S/[9>.4^$] M8%@$=1R90H;:A,"=4([$9+%5SZF.B1P05KSCXAU_6QU;;*A(22/LK4/ [ 09 M'"52D=N :0R"V W*X(>S",N8.^D5I5R4XXJM)(K!B-_/OMU%Y-;5!+%)#YH_%7TD[V94\\ _CJ1T>J-8JNGRG M='E);#W6Q%:?L-.*$!1YKM27M$#:Y*+^U)ED= C$KI6D?LA)@"?UV D;J&U' MT(\WP_5)DCDWV=SZ\9F*>6 &X.!E8]YYQ:E>HD9^. LQ5%T*9IQG M?5HW_A2KNLU][.$[N"[";'*7^2Y]\^,8#7.7^]!]L)KWV;>POXC3*E]P4BUR MPV_)!UV\OEWO'GQCHJ@=A@ZD&+YIUB7"+%\/@[;3Z7 ^'E\JRZ?W3T^5*I^PCX\E?+HN;3<^:&*MS^.JLK>(HL]]5$@VZRT['YS#* MB]4*:I;,B 3P>MTF@3)8TQY MV!TL:E?]SL\/E+0+@/H3I@R,\'Z:L6?0(<+.,4+,C848D#^F),! (0SI1!PR M(D2BE @RK!U5I$)9$D)"V!N%./4*:1\<(H;H) -F5LLM,\+-DU&6!^&)0-0[ MB3BC8&BE$)",5$H*0V9\K1*^H2P$*2)*&D=8 "EA,CXBJ0E)UF#-UBOA/\ED M?+2":B614)R!N#&"G *K$$CB$MB00;"U^LY2:D&LX$A$!_? 92"=7@)Q@20V M<9[\;;D7FYH,/I$W2.BW/]A1&?[9GMES"]+[?CR;GE6O$EAJMA/E/YO9QYF] M.*GNH2W8GFH+9RC6(%(@]H#\^1\=#4&>,RF2Q0Z\F[6L7,+SZ6>"5'9_.!<" M.1LQRDI$.T^-U;?M.VY,6^"3VP\N[QRG[8.V8 E3(T ].()SX?FN-K)3R $3 M8& #;UU<E9MHGCP!] 6"#,$BKZ)&B6BBFE,1ZVYAT\V0T-L%BX&7CP1#B M) IDB! M=NR]"JG%T]EY3^?Y*+2?6A,[8V@(N>BPR>WH/!APW.7FG( \PN"4]%KL+VH6 M/-C/R($="T9?,,@X+L#EDL9+%;CTV[9&J3AA.XLG'7L.+ZIVYEK?U),\N$&5 M@YYP>7?,-P-+.YM,QLVT:F/SJ?8[JTV=L)&!9&7=DZMZ:8F,9!H1[RFSCG&J MUZMZ>4U RX(3KL'U!@:!>T"/(:PBH9$;2M6V&02?W-[4];GY8]*,4VQ;^-L. MJW:OL+20*+BB#I(E@X3FADJ8E@^A.PVYW'P=YVFFY3#$;,R>T)@<_-80>%0-)@ M2KGE". FUU#)VU,^:B0(%=8;8WE<8Q"+A8R6@4XRDB-.24"&:H.\CR2C$&'X MMKR3C3'(82#0CIB\-VY#_3]5M3NV\+:686W/+L]ZM<+,,'Y!H0:XSRR6ZV?, MSDI[M\W3]O!)T;!)_.)+=[=W8M T;QTXR]Y M$KD6R'++\\NV]S4O=]B?GO7,%=9;L-K9,MUI8C_&/I,)=3MB+^SPL[UHYX4^ M5JFS6/IN*=;771/XY%F6]WYI.AMFX?^MBO+-C.;N^-'<*Y=1-J/XUL\UT68#GF@OCX>/-^C%DS#"//B 2.?@^8+4BJVE" MA,CH>7),RK7=Z@7XK C6V]AD;0E*Z4WZC_$45OAUUIVQG?97-==ZFTP II96 M+:*K9BW]9@.HV].EGYZ=OL^,D'GC/)Z[V+1G]:2J%U//T=Q+P>O2:F#B_LRV M,9.AK4'3V@4W[9[7$[1/)A?[DR0!$QD#:LPXA(4%+E,$.[%VC"XYS$+EQ M1^#9W2'@$6_;LT%VE?\9<][3N/H\;O[** 7*.^-Z99==XL%%!EZ!0?FS'>08 M&94V02$7%7",U Y^8Q99F\^C1:J2$&M[\5')Y!1'4;%&G%3"3&5W#E?^?O3=M;B-) MTH3_2IIF>KK*#,&.^Y!ZVTREJIK56EW64L_8?GHM3A%O@P ;"4CB_/KUR 1( MD"#% PD@ 419=Q4) HF,2/?'CW!_/%@MO:(@):0Y4+04&:,5\L)[D6*0^HZ4 M_&R'T_^RHSG8([#E%Y/QAQDXQ._K>A[#6W";5\#WY\GT'HO6'>KT\G!]<7YZT)^">(2 *Q9A,96=J>%:EH'4-P9(:3\.'< M@@%?#1QNB4/=_'E5#M[_]O-C?5[<#(1ZF/!X#[+0+F/IP"Q0)P48@JA2(%LM5?$0X1(4B MWD>>N%E+YC['2'TC1+\%.Q^G=ERW)=(_P<;-KJX]Y@5*C4/^(5=OGZH1:R3P MK,JU[P_XS;#PR4W%NVT>&PAHSA]'.QU/YK/JTEXU%?#7@GSCD3=3Q]2;^N9X M"CZ9+WTSN3F'A/G<:S+_=)Y_$>WM+.-#-YG"C<8>6ED*\5Y@)'>["@6!G6/( M).D@SA.4:6T@YEL+!F44F GPVC+?!>(NNNS[4Z2DY!CT@H/7?U?,?P$A!QL+ M4CQ\>-#1\^14G?4IPKN6T[8]H:E!N[C\U]Q6[:*KMY^FL7% J^\^Q%@U:2=" M!_?:U'VE?WX>YD.W+-!OIX [GUJ'>7^;^GV.K>:MS MJ]F7QN8D\/&JS]G)6]JP>]3_BZUW\"0>[1'L"RPPY4RBN*GXSD7IFB*K/$;1 M8RY#B!ISW$50_PSKMYPL,8SU^W$S2?3A.;C/ Q+6,R#9WW>W$#8 0U?/1UE% M<@!@00ES=N&0T1/?]QF9VEE:!*!U;=&<+ FKS9RANNX$N7!6\_1M]D^F^WL-Y$!BOY_E6');LAUOO< MZ H7R2?U[U$K-EV@O\\";$&=M$4MU8:?_C+.SU7/2^PL% MR)V[O9='Y*'!2IXK)4RN%HA@F7+'B&4TH8 UCXXRZ]>["H-W4M' D=8-!Q*7 MR(3,G* "388[8M=+GS_X\QCF(XC3_GY=DOD^'_-"Q)W3H76\.:9[.UYUR.!O M<,>A#%9ZPF EV"FX8[AL*W&VKN$VF[@08&4E5@$1S'\?7C^ _%9X @V0C&[V MOJF?G39YC>LDW5H,],"@I?W6RAW+C"=^9IXPX\D\.L/IC'8PYNGQKRECGCIE MOGIGZ_-&)_-96A5!\4!_5],F1\7"NP,JJ+(/=2])>,MHIBZ#0T>228P@[+C- MY H"68=S'R^WSB6L%5[K_=VD"&O%]UYW[K)!?8)[EY$._O#3#<1U-43"/%QR M M\N^U?^ML&/N6*:@/1G%*V+RI"OXQG5S",JX:XYRCYJ:=M2>TY\/+$B4?,T872WP*3[G[OBP3"3$Z-SF( M3*J6:0M\M$@:I;S&RC&[5C&>P%1Y9T(VUP;QX. S) ]=#):3W&FA,S/.]BSQ M^_',CC\-VE _&-!N/3TH\2#&^J:1^6S$:SZ,_'<)U/5T<)1L7T%M-[ M.D^Y^YY$+3CG>8(Z83;/C"#(42I1\E1%Y[30:HV1/Z3@<60>F81Y9AO'2#N! MD:0B***EDFYMO$"_3:\9T&)Z2^#;D:9]G%H0:!#_HX2@8G"+P3V=I[P%1E?N M&5<$J># >#HOD?..(6&Y]8DD3>V:P67!,D$<12X8C;BR#'["%FD6)6=$"6J? MTL+3(X-+!M\BTSHM_2BQ[J::]I^329<8U-D,WP'E#_-WG99$EY!T4]WX?78>IZ5. M^?CQLUC)4WC*W5M)IGD402**N8>HE$!4*IA#42M!&%8IB+5QP_NNA;I5JMP M7%>V%S_,5G=:2E)"TTW5[:WWTWD,5?QZ&<=U;%OM)XTU]JW\KC;>'R58%=-< M3//I/.4-L.*[%W)H/,_4:XYEBMHBDT?"<)OB&%+D%-8I02$ MK;M?'1YW+E;9X\22"'!Q6?P-DL&^N!Z_Q=DUS=]";8K5+=Y'23,<]%/N?A2] MTB$%BA'VWB,>B,[#TQ1*@EJ)*=ALMD;/OV]+#]#65>\5'QA3LOXEW.]&Q7Y: MC,(;V>'%4<)/,;;],+8EU#^!4/\A@TV\XT[DCF?P6%-]E3"P1^,&8]1)XO[@-K!EQ%$&-+IJY'[=F'!5K6+R"'7D%](QF MW J3>2:NW:-?L!^V[Z=L1C_$IGOVT>A]$(D@EB1&/!(%,;U12'I%K!$X,+4W M]M$5;V#;L;T8"+7E,_UO"MGQN K/= _N%>'[?88[V]HN[Z$-(UO?7Z M]XY9VAS@%78A9^ST?S;TFXMYK?![V'X>4># MSVYMSMZGGGU:=-@UT\E:]Z(9;G@Y!3L_A:M5=C:;#MT\!UNS9C@[F*(\9*^^ M&D=85S,>S3[B='+1#DF#K_YT,X]V=;CB.*Q\ MYS3".NN8QT/DCUT/A6Y&-Z5F"F!SS32?S>%[_8(4LRT$SY^(%Y>CR56,%9C, M?X(CX^/M0>_MG=;Y1D,,-VOOSSYS6,?9_9K M'KA[.:EC?5:]K2[S%=I/KUVQ_:9F?&2^J)]<7,0\$G)^"2_!%6>CN)POMS+Y M^O84WY6Z]MLK:O8H+'?YSIUF;S+/"(:OC(L9B?;RG;[E?S4[-2W@[8"O#R:-$RZ MRU+]056#L]D^IXMF)F.^L>L_MO,\V_VV >1V6,_RPC_'F_?<4*_!9GQNOG1R M946"95KBSM6%8+R=]-E/) M;X00Y+YOTVQ=\(P'*U$SGI8;3S*CA4?!!(&EC[D^<._9SWY5:, =H1KX,,1%>CC$>##'QF>C2W]D]9OM,HCQ1=CIH= MUO\$V)JDX>AZ:'VK"(8M90A"]<\.P40:S]6GCPNO(/;+$2,2=@\]$B/:S,L'S M8SI:=_1E.?PCSR8&\7F[8AA FX:3/'A\11G Y?&OPWR: M9Q7OY2$2>BW!=WVE?>E?.[AY<%N*ZG5*SBV*D/,@*[G/@T20!*[SP'J?I2-% MHB76R:FPEOSA.$4?,1+.@]A)C9%S3B!I/(B?!+2U:R-^CT.$2$]%Z-I-O):B MV9)=;HNRX^$?,,<2"?\]NS/@#4-P=$_WW(WW^_ZWG]=U M#GS@&YV[=Y&*4PN>B@?[D3!X)#@A[;!$*4J!C?:&JK4)*XXX!F$!X ;3F8D@ MDMRH&)$(4H<4$\<*[VF1X\D]'GYO7/[5">UHVJ[YINT< '(9"AGE7(8QJ!24G M1D#B;OKZFJT;QUDUFM0Y,]5DAN#/+D*P69W;SQ%^C./\ETN;K;FMJV$;C"W# MD',;;HS]2MH)M.K_V/'<3J^J]CFQ-M?3AB'#<2NY\/#MZ#K- Q\:72W?-I[, MX-8\Z$F;N8*'-O1MQF(1#\+MSD=MYB2/&6HCG39G]F4R'X65!5PGS!9WOR)\ MS0IF]I]YF2-X$/?<>9NTN&]#$^COV ]A#2LK@BO6[=<&L*:WTG0YY90+5P\I,O&QVCO\'P(<=\TYZ$?NS$;LGSF M_1@WU[I9V[6(W"QR]0IMBJO)JRT((?(3^VR'HV;.[.I;FYFS<3H#O^@F_],F MH&XR8>V- QK-<_%) G=^MEP^>([CNL6INH('W5P ONW"YL01O'5ZLZ\W-]NN MK-W5ZRQ;-JS#\5GUOR=?0 JF [C&V'YJ7Y^(?]WVL?=-Q<8>XD9\ZRPG'\VTYS=_/;\^ M-+\$Q6C/QB'VACM];4=?[%7]YM5?;CV>Y=XW>[&^\9K *WO9W^>=BFVVG_>< MCS7'77]9E>DG+/9@'8WFK.-R.@1$6J(W@&5S3K0\L1J"$6M!/?LM]]BV.5-$ZR8%%@N13=*XF[/5IZ?[U[_%P[1X+'B&"= M1\%XAS0X2,A**XBW0K#U)H2N'_]O^:# E*T=FT@K28@" ML2@EXD9B4 !O$:'4.7V8Q. =CZ[O)\:9U4-QF%+A[R;Q-P?L19E;>H:O:H^A4B0-BA)@K;1 \[ MOM-J<]=''JCG\WY<_3;Y'"]?-] MSH7D;,'-UU_/"RO?WP M+K\TN/=DHMM'V+XU7_EUKC(:^@>AM-Z5OUK;J<0J&<16__: M2SMLI;IWSIAU)#,X1&2PIH@SH<$7=PYQX3&SUO&TWN[AL?;&R(@2"V"Z/-@O M9\!_=]8:RW3TA*\5C?QAK[("@?/U[EJ-WZUJ\;*;X^KG-FDZ_O0V^RS?)FE\ MGH-&SD0/';1;(O@@QCD[@EV)@YPK3O/1Z$Y!90:ZB0.$7R2OYV!)VGCQ<@[@ M8R%6MY\@<,SO[R#V/F #M#Q5 "6E^[ _H $1/NRK7YH'WI82]PX6A,*&487S M.&V(T0PG2!.F$ :5QUZK0/U:B YQO"-$,R2=B8@GKY"Q$.;!+4F&C4S@"-^% MA0? X-VUB7U;_P3;!ZBP[OIVA0K]C-NRNS!9/R?+AU:#1<&SK7[-'ZO>V>EH M4M7#B_EH<>BS*'YNA;"IV%PD[]K$TN=)?F,CL? 5?9.]X#0GUA,0(6'S#,6R(Y1\+GVD>N#-*12D2)-M91JZGQ#Y;XML5#UQ+V M]OKPIJM"7XE[E1[Z4R,,?7OLSH)K%8) >19PS@I:Y#SQ2!%KD_,I:L4[?>R+ M%.!_72M#9W7=NE^/^TX*Z)L!SK#+^.9@PI79'FOM5D.)1Y/[@^?Z)CE@!<%< M-#7!0^F=J\&I-E1+@B0!1>8B*M#[Q!%QS#CB8\1!XDCFV.6F)$ M6B:"(A5P$>:)"&LDG[1;_8CXLM?J)/PA]!$+ 7#[/4[#.7O%)YLEKC %YL M;K";9H%=:>'*D& 7%4*+1JIA_GQS3+5LNKHY\*H7/L]MD3^KWMZ^RJ).9>G, MK'3V+= I%]4NM >>2YMNNJU -ZU/H2EQNK2YP.X@WNV?C?1UDK%5E\C+:$\I4(CD1C@ MF1<4N03_LCHR<(E82G8MTL(A296L0$ID#UDFB@PV!CG#X'7B-,.TAY$6ZY5; M5 (MXUQ,*?O9Q+),W\J1M3:BX%*,ECN2^!I]*XM6&^TH"MJSUOSJ!,9;<.JD MY-)SFO87:"EYUB>[V<] 2PBMP7]*"',MP>$B&&EF(7(2BEHGF:)F+=#:Z+%O M+] 29[I/C[L$6GT.M'I2:7M_Y0%Y6>4!#5H'[@/BEGC$%4_(P#](.H)!0O;K -LWMX7!SF7 OIS"VY97:UK M_!.),IY<&GC3I--4?MK\R5%#]/!=\^63>0UOJ+]_W0]-69+:M!6I]Q!\VOEL MLF11R[>22YPA^,EO1R-[-9G/X.I?8WC3?A/!$%;_:?D!6,_(7M;Q=9U["L#9 M6\I)0[/77OO5?7QF$,(.VP#D]?(:#_"3M5\KQ1DS(,&O_O*--Y$S+1][RV-_ M9V<:/_H]C]X'X;N_CT=89O7S269?SB+W;>[XG;-&=I!LL:31:KLEA9$*OI2].7)^L**OI3!5#N<2?%#A"_*K$K+(M2. MR?8/'Z_NN6S?IKKM9X["D2^NY4X+>Q;VHN&+64^18I@>- MP2#'"498.$:=X/"AM:Z /N,>'\"""O)MX%MO.!VNN6H'X^&:ZQS:?+A%&]V3 MC@:O=F*P3+%7^U?$4S53N1^7T/+0B]]YTH_TX/7XNQ=6G#S/?=5,8RZ#0,0R MB[@0%&G! F)&4TZX,R&M];HK88DBD2%I0FYJ)109*S3RA MKB>!8;;O3Y,-U MI_?#C?!K/FRFMH2?'NM]'0C\<$WVH>K>TV*^[_>>,2Y>[>)1O&M*X!IJ@R=5 MOQ7'=GLSRA?/[]A-YK-.#@_3J&[#.3ZJX?;%@2YX4?!BQTZXQRZX:!7"7%'$ MP:-&-CF&C%&*4<^UR+-Z>N>$/[/=^X7^N-SEQ/'>H/=>_/479*'[;2,VT-2? MQF'7Y1TG9"[I&R1X.YG[/0IVS&P=O.^VT=: 5CUX@ M+75$3$0C,)@PZ^1=6T>,\T$1@X2D+M>6".0H?%JG2+E@6E/3F:T[BCJ1;\I7 M"4H*RA:4/6Z4-2E@(85$6#J-.,,4:6<:+@K/?CAK@Y_SP'IB(<(+S:?HZ 55R MR4D('@FG7:8N2,A)JA!+FBMG4W!AC2MN([J#;I(''_,8I12G]6]QMHV1J2DF M3#2L,' ,+F.FD/(^$VD:&0V%O;)K(U,])]Q*S%#*DUBXC:H]"S7,NP 0*"E9 MG]K=TUWI^8S5V7*=U7 \FU23:369-Q5<-XPO+YJTVA#CW:7+XX-]KA3N?X5Q M[<$*M4SBEYFSOBZG2?:.E8U0X[UA%EF354H(A9Q)+KL+WD:C/0MKE:XB<.JE MH3D?N0;B6=&W#E9&B0Y"E MAGYQE0ZEX3+9WXTV]+L(KU6U>*WRYB5V^S\GD_ %Y.2&NG!OXY%>F*)=:P3MX($W MLY'D6;7>S4?WY'2S*38=_'M1@R\ 3X?IH6?-L;.:)(D"LQ".)8.1XU@@ M;3E)F!ML[6I/B:4R''Y:;%#&SL=9GXZ( M>HF?F8WIC. :=&-6);KQ)9Y]&SVD+CG\3M\G,Q/TH8N^2]Z!#NB#^K EA8BC MB/M3Q'V5-[Y(?+$H/5"QD^2Z*=Q0Q205?7FZOA1NJ(/EAH*MVG^YPFZ)H>X_ M;V[O?/][L?72C<5"C[0L0T<68TH$>>\8XLXPY*)1B"3.E7-1NK!6_.8ULUA2 MA@(C&''&+7**&Q2ECTF8(*A>.Y5<9O^ZJJ3@ TK8EDHI]B?:NRE&^_;Z=DXN M_6@*>Q?5:@7.C@+.DL?!$ZV0#R*/&HT"6"= M5#1P^(S*T\FXA+<#V$85:#+<$>L?=!L; 9S&T$[A;=O\7H:]S8$G^I\XG:ST M7A? M*^FX\,JL=_2Z8(DE%"D-+BKG.B#XG:) #8\^:BS8@X6L^T]J/B1/UV="6U;* MP^LL^S;B+[,))9M:\+_@_Z'A?\(FR"@\DBE[[=B"U\X50X)HHH(/)/"UV>F' M?:A5\+^KJ&%GM7%[BA1V7^ES>@:R;,#);D!1AR(-:_;E$>:*![L[>V$;.NAS M6]NINZVKH_@5A>$T-@Y/[AJ;7XS?A&%].;)7K_-?WUS:D--4*X6/P_;[%ED^ M?&84O+)HYUM^=_-9%,O>1&Y ^[:D?FZ;?N[63'I9GM.R"W)7(K4^;6C M+[S+NQNO";RRE_W=JPQOJ0F;XV02 MM0Q1$0CB$,@@G4)"TDMI6$B)F35.@Y0BQ:_QE^#F&NS+Q,5NMTJ]]+1@K F&;#6H94^J&)R;3JK0]V_DXY8&N[=W? MZ%WTJ0WQ-"*.QS?@Q0," MCFJ+KD-T@DMSVD,$ E5IZSS@ONOU0JYCV.$N *X/6]*EPOYW\YX8JK>P(Q#1 M5V\O)K S_]-2^+5%9U7CC5Y%.WVD>/O)RBN">:QX^%)_[) J MAXO"?*.MQ,\OYJ.&4W$5DXH.%1TJ.O0T';J3;2SJC8\)1 M)0DSN35-(>TU0\HPD0VF, M9HVR7BN51/*9?3JGZH/&R D:D=(T):T)"5&M,4D_F&S_1QW3?/3+,,5U&O4P MGV;OO;O'3&Y"^[MGS\][TGWK("G-]!V645(AE+$T3WT4&'$E"++4),23E#Y$ M[21?.XOJ5BGJ)NSJJLE>#+C:UASU0VN:.AQK=H+=G@7%>CP:%PMB+&,2>1H" MN K"(:MSWQ .6#'NJ>1K M/FWT-Z"1BE8BX9+.7E]$FAF)DO-..TL89=O&MWM'3;W,Y\,#P0M/W";ID3*" M^PY7TC3"0B=I]L5.8S6+_GP,%_QT=?Q)$D\9XR(2)+QQB$O)D4T>X$$IQEA4 M5(NUMFKGL3 ZP9M/#:34;$ 8 Q+Q-X_UH &$:!-'<:.1DX3X[9P->(M3H&P^UF1.A ;BTC MTA<_N&1$"DR>*DS>#VN,<&FM3PBK2!$7!N)?;A1B6DD:N!."K)T)=PQKW25" M"!NHK1'F'YJC2*?C:WH^IR.KF$]9U -@04W5$> M-&(R1L0)-DACD[LN5;0D6"HDO@L/B0M%B 4,(28/'R<>.4T#LLP%XY2*S-B> M9D.V6S%R: A2+.4MOD6PC=P:@:@F$ D 5:/XX1B,HI+XPGW:XG!;E6AVVS( MP&A=3.6!6;/BY1?LZD$RQ'B;E,,,T2@!"[GBR+ID$28A!LTD%<1N&0NWFPPA M ZJ.+Y HR9 "DP4FOU$5XA26G"5P[#1#G#*/#/4!:1:)$#AR1;<-:]TE0Q01 M1P=@I21D/YF0CU,;8I;AX\]X"&9<86U#HD%8%]E=#)!) M*(N)1HICF0_*=4Z(YD%1++KD!65J;8!*3S(>N[J< M8,A0,/($,')'I2I:4QU40-$VV1F/D7;1 /#J&+DS1(FUN94=8^ZVLS-8R9-$ MX9+!*7!$P=M2:NSWQ^P230'>58N!AHL^72E".;\U8PLV!F MP[/(!61S6FZ9L;4"99E4E6 MW^;._Q$!91#/7A6F#+,J M.E1TJ RSZI$+7EKSRC"K!_KTK'(VD&"1]]@ACEU UG&.HJ!*),:(36M%+TPH M@Y,A2"N-48HDB0'QH M05)D@J ^I,!,7&/SZU8IRC"K4N-5AK,4%.M3;19/1#)M ])2>L3S'"MG'48R M$N.HU?X>$L..47';PZRX+,.L"EX>V[,M>/DD?%-.Y6@'(]NPL5'!D;'@]0G- MI,(Q69>VC6\=#K,B [RU0M-#\_E*-]JF&G/:PZP8Y9H+\'P\<1QQI0FR/"5D MM=$T$*F"69O@XUE0R0,4!"%,.Q!9NTSVCB66)CJO=%_IF\LPJ\+M]V!JQ&'! M,=8H<9Y3(R1E6C_X25BK&<:.VS52C&Y5H0RSZIFDGY*K?R*/].#!:S<9D<@" M4TDP1$W*)(>>(Z>D1)Q+&K!-,L2U;K6.P7#;PZR(,4>'CB4C4F"RP.0W8"UD M%AY#D7 0Z7 -,8_3'B,E J%:4&/)6B*D8UCKD+F'#P@G1X=AI4YDK\.LCC_G MH4QPPF""@A48<6LE,M)'9+0Q2GLB,%LK#+$V1$.M1YH0" DI^$-:!8L,HQ0S M'8QPI*/FDOE0,LE"330S"?L= AJFWD(2HIU-I@\0E4=6"9&90(8N:,6'4ZXYM8@[R :X41&"$EB0B(0PZ(U MG)*U3'7'F+OUD55\IQR@O4'ADL$I<%S@>,L'?4P2+8E%07B*N(L1.0JQ8,@3 MJZ*4.-*U*:L=PV>G(ZO$:4)EJ8TI(ZM.R485@O]3)?@/(H+]21AA'QW*KC_2 M HQ/GJVH(_:6L[736*^9Q9(R%!C!B+._ 4 M_P4S"V86S-QGSD53'H(/#DD.R,MQ D?0*XR8CP"NQEJ%UYN#N\7@[>9<],"P M4YTC6+(N!9T+.N^ROYPKJK 12&N3^\M#0MIY@:(- C-'J5A/P72,IAV.K)(G M#)T=CJQ:JU (P\\O'61%:.>3K)[*?+S97*OW*[F4U5$'\>ME'->Q^F+KREY> M3B=?0?AF<715_?M]_L\S[J1SY1::QIAHSJIZACCQ&AFN. K.8,*D\M3IN\I- MI94D1(%8S)W51F)DI;>(4.J\'E5O>4F[Q6'[U[.%R M@-U+1P7O'N6=MN/0OP=/G*'"!XVH$A[QS!KH?!XJB"WA3D6/\5HMB.>$6XD9 M2L'G!K2HD!8L(,.\"X0S2.SA^O#]_C@X9ZKV7F$_T]CK"[@#>=U M%0$50_6KG?KSY7 CWHC(K9?8H)K&^C+"6CX#<)SM<36K=@%0_@7"^^K^ZK[$ MJ5381J0H2XA[#4X"5@Y9H:WC+FALUSA]7X(]'_QY#/-1G*1ON!@_SV?S:5R5 MUI]:%/^8#=Y'N(,?1A/_SU=5! F]S"9N.H^O=F3RFK?WQ>I]!(E.D]%H\F4X M_E2U(QSA^G5NPJU2LXUKIPRW[2.8Q4FZJP)Y+M#L?#*O01?J[U_W0^#+H,K; M[^&/#U]\PHC';JZRXT&1I3+]44_C[_'"9@2<9O7.2EV2,,?2WK/_?2@/OSS\ M(WOX?:/R+=S5'0;8S'.#-<=(>D=S"I1#@!THTBF0Z))(A*X%V,0%2RRA2.F0 M6[EU0/ [!.74\.BCQH*M13??.H1:CV:N3?3O$ SE6/O_Y@ZFKOHQM#@^LOY2 MNK8?9Q+\1U&L2%ET6719],DM^CAZ_0\ZZ.G>(>1$.V4,,DXHQ+%AR#(,#F$@ M2AJ)DW1K/.W;=PA_@R_[^"6./L=?F_.)KL[9!YIL^9C]8-2@)!8[\ 5EL1ME MT6719=$GM^CC,(+%%[S%"N"-=LXQY!TFF8D%_+K(-1)>,HK!'=3KK #;]P5S M+O#CETEW+B N+.\E'=B9"ZB*N2B++HLNBSZY11^'$2PNX*UT8,#>):T0HYG? M-EF&K */D-E,>9F(PH'LR07,YR)$UCR@+><0%T,1EET6719],DM^CB, M8'$"5YU YZEV5"?D?9YC!:8>:6PMHD0IQC1QAJW-==R-$_CS9-Y572 ;*%:F M6Y5$8#>*]/$\PMH30$"Q&F719=%ET2>WZ$*67,B2[^6>I,$IGND<--:(*TJ0 M(8RS'X>U'TWJ M^3363^!)>_AQRKW1@'YI R$W&84N'OEODUFL]%GU8YS9X:@A.WL':F^'X^K= M)#/$U3'DGYJ ,E.$5XOMK)K]K-YZ#X'8K-Z$ ZWC)6V/!9!PQ1*C$'9R!I(H M'$..)FFQI #\/2WW]N]@4X:?,S*]'0=X%K.,ZXWI MN";\<[L1Y+V0^[5OS5=^/01U'OH'G_QRPZKI]8XU=)5^L6>K8X0>(O$['B8] MR<\XWY29CI]M3&YW9A[E\^OZ+A[)(NGGGUS>*\3K9OJ^&WP./8S>RL3R;<5< ML''YK__K%7W5O\6^Q/H\M!>_+OD_G^))]V<+MA1C'^\"3T:@?P0#>>'B]*1E MNEB)?BG52X^##T?MGDHT^^S]>23O;9'0L89AYR,EB8:O'6=G "MI_-^B[-W\^D4;JXK M6ELQ,++T,!X:N.W[++P@V&$C6)+6)FX8\H8I0+!(D/-8(,'R-$3&A$N=#/+> M!8+Q@5"\(-@&OE\IAKS9W^5IV>+DYS3%J(#EK0VKC=/FT+9SS#0#)DO3XJ&AV@DZ?06^.O#U MHA:.)8*B]AIQ(P1R*45$;HFOMSOXD@-*MURS>#"R7K)]&V?[ M\K3/ID MC[3UTQB&LVHT \B5YNE#_>#W+B@<*X(.>F?>^] ,5M-+)G78A?_6@> MXNV>X%'\BL)P&AN!R7V5\XOQFS"L+T?VZG7^ZYM+&P)$:BL!S;#]XH7KC\^, M@E<6K;#+FV@^B^(X@-Q\S:O)/:+7(O1UVW*R6>'V9IM/Z"V96Y DM()V?ATX M7=I/L8V)4,.0^MJ.OMBK.G=QKCZ@Y>XWN[&^]9K *WO9X?V*\PTAQ;54W\]9 MT6G_N_!:,$L-8C*"[5 Z(6N$@P?HO,"<2X'7**!?PM[P8TP1S -8C'I6O[.7 M3=OW_\3PQS1>VF$ 6_+[['QQ'%G?4#ILQ.C0M+8?32?\8J>JV+)DUTT;_"1O M6N5;R[NHB'JH#7[WL+%*VW!O!WYW#?>EO7ZSN]A1X^1S&B7O0>9#[OIY7IM8 M'Q;?LW;[/FS)$?5%[B*C<;+BWDTS?A]VI33G'] .EU;DTIQ_4$:H:$1ISN^7 MP)2J@$T/*9:I'E"[BXMA70\GXX/OTBJ]K1V>5WF#D[#,(RN%19S!3T9)^%<0 MP6"O- FJBW:MVSG'3D^GR(#ITN!P:*"V[P/[ ER'#5Q4*&*PBT@:ZQ&/7"-# M$@ 7IH$F*[GBM(M&K:T"%]TVF_S! %?IS-I4399G4O4DS;[8:4O-/!KZYH#J M-(6J(.:M41P8260]X!9G6$67IYJ$M'%) MY:YPBPP(5P6Y2GJO$X7Y<#Z9SA!H^@7(X.6D'A8.IH*8/_]_C!FMM55(B101 M-X8B)[!$5!O*@W(8/+Z-/;U&]CZ"Z/VXD+R.$)++@H^'!F'%LRLX]0*H=1*21(NR%3-A0%=D:,\>S/;NMX10N$6C)W76;NQN.Z_DTLQ2< MIB 5=+R5K_,V2@&!KDJ&()YQTFG-D=22BF",DV$CWJ+E"<="^-XO9:^KIL&M M,6&($+%Y!V3"$(L=DM(I8LG M5S)R'2E(TSFYQ<;XDR)?>_(.'"FN2NQ#4 P431&'N-01&4L82L(*ART),L8N M/,"5=M^.B2/(3EDC>L.&5OS$7;+M%$P\(4R,41+*E$2,,? ;K6?()6NLZ# G^5/+KW*;D:9C%W4@\)8/G(^,VJR@9D'-@IK/JL<1U,:H*!*)!L23 MS'2Z(2(A'<=SM%/$U/]QHDND7X_3B M^X>XXAXB;%LL.HOH:SN?3=YTQ^"VN'2#CNVU"Z?;9G=1^';ZQ2YRZ-PA'7"X M'3+Y4?V>%%]=UODUFL>(6JM_Y?\V$]S*)5/WLD_7'(5D',6SZ>\3ID$C8: M1$1<8@_HAS6*W'.7K**L@QF[K3"^R[)X,RRR(]@4>LO#=(]=L(N;=W2/]%BQ M2DO&-!4H>J?!NS,468 <"$^9\,F&8/5:V>>SB3H*5O77P2O9N]+B6=J9MH"L M-@(P,D81-0%0DF.,G%0142L-483I)#LIJ%\IROMU6/LX&MEQG,Q7*O2Z(KB4 M6Z;].*KVIL,!S'U[C@4C3Q8C9?2 AN!S8JH\XC8F9#/R!4:=2 GB9[$V%WO# MEL\M8V0^82X865*2APO I9GI5)N9C,)16YN0%)@A[I1%QA.'M$LN>F]HY+9C MC[5S .8#3+=\XG-D[4L%)PM.%IQ\%BF>@ ">20CE#06O-3,X64X3>XTG#]XG-Q7FR>F ?:))41MLA CL8BT% D13S#'6@E-UJ1M MLS;/M]Z#OSVK_[!7>95OQP%>FKK9792FHGZU4!QZ@T1I/3V- M!9Z,0)?6TV(E>J=4)]%H5UI/BYDI&K&J$:7U]&". F&K]I_(?=Z8J3BM)^-Q M'*%I'$%H'2J;$Q)VU%'WZ3=1Z9BRVXN%'FOF6DK*N7;("!;RH'B.K#,!$><( M)S$ZXSLYX5MDPWZZN!Q-KF+\(8XCW%['3(5\H,FV"+?W)^^[.<3KE9CO[5RO MH-I1H%KD5,L0(K+*><0-88!0,:'$ I=8*67C1F/D=XIJ0)VF/!787(5-3(+ G&-D:0+8E DC[30#V+1* M4QV]$VL'RR\J]UJ*X2]9"I=GR%?=PJ;96AM8$?+B"I:GW&\H,\)K0FA$FC.% M. D>N40BB@Y+Q:QD<;W7ZD4563N!,LD+E)6D8 =)P>DDQ8:#SHZJ%(O75Z 2 MH#)PS;"C"'L#4.DUA[!9&$2-ET'3(&7T':8 5V7P9Q#!CH>5J.+U'8&0%Z_O M%)YR]\.7E--4J(B(8@1QA\&#$]:"$V@8)])JFVB'>;_M0AG?VJRZ0Q/RDO7; M2%<^@/#5?YG7L9K9K]5E6\-_FI)4X'(5+@$6#3%2(>TU15P2@AQC!DFIJ(B" M1\P[(21I!/#M./STU0_K^-%^7?21=(N79&MMGD7*B^M7GG+?L2P*X;A 3!N# M>$P&&:("8DQZRB3UP74R*WY'6%9.?$O&KQ/?;V9GL1J._>2BN'\%,F\?]VJ9 MDG4>898 _E(0R-@ /J!/RIE@;#)K53(;)/[>-T((B-EUH$QQR?D=@7P7Q^\4 MGG+W*"8YI4%[9)G5@$B6(!NY1"P1&G4TWG8S<'W;*$9H*5TNZ;XNBORZXRS> ML!NKA[+U0NP\63Y.Y1/E*7+$.+6(.Y.0]M0@0906+F@C\!JZOI@!;H5-IN,2 MZJW-_-FX'^]X=*0?&K!O+[)@Y>EB)<=669V0,P1P+T2*'!,>$:(2IQZ<3K)6 M2/-B%KBM825XTP4K2WIR-[YJM47).E4ZSF=LQI$"<4@N) M>JB32(:ZM1T:I MB*02FG+%*/RUP\3F"A2_'8>[Z-P1+*L!V7::\\CH.8L;6Z"T0.F&4.JD4S0! MBAKM*.+".&2CR'V!S%A+B<>\RT[JG4"I'@A:H'2G3,?D#AGMG]_!+;KI\,^# MVHYK5,,5THT,WJ8[EC9$!R(#XA3S\-0 /C-U!+&H")=@EVGJA.ZXD;8;6NU" M;?SM#/-M]N+19/P) >I=?/\0D_%#Y,&+E6=A?6WGL\F;[MB$%Y=ND+*]=N$7 MWNPN"G-DOWCR]K'8PB]@)7W?)VP%V X;V 3'BI&4AWQ2 "D#(.5(Y(@P"_^+T1JMM\@P MMP5@$WS+E5\' VREJFLCA7D'/X' PB]9_NMA:"08-&?I)%Z5DMM2I,-+:)R2)XRE*AT7HQ+O\85X/Q[&NWTTNW'#<"/.-D+];E?'M M ;006V8!/:K"W(-V5O;MFQ9$/5E$M=P9S[!"RM. N!4".4T-8H$I++6.$,UW MX=861#TT1"T)T]+JT,\,PPG7YVHI.8T8D-I8A;AV MGH,P@[ZP1.3D6VC?[< M+:0?-&.E*+=XN*6_H>#G#O&38DJ]3HC@/"?$,8(,]10QIE7"1/"4XC9Z=CO' M3SK 1A;\[,"?[:(T;?-2M*9E8EL;]G!IR;?Z,_97_WE_).Y<7=WT[XV%<\U$G(#78J.10#$XAC:Y!F$J/ MG5(R"6_8VGB0EW02_CV.["R&/^QT=O5Q"C+2>F/UC\/:CR;U?+I9,^&+G^:& M;82K9:<=/._?)K-8F;-JL5M5LUW5ZGZM:LWUOC3K&8X#7.0U/Q.,_>GNS:QL ME7Q6VV67F[79WOPXG^;22@@:X/_3&*L+^--Y7458=ZBNNZ:J7/<^:-[V;G(! M=WE53:.??!K#EX?*7EY.)U\A/)@M-W+W"XFCJ^K?[_OZ9UR[^_'@+'@7F82@ M3T?$"8, CGF.%%LHEHVLX$$SB#DN'$J> '=%$Y +S2 ;JDB>4R6C7<>!S M',\[ZUO_1GYL]P^V&HY!UMKU56DZN:@^Y)#IX_EP_,\LNK]85U<@?_]_]+.Z M^C*_O9/K)@I VYSLUR*^=5>?V<\S2&X>?07;#9+SX8W/MR1@^ MDU8%_3_^35.BWM3-EL5I%8;PV=ED6E=V'![]4 T:/DS@;HQGL&V P^< :G%: MGU4?(4Z/U9?\K]Z)K7.8Z< 0%C'E7(7.I;042>M%M#)(B^5=L<4)&X+A[<$2 M$'4?(C).@@"#&'--$PTZ/-%\O;V !SRK?T\KKZU+]HT\O__MYUL"#8Z2ST*= MH^8ZCE_];3SIDSQ/%V;HLC%#LQ4S5#4-[8\C,3N[Y>8]Y*]UZM+PE$ &DD!GD]:!&@?1PP(;-74?HH5P%EN]H6+-1^H\T]P*<"( MUJQ4D_FLGH%%RB8QM$Y=M 9\!W#26C,S=W;"L/1/ -1QS>V?B/Y@^U]5)>C M>3VHOIS'YG+#:153 G.:OZ>Y';#)@WPSTW@!VVE'RZLVY9UUTP9T\U7UW&6K M7\TFRTVX;'!T !A;SP"[\NK:OV3K :_'B\O1Y"K&Q:N7S08J[H$T!R_^M$\Q-L,.*/X%;6>"6Q 9A>97XS?A&$- M"[MZG?_ZYM*&_$Q6:D2&[7S MW/MF+]8W7A-X92_[N]>TRTJ^Z5Z9WCP-H\'SE)RC)#.G6,+@?W#BD(@&DXBU M W^F"Y_E@S^/83Z*OZ>[WLL/&?G?CL./+=0^E=_I68;R$"B?OF4LTV0TFGQI M[$1+US2_@#N&R]:-X;C7EF9H?HKYND41!?#_U<=<&=?\+5_CYIW!SNPQS$N#TY=BGZLB5]>0GOS^GJRQ9ZO3>V<7NO/-Y,!IMPW\[@>MUH M<3]JCW>*T2>XY+[DU'9AET[P\1[=DG?6#[F:=@2#?#\X/ZY3JTDRL4PV+BZ+ MOY'([$L#93YBS8G$;GH:^F)IM][CTROUV^#Q?_?"H[YGLCH1BH/4$@GF$N*6 M".2DUL@:E901GF#+NSB; &%NRP5RL<#3Z\-RW1+\]&@OD,';XJCKN]Y\W['> M'(%7$6XD92B%W MH]NHD!8L(,.\"X0S2'*1"6U*]J/$BOT6 M^Y+]*!)=LA\'DOWX[[L5ONMUO8/U*JQ#]V]VPXS3*QWMW'W'E!HGE4,VI=PB MP@QR$7X-V&+E22+@P7>1TEA*Z-M60']K*M!_3XL:RZ;NLO[]1EIO.?BM,*]Z M]O@1?_[^M?)HF##"0Y1B(.P0N1U&!X6P)8F)I%74G;:!:TD&I@\0+G&(F">,,--Y8$R(F=+;P#(<]=;@2.1:!K[#M6X+PJF@ T%4 M@?"=9:)*./&$P]2;5HLCC![*J4*/3Q6\93();!$S."$>E436"0(_42N?ZPIC=/5_(33OM&ZY/&O JQ-.G'C0\<*[,(C.::)2D#8C[Z,&"2X84 MM9B;) 13G00F]W:Z;6VM^(S>QTER9!:M'#P?;W123$2/3017QD5NP/>GU" > M-$8&PB DN%"$2Q\#7VL4?DDHT \303Q)FL&M8H_U8O)&7CQUAA!EF:9^C\6*+B? MC^[EQ[D=PE:VY298D-=\F65 1G]R0A:ZR ML!YZ=JF4T&R>2V;!$TU91,X[GW/)!ND\]-(F["E5P21&UE)=+EG/\G!-GR3B M!#YH,4O()XJM8(8&ZN^FNC9,<+4DZX^4F]QE5K]WFB8Q PC)CR[3NM-9F>4, M[G@>Z7'#&U;"40_PQHS5B MC\TQ?A1Q+BHLHDI=K8]N=8-()RA ECB#N/$$F MR8"T)3$EJ:AWNJ_PQB7\7Q=XV\2%W-)H]H-T(?\Q_ASK?*IP/T5]IV+UTIBO MAX+W0MEX%BW?,<&T$^"3"2>04,XBGH1&1C.'P+44$E/NC%F#:4EI<$DK9*1V MB#-#D#6:(!RH4ECRQ+GK*TQC+0:$WE?UO!M].KRIQ,53+3!:8/01&*54Z*#E M @@YQQ#69U1UF"8K#6%,K3&2*,VU(P9<'0<^+H_1(,N51M0%>,5@G^S:)+1^ MP"BL9D#%E@F=C@I$2S?);KWGCY.9'6U1'.D9S?(8)O-<)7.:\'[_'APIP >I M/4V"(.4(^+R":*0I9RAZ9YF56'BUYB>_I#"Q'P"?^?KX0(O[&KQWI5.'!_+% M4RY@6L#T"6!JA K4!(QP3O;RH"+2(@0455)8,G"+7>RBL: ?8)J)_O1 \2V3 M_1T9F#ZC ^'!P<:]@-4.ZK/7=BHOKM.^"R^%(S1*4*?,59,H128*4#'":6:N M81#?=N'>_#BL_6A2SZ?Q]Y1U+X[K1OD6$[[?3>I9O>P!R@._K_)TU_H)318/ M/^']S0?>RFAGX?@:8P7?4?_QX[G^2H4$]Q08OPV^1R;D=KP"JV^ MRY=XU5PC?_K5]\U[X$_J?KAH/_ ?_Z8IQ6^:MRT^MC**>]8,*;R8-$,*X^TA MA56N*\[3N.$NV\ZK^@B'HC)S)K5^M,&';CRRE)T1R39N-%(;3W#%9UD@;O[9 MN(.JE_=D'GVDV[VG/@VQ7"0A[O%L#[F$^307W&&1?Q^VI^,)<& K_^JF?_D; MV.&%S]+\NL*LMMVN@#YLZ1'US?2#0/QD%6K)5MCHT(*RL/GYIZ]QZH=U^\L? M$+3$HE9%K8I:;:A6_SFUXUGU(P0[U<]V.*W^RX[F#6'%PI@5)2M*5I3L:4KV M]M.G:?R45>G]>#8=CC/+:*M/2^,5JN\:KI?)O ;7L'X2E5[1KJ>%MZ5_]/'^ MT=LL13]&WZ;Z%HFW)[4O]WMS]EV!<##GH*6K[%;E0'#,J\B1=\PA'E-"-CF/ M0C!:1YLDHVJMX05'ZF(0)@NJURH'[SSO>3L$)^Q3S MF>0/5VO'E&^_V&E89!96%+C-/'111:#-@)<&V@)U_7^DA<2V0\Q+7BK%-$.) M.8:XL2GSDF.D>3+!<"4CICW#O#NC+)9>=9,->@&QZ[=K5>69OH_S^[ UJ(#B MQM'N:6U 6?2I+'HS4>^'D=R_(!S=/I3YI[O-T30)^:>-)#JF'3O!:.8$<:G[ MQ(VDWEM"4731(&X-1I:;B+0/(?)HM8QK0_1>5+*Z81#3:'7]?OQ'PP3_G]-) M76^.72V.P&\[@$=:\C:=4NOHY*4!Y!):(>XU>%C1*B2PD(X' M;[3I9I;)8Y!7/POS=IF[(>I,\0*,!1C[_D@+,'8(C"1X1Y0G"-/,I:"\ V#4 M#.4!:L9X&J4P_?,%[^!B\\=2[3L>)-U[MJ\0 M2KW4DET7!I9\W]$[>R>(3!MH1NXA)K0\]!/S2P[@D9:@K2AT4>A205.>>EGT MH:%7L5W%=I4*H'[G!-[9L8^CDA(HP)R%[U[(9_B\HRCNE/+"8H0M MRZRR>91-L!X9;X)D*DC3C[*DGR?3%(>S^31>GT=M3O)-!FS;94D]'>+P-._J M25W?Q7/NF>]4/.E'#= ] [K0) M39QI6<[J3QP=2PJM+/I$%EW*4H[':SC$LI1^:UMWU#^_WB+<+CA4)@^5R4,; MQ#-!!8A?)$."I( XLQHYQPWR\(^PRFG/V=UXAKA@26Y=4SIPQ+D.>9(]18$: M'GW46+#.\SW;X _2Q S4MOF#CFP*40'6'H>G)=/3(3)JKXQ63, -$H$X#119 MC3V*,D@6L9+&KTTPWC,R[IAE:-L#CPLH]AX42X*G+/I$%ET2/,?C+.P@P;.S M>46P.\>@7D>]N"=3SQ^=>CQK[M2I++E(]%$_WA-<\BE)]!&LM:SOL-=7T/>$ MEKP:8<#/>2+PWY:)M\48;/@]##^_=)AT,Q[ZA8O?ZRCI?S2SHN%;%V.;(TC$ MIVF,X^9W\J:ZG$[RA./)>-#,;QXW)T=Y[G1[8)1_\I.+BTF^[SQG&EZ+T\\Q MY-1G-:SK>6YHN#62>C$7NOHR'(VJ/%?YPC8R.+JJAF,/\5P=*[C,Z(6.M0MQ0CQQQ"2GA$N4A>2[6B@^UL_'P]FP26 O:[)7D\C!@A@TX[/S]Z%@KU <[T5REL/#R;72W=6G]>>WFSO+ M,AFM/Z^NHIT.*A=!\\:Y]F%K4F4\9L')A'34&O% &;(X<*158,I;([6W^Y6J M#S,[;:BE'A6GO&E[EZE6K\0IOP;0-9HWKRP'=$**D7"L$#. M:((X90'9J!525"7'B*;K\^#8JD!1M#!*, M8L1YB""$B2'*.&824\F2ORMZ-G$M@] ()TT1E]PCXYA$6/#@HATNQ>6/]TK*;OY M;C"MV8N;369V=*\SF/^:'Z,=7_VYONT:3E;*$.'%E0F$RP_"G?K8_#T_HW&P MT\:&5^!*VFH4:X"D]2\-$2(4N%_P.4&)\F5^F(!PG%7O :&]GTQ#XX)^&<[. MF[]>N[@KONT>3P+A"40CUR PBE]1&,+F9,E[#3_OKFT(>_;2E?N,G7O!"XQ.OK MY]LQ?K&Z\)O+*7_7UR'J6#_;PG &_BZ;^LRO03%GNPD72&EOW!2)=Q MN:VO _&0@?JV\\3[Z*H$%A1-0B"A#;@J@C%D4C HF,@@$+..LS5>=,.T$MIR M)'TF"O:4(Q-# IOOJ''"T6C<+2_Y)D)?\9/?VY\;!I>N\ M<:FM9'J %>V1%[(0M$$%7P"Q=I::^"\("\ WZ)UX6.85R:&YCUXB[D1"-B2! M@B;$&*,Y,VLM^39$*CR\*2D1$+><(F.\1D9:1:WEBCE=/-E-/=E'_I#M M#.NS5?MS#,:F?6N^\NN,,D/_X%8"],P@AIW%L-BK+"WUZGZL.I0W=T#NW,&? MW\'7N.GPSX/:CFL$>#9,#^4FA#$X86]0I)9 L.?R%-&@$9&2>"U=4!U-H_#G M,O_O[A'Z^^KVR[A4.X M[GVN09A/L^HU&GL.(5359'CJG!*#Z]WN*P,GHP*;D":CT>1+_;H?$=;R#*@Y M KJN6%XA0,KG$@9IIO>!SO#\C#OXY'N5?U\_K27USE^^_2>["7J M_);9V7'YPE%MP)/K&Y[%^[5J\F%AE2<<5+#G:E@V\_?9K&3W?7>TR/UN$-P@4?N/12*GE4@[6T_FE?[)TOU]")V0G9]6"*R)#SB@Y&U# MF\"1)H8CRJVWAC##%%T[S.*.F^@]TBD$Q).AR!(ND=%$2Q^83TIU=EKQT[_F MP]G5^W$]F\X;(LW?9^=Q^O'$"M=IVHZ(9JC1 R;+X,H"@+U_I(5 ILNI MOMP:KAQ#SN",:DHB*[E%F'@6B3-&\;4*Q)XBXQWY_8U^M[=6!U-U(#CXLV=NC=W M (^TQ+]=CLJQS/F$#< ?T8A3GY Q5B*?+&4T42+7FS_[#(0[#X*).E.\P.:) MPV8)@H\'8_<>!)?9MB^U<6W908F!C]X'/$%8ZOU4VL"X,=X;)+2PB ='D+$0 M8COLM(\<1W@T_78E6_CH+*9F>"#YPPV5AZI[90SM\>)JB:T[!,34](4K@3Q. M!'%""=)!4Z1B%)BZF."70P+$W1\PF[.2DBRPV?]'6F"S0]AD1FD<+4.:"(TX M9O"3P!IACO/IL+-,ID."S8^9>>!!C+Q&1K:*C(@] HU\H(TJT+A!EJ64&KQ4 M;1=3ZTNB9=>6[?$FHX/1V4Z&P#[29G681C'38A.Z,\$ITTV/%R^*)WS*2E\4 MNO<*729SGMBB2U?OIDBYUM7[ZRU.L")MW?J*](QF9S%,YIG.[#3#C/OWX.!] MCONS;Y[Z&)(/* F7IZ-;C+1T'DF?#+:)&F+7&N*B-,Y$(U&@+C?$<9UG26!$ MJ;;B/.&TB_;&/R#5SW>Z= M W,SIN76 *4M#LKIS_R^'Y\QVV:P.N:T^M22^^3!9Q<-A>T]@U#AFVV;!ZIF MT5[D\['*YO1/W0XFO5Q[0#GGTTQ"G8S#L$D$5=_E0@2*W_SQX1]U\R-Y<]W( ML_L-&[13NSH8?=W]O+?@F2=2(2(319Q[BC0S"3G/ W8JCV5?Z^V(L)TRRHAX MI YQ$P2"':;(Q.@MIU:F&'I*((,?&_G&^8#2AS-YNY>=Y8 W.ZMLJS]5GAA> MI4Q6_GE)5O[O?9.KF$>4Z<00%LH@3KQ ADJ#0E R,H>)7F^B[+-<]8R/8P]R MF(=/-++80KH?3>H,:*U)O 0#&?.@P?RG&RD]JSZ>QSI6&88;F*Z&8WA7A/_4 M (BC!N47G_+9#4O@B#52E#^]')@)WSH:51/OY],\)ZV>P-_AOS; O0[A^<$G M/L?1%=Q$WB7?#"QKAZDMS118IJPE8)#DH'++::W[V\Q\3UE2Z[10FCR^$=9O M87N6MG+%SE5^"O-%[:Y9>DNX!Z)6M+IT,>V\5? MV@I^M2H =]=E$1)R91+P#1\#+TOA,Z.Q&LQN'YM12 [:#GRA%1U$[S6\[SMM M"W#[Z!C\9-P?# ,Q\P?AK.^/^J/8%P,I?3$=)V$PE6+>?Q3%X3W0<81 VLWI M?V9([JU&FG2JD<:W,-W^Q?[.Z2_ *HKC=[\>;7.BFN M$8TZ]7YK #@"Y4\F\J<_Q\,7ZYVO\0@*02F]*_R_8V-IX5#.@G@P!ITUF8#. M.HK\>3B>^=-^%(KI2$1)LC7[>C*3LW J0;OM@Q$U&LNA/X]GPI]'DT#V9\#9 MQF)+9T7DQ'GG,F93FE5,'HRN49@NT@B,^%O=,0',KV2$' YCAY7,?_C_\N*8 M>-N>N=4I@65SI.Y-=.V]^8&O^?+;;S_\=*?!NZ2>OJ >9=9-2 7*'TC]W%.N M"] KR@5L(%?^"U0_#0=!- /LGX@(-('^S)_CL&HY&2:39#B>B"#8))MAOY_T MYX'T!Z,YYAJ-1J0X^,-)G(RFTWXR&"6:;"K@5FSG59^2#X0LA :?06$J+V7\ M2U$B,:'&]5[#X#V!X*/:^T>@FY34!>TDL+4 5/1\PA)\GQ^+:Q_)Y07PX3\% MK+J\]@(C'C8=LB]&KD"GI%I?2U'VT Q!C%L5#2B^\G?$-J619[*J>##]F^"G MH^/P_7 D1MC:*9!A J@*^NH\F S]* X2X-_3X7"RA:JC^0 TTVCJ1\,QX/AL M J@ZF,$]2Q*A;QO!L>'F ,Q&DUFX= ?1R&81\DD\,-D+OQ^?R[DO-^/1].M7A%W04SB MHA3[N]P!H1X1\!LE*[\WP)Z]J M@,UM82 8Y-M>#_)B7'@?@15&$:A99/13D(*<3EJ MY*;76>WHG>IH$^B/560 MW]*)4&] 1X&6\.3J,"*$-1QBOZ'8H;%+]X M05WWZR[$%Y9@]J;#/R9B&(Y!5-R-GZ\B5M<-O0I871_KT$- M^$[1BP>C^70ZZPU'PV-"/I[A$XA)/QI+X4_G V!*@TGLA^/Q MQ$^FR7 8C69Q(N*M!D\3,0EB.?:'<@*&#]I)(,.%'PP&&#&+8K"%MC @6LJX MR4 E-,X!X%QI)/>@!GM,X=.GY+.,BD4.FXQ9^'\HJKKZ"LOY(USS[0=/@NJX M1M=3V<@?GL<513['H_%&D;Y)4E]$>^#?G],#H@>,RKR M16"\H&5;:06B'!4#N"]54:X"@#$$OB'PI"(P,5:EH(3&?"!% W0 M;G#$<0YN51MCJ=^^(.%9-*:3BBBGR%226&V/T%&AJP1Q*:"BHW\2+_?1FW5/?/[E[=S)3T;O)F)-;DC'OVR_K:<%Q*&NY8JP)BRR^03M$5^VO[*K]N>NJ MO7\.Y_W;19T,(CT3J=Z%-'=DN9XRA.^6-WVGQFXO!I[')-U#NY7ADZ>CG&MKB'U"@#J%Z^T<6=@(LF/QJ5I;R4>2.KQVE* M<'.5S"OJ^;&MU+RFGA^#<11/H_'$'T81^N+#J2\&80A_BKZ,HE%_/-IR8DKX MR1L_CNV%-\M-_W?JI8_SP=&%YN M?R_6O,@QLE?!R/J#\7@ZDE-_.!O-_-$XGF.H<(+3L&=#,1W+T7Q[V,)H/AKA MD-A8X*"ON0C]^7PV\8/9;";$:"K[X6.G(]^1D3W91-938V1'U6_T]'3 +X!\ M'$N =WZ36"UYGGCDF&8GX3D< +N4@3],D %*T /G0_AS/!C-1N%8BF2\E8DQ MG W$>!)*?S"< Z,5>$]_&@#+G46S2 [CX7BKX]NS,LU)?W\-AT-VI_T=R98= M_WJ$CI6#F1AB.N]\,(^ PTF?BA'(W\*_"SIBZ0OYUO\*PJ'\6 Z&OMQD@#_ M&HJ1+^!VO]^/HU$4SH2) M3(YS=C2_V3@)1#CS(SD= A>4?5_$0^&/H]%D/)X/^I/I5B'$- E&"[$[S>W5'^DKYUR"(^]/A M2/IRBO6#8S'VQ7@V\P-@8+$481S$LZVX!:B%40(736=CL%>GH?#GHX'THSG\ M/1GTY60Z?U'^-9B/'?]R[KZ'T\R?92Y+D9'BU^V2\ZCH=,9C/.^3O?*:^*_L M1Z,!F,J^& [[_F@P"_UP!/_7#P=R,A>C)(FFF_QW%L_FT7P>@)+9GP/_C4-_ M-@3^.QU.!+#E8308AR_*?X/>>/;$ 9>S'F!ZOEJFXY1GRRG#R7@43(!B&;A?+XU56-TC/-.2G P2N)Y-/8GV.AE-!['_GPPG/O1.!B*61R-I\,M M=T$T"D9BTA_Z21R!XHS.AMEX"#<.HS .1L/)('C91*-!;S!XXD3S5\8X[S!T M9.>W<.MQL-!':)FP!2G0UOYDPSK/Z45-H1O2GE M#^>S1&ZER(%-DX1B-/#[D_$ >[6/?1&*R ]FD13CZ7@^F&PQ@;^DN?R4?"AE MG-:_B(@:K;1M5W%21G!KUU5LS_A2K5>_R'7-/20'4VKH,SNZ'JS=44JD'5)? MH;KPA,>0]]YCPT$:1T!]BOZV6O_>".^/(O_FO<&[56]A]?WF37I2DAZ\@4V' MKF3<>2^\#;22LKCRFC7^<72#"69!?SZ91CB-',7>H"_\<#89^(-), RC*.DG MX9:1+OO]>-X7 FSZZ0BH9!;ZL\EL#%0RG<]$$@XF\59JTRZ,5RU:_T@ D[[ M06!_H_KZD<83!/V+H^HJJ.<3<,L^@27&17:)$B8K8#&)@DH']3Z;:S30--9= M>, %_UI<*C(<4ONVP8U8_TN: ):_!]R->6 8-R'>@]Z==9B;MI!^Q:W"J1VM M+%=F,LF^I]9%#ULA8RM:'"$$U\+NJAXU0 84DWJ$B*B;$J'!XYO*8O5$+'\: MC\-@)@> PJ,Q(/, "" $W [&(IG/A1Q%X^%6&_MH$$]BX/'38*Q;WXMAZ(>R M'T>3_B0:#K>RHG<1 %A8:7DB++]%M2FCVM%Q?,3GI\&1^53*N#^4O@3U $2\ M#/S9?-#WXR@,XT$PC6;1@W"$>K!NHD9-A/6KH@-$D*/&CT]172!Z!&-N)'D+ M>J#2"K_([U'6Q++;:C*3W_V8)AT!96#_N6:5OXO3:IV)Z[?XZ[NUB+%7M17O M2GEE*D34OYA/X1NEI.I5TKT G_A=6'S'[6(O/>,T^/[4GH&'-4MYV.D$XXZ7 M0;D'T+&P-.&UM5A(CISY(H&5OA79E;BNL-6=?3P:]@2+;<#/ OCF1>#[HOX( MRQ%CFP8SGPAYF,_#B>@R :!"+;9>BC&8CH.9J @C\?8CCOVYQ$8C+,$V/QD.A)S ML>5G?0'==W"DNN\QFD"C89ST)_'(G\;887TT!B$]'@5^/(IF\3B*@CC:RHX> M]\?SJ#^6/N!0WQ_-@ZD_3P:)/QWUA^%,SOJCP5&@P?@HT:!'HP,ZW".3=DDB.>SK9[F+X XDZ/$FZ-D'Y-D-IL.002( M<8)]S+V/G+#_"+#DN:(3'>-<=_PPGP!4&]X82R_AS0N ?9\P*\;EM5X]]C* MLW#\OP=P\ARMJC/5J)V"<;,<@:\:A0!J'%=WIL8>UZUY^K8[CH?BM4_INO)V M35@@=+1F,-&WPU,88AN.@\&P/Y^ L,)F)B'(+N1\_F0TG0=RE"1RO)6<&X?! M/)Z">CT1J"^#D/1%&$[\8"H&TWZ4)',Q/(33?6C*$J=W/!&GV[UAV%0L1_.1 M'\\& W\4S1,_# 9CD-WS03P1_5!,MC8\"L?C?B@#OY^,<&IO-,,N,? ICI#K M]P,1'23@GWC#P6RGA#]"9H]T"8Q(SZFN+KSW!U,5,6(GDR%H0M$$2 S+G&+0A),XF4S#_G-L:'H:U+ YRL^25_]6>1G I95\.D)C MRS06:#Q?Y7VS %'.P@=DW5J4=2HRD#M)HW01$?W>I!6-9,?'?A&)_*T +4:R MT$M)KX%'M//9U?26@R=P'R=AB@A$E)C@9&,I$8]C,.[E')MV38?A,!A,)UL: M/5P01_VI!,&&[1XF\P (.8/P=8?#X:#?CCH/P:O MQNRPOROHO&?@:"SY3!&@PZ:9CFYE=\-CFD3V8\>DV9O,^*CY?K-^& N [9AR\'8GX9VNX]R7-+D&,?;F 3SC:M>KD]?R6"9"]:9+HO!Z3T"-HMA_][(D% M_ -/)542_1H@H3\7T1*DDBQ[M+#_4Y3?B%0O!5AI3>6AK>I)-8&Q C,NS=JY M?G\#*09_?<$Y?I7W)VRXD48UD'E3@M[Z=WINWGX/K]/OZ*&N*N)NEAV^U[P* MG2X"9&&"4ZSS6CEHU*ZL/6697,#5.%@076X1>7PNTR(CMQO[I, M,X^*0&!'@$N@,.M\)_J6%NZJ+,. K 65=%I6,&A2WO"[S#B^" M3ZL*'B7JSMYP_%X3VZ,4MTX WYJ($$"%2\JRS(E@$0[;Y*-D?1A>D.882D=C1P"IE;F\-@M-)$[H M_6H;-S)+Y:6T8+AC>PQE4;+#%\PI#Y6"FMZ+&\ TDZ;FA+85H,.B*.'@LNL+ M[Q<:(TEK 9.&=$/<8M6L5NCZ_6<3+\B?JZ9=ZU4A[9ELV6!H^25@QX#NRI&] M@= =%.;P%WDW 7@,_4WT@5]S+\/A)2E ,<*PVL%46S.R*ER]1C>D%-EN-_-Q MY&W,'BUMXWX"X@55KH?/E=9(AD<=@LF^DN@D_Z>,B'TA>6?(J"(I8T[-!&R\ MDEG&4]U7.#V5F8S%L8#I5U)S]QQ-CXS0NR)K+FRJ-)<5T.L7'!?/-_9PY#O8 M5PEZ-UFM'TI,(4YQ]#B-Q 90I@EP/"0/#LX8#,X%5VO@ M$V -T2:C6(EOR'G:0?-$R *H2\>.2@E2 $G= 1L*: : 32&? +X(CLE"R+ MD!S_# ;K&B$[ $ P$Q MK1W@:%;+[*L$=BZOU%-%C%B%3*10/)-%6 H;CGA*;BX7A:HO0-#KIX,DJ.N, MBUMZ:J]EDZF#CW%N,M[-/\"Y %]64HVY=IJSH8E0)-Y]24K[&@0. MI:C)1*D@^0A!K),EPO>8 YZ(RZ(DS $A1$1($+RV>+Q!.DT/OS$WR9EJBJ<#'%V MW[D1&(,EP'(7!9YO65R+#)ZBE@7(5JJ;US1$JZO.D"@#',HH48RQ!'>"4@L6 M%#> KN3A%XK^ =DL'(5+<8.PF3T@[-$^%6EI^)4@24M4?8!20HP:PQ,8??<" M>RG@,H%?2I:-\:5$;B:3!!EEU_=JU O-Z'IZ*#7"A[9!&K!F4SC6.C4D \)Z MZ24XHOKN;A"7*OOXJ;*37:FRA^7);AR/2Y7=GRK[U-7)AL.3OZ]5"JI_ 'E$ M3862]!_P;78-ULT_-&T>AQ_L(Y@+WN#"^]6L^M_(2E;+)J[Q7BT=>=TOAK-\ MZ'"6S\QZ\))/S(] ^&\44;].#\GA[J+_4S0>&,DL[ 0K:(DQ]>(NT(4%=- L M][+TL@5\80 /@G,A2>J0/,;[FUR >5N38P(A7_$GZMQ%VEG[@@I]):U'5$01 MRQY<)2C0L'NE^"DG"RSROQO0NF0)RN1GN2Y*DEJ_@+;F!7W_OXTV>I=7M'I? M>Y>M 2I=O<5;(QD?"WLW=KDM@M_G.2HWVSO^+Q.6Q#(9%8[#K]^LRS3P5Z40M_M8C0:Q$FUU[ MYV#!5Z*,_:PHON$AM >DWD/+5(!824'Z-D9JE=XWF+[7JI"UC??L40OFPR'9 M=MHW9OL%NY>W17\( O/TX.<=3S< :E\SVOL:^^*VL)'M'1L;R>:KT99"]@1V M'SQ'^5D:-C&QRUL%^C"6)!KXH68$\W;3Z!CIPDRN='W$%T:)J5FLF;(NW@,U:E,JSP.IX)/",3Y=HM&<60BV?[\7F 6X>Z5D M ^5UF88-)W$29O)BT! Q?*P'-D--@$,O2 8[83,>/80%NE1:A,=,IC37/RC) MU#+"2I%EG=;(P'0!,QXI'8%B& =)#[3< M&FU) ?-#UHF.@PO/$JJXK1+3&9LU.UKV(@\:@#)FYS-Q?75(?)@ [*;$-ZV* M$J!6W8**U1KT61G&)&QT=3V*WGJR/J._2V(2PLM 24446S> C)%7B436P*AD MM,QA(8MK+])N&N9)JQ ]$HA9PH_+%%VNH%XV+<^E9O=R <]"=U^%D9H*(8Z8 MB1H34 (H2_ I8@\,N2Q2^)V6(LMJF:XOO(]:WV$EZHIR>LB?@TP5N,076N@7 M@&]]SVCQ1M.OJ@&ET +MY&)Z7Z?XKR^8'P7BOD8%FL]+206 / ?)VD.KBR+C M:&5:U2SNWGIOTI_8#LG$ L]!N]!ZWI=E47]9%^C2 @-\.GKGO<&W$#^W?D,E M&_ARC*J=0:VBJ>,"3EZ'#V-9LVSI>=0PSEA#&%8D=G==H?"H2W9" _L,I@%& M@+76',PP<0D]:.UW45$" U9:_:Y$^1YL#_;WH010?BT!\+B3\=#>R8=/O_WE MXU__R_O_?[*6OXFP:JZ7S!>8'TE@ENAC)R%\B5K<0K 4+_2U];(LFL720UF# M=X"@@UM#E809E:AP@")"'"'2B8\5JQ8B*M&C_T]0B"LCS>#1"QHS@=H YEL! M'M."&18@=Z)O&47E%!FB!T;V*H(/@@3_^V*19O ,\]D%_ M-%N5""S8#]C'Q=H" 6*<%3Q1ATI&$T ?Y5I/"4WZR&>892(LE*<30:.7=OD3 MHA9%7SX#/MVRN ^\3=-5A%V:%0IK/"Z(NT7LE\ MEZ'P!C;;)L?R1O$7[_U'G[,>KZ18XQ$:2E+0[3$Z K<4,<7X,;ITI3)O41-I M'[N1LGOAH43(*E!*2,%E):QB.^S:8O'*0MS%)?A6/#GK+.R@NWU$B ?_ 8(= M79V]K5\^B-6Z85AM_:3H7(?(D**NUT@ @ 35"A,*2I^R&*VC)G9@/TDS?R(2 M',K,P2Z;J_0,2T$2P?7@=TNS9ES<-\GA#@%2#R" ZB7[FHF\5AP-D&2M<#@K M7Z*.U@(6>!MHM* &4") [JXLGO)(V3X9H)!$P DJ>_P[DJHROB421_X1U,K M 0O75A2K1$:L5B)*Y/I@<6&'\Z]P@*16_D6$:..ND081N_/BDLD6MZI]4I8J MH'$=SAOQ#G AB[,TD<9RDOEE6A8Y0OSB!67@>:MVGYH=HM:B8"7S\7P1F;-K M6(-$?QF\-0:DSXHF5GRF*I+Z2I0L0Q8EN1#)DX6QOC*5M2BO>YQMG"\0@$(B@= @RF+5[*)TQQ(A_?KP',$=(&Y4PKY-.J3:E I.;M3A304!5I< MA>P_P[>JO<)%V75',BKR("&X+ J2-\J>:OD56\9-SE**$NW;$H=R*J0BL=4B=B4JJ:2C)$E8?9;.&EORU1?81GO<_CLH#S7A6@2Z*\ M(S-KKWE_/OS/,"XX'=")-1*C 01(4#!!L4,>(R:%]NC49;I8L Y3%0V#&Y'Z MHS[PSXQQ'TC(&T_]Q\\?6I\VXSF)SE(0QAIT4?BJ^6VE?=&Y%S> $8.1M\0D M)TS6$\!8*\IH@H\5%;G(;SUO.!GK+RCL@/@&S$>JT'^!^UQIQ^:6XG#A?3IP M6=]1+OF1JE#5VNZ%]V4 MX+!YYSY*WVMDU>:?=WTQMGU.:UFC)?][@ZM9H7Y#E0,LP[8]$]M.A-O<"[U; M_ L;KH4B4^6FG4W1FGJ>!*55]WQAD* U96\0X[ 7MGNMM^'1XN58[DGVT*-/ MYJ9W*YCC$JT7F^I8BM>:L&EU5928'PE:-4K=-._FTD;4@>3!Y]@ZF@D,!2Q%U7T_W..2I4V3"^O5+M M62CMRJL>NA'PJ9#"=8(&>_/'\52K$2GS*:B M+%J5F X" &NRU99VE6[=X=686>DHJ*;D?$T7_ M=[I 53H,HXG%3L$<:,@"I_1WT /37%@)\!ZZD*J"K,5H*H+H,6JC/CG.X7SE>R*FCJC&Z%_3X-X)&NT)X5"L:L.#-7V=- MI>7D>TY@ZMVX97HB5]C _E] 0B?$;+RBZ.(7_.%:47"-0$6EK;.&)XO;$3 MLVLZ<-8YX/"H\1F\:E&*%1_6UQ1^X:8[XVWWGJH*QE0O=,@1]!-I5A'T^QN" M[2<5&\"T2ZZ\4YAK6&5QBY.4KK^DOOH)F*BP:)9M@-,5OY6;D71E J;K4[9& M'@O EG])BVN#F!4K=+2A/,+2'LRXP<(=Z\V<^7E/P%&&I"#*:8 MX"6UC"?G!]#KHE#"X5)R<11H&PU(MDKZF?*H57"F:2( M./J1JRC==G*$J@YAC9>S6K.T6G(:4'@-NF"9:]6&8MB$.#M\UJT7N(-X%&,A MK VY^YS,%R3W.;L"_JH5L_#6!:Q+^FT(S)_6_2^YK MR5TM.XQ0Z%D?&F>,249SM!0>YI+GCR!39N:0HE>U5-7-7]K*-HRV9)D66ZRF MD*E7 $IAATY\%Y9H:;&#Q]L-#+/BSRG$;48?58"BT&:TPZL MN#4*X5C_,!A?C$SS0\3#/PSZ%Q/SS>&-!O%>3DU5*@6(!S1S2LEQ+DHHL%,# MX.V#X8_8]N.NK[C!.#9OD_%&/&LR_Y$UG&GP(R%T45.E S^INVH5%;Q"EPBE M ;2N&NTBZ76Z?G0:]-@_? "Y2#HYN4-1-6;[!N$ZF/S(N9O]'S>!IC.-.FL\ M_#!4-X8#%[=S;=,G6MO0,8&78@)W)[1>>[XM^[ JXKI=IMZT7L[?&M "^]S M&A4&Z_YV\>7"^Y\48>-]K#+L8RU_5L7-_EF[<^-,6*- I?3S\ MRZ7V/&UJS\RE]AQ/@Y23Y\65&#$ZVW$& ML8IHJ-@I6UC([G6E)3M(4IVKVOHFT5/*CF;5YHTB$/)[3W6Z3)4/'U/+$4!5 ML](11.L%M&1VI6HWXW6428^::*!C$UYW37XD>ABZK3%+A <,J58%*E^_)OW4 M- QKS!] CA^0J55E$-- D W)!6YZ99)GIC8F*'DES()I$I$M/#%A;!WE5.] M.^*G%3QMT9W2X]>BJLE9IB+07;EFP8)>$7+%.$%"1QSQ!3$&06J*"K4W@"E* M$>J08QL5E0,H'%)5K$I6"DRR(M5@<\$]54.'R\TQ+9<]U.3Y150F 2T >$!R ME(="C2QR$UA \SU?--0.%5%]Q_:PC*F4=B8OO\3X$^C8V%N&@3+U\T;X?X5] M%[0\Y_@&:I,51>:)Z+BB5U4SF$WA*TC?)+SB6 V5#&'5KU[3MBN01!1NGD,$ MILQX.W:CB]F]IMZOP#3]>=^4Q%2JJR1W9IH#J=?#-;KI,IA\[A MMLF?IBD[#K(QHJ23IZ:K*U54F!/.=U17L0'?>CH @AQZ]5ULG MV,H7.1.G"E(I+,6247H"07&\#0.V','NI)"8YDAZZ3U=1<@@PKI8>&!,_1P- M'B@ZU/X*K>L7=*,*G:KNVJUU0QEH/C9X["*.>AB7,9DGT"WXW-:3LY9V7 P6 MAP6+*!FQ3*B1-PIYRD;4(AX$:U-JY.XB,27L8*?63/8ZI7*X;(LC=?-P+(;/ M$?-#7/(R/^8XI#]ZAW)I=T>C&.C%BF_#/L%=@A M]'<$U\B)T2W4(39LC'[C-U".4,.A*0NUIVO2UDU9 4UWB!E1\2]8RH_3*4VF M*),"Z,^Z+4^; N']\=IC"VZ7:F)5X;?"7Y?O=7>G*2.4.H5&JR=,*27% '0H M% D!.,]_%%=P;TD/P@X,BYS+^2U Z:AF%[JF)1]\1I42" /-# ISLB:+T=.U M5.FV.Z.C!AY-72&35'#9R([]9+K @E!$BR)I,#*;YALK4GMB(.B>NW:+ZVX[ M JM+ ]:3YB9SD>[7';@:9;^8@X$UH[>QP!I@K)TJ5FFD>%F1J?I)ZM-%X@C3 M%HB[6D]HE6.&,UX3RTQ<6_D3W]6 TYMXO,SS:>WC2-.+"Y136,UTBHK P0N M8Q_%V[5AT\8W1892ACDB%281E[+0R-"V?5.2W"C:[3[9NZ7AP77'<=NI$6^[ MQ+;^*J6Z?42WKP?'NM7\5HIL?Y-LP'3L+]78BM.J*1^,T]$%5:2*##M/7E,+ M$_SMVC91SKKWTU_!)L&K5-GFGPO_+Z#PZ3YF'UK;X&]6NL\+-#@EB!^+:$&@ MY2W0%H6?64"S#*I.2QZC$VQ4H.R[GN0,9UALM.W8G:IKA\&U)J69=2EY7!FE M>JVIU0H]N'4=Q*S*D>"C,: ];K]/$?84Q9>B:9:$Y)-0.J2UNAZ%>&[8%'MR M))47L"M! =&&X-9:X)M.@0*Z2")0TW3;1#RR?6_4VBJO4FY5C1@VVZ;,8@8Y M11?#HOB&'2"X*@A64JH%$?\V9EY^+WP@ZPS;I1A[8"5Q&@\Y$F!EC:J9MH4I M?*1SU-)4>15 &Y6U3NS[1-KX?5:DO$%W2,0@S!*5ZN=;O=W@#)S^KVA3$30Z M?M^*IB[>*6-&?SY_^Q?_KW^MR$WXJ9("%G:&(OH%)"9:; MK_AM0O^]PTZG')9XR\$)_&(W%]X&_4;S.>;[NR(&.^3S[$F#/G>:;KDCUE#' M!V[V:3=W<,3EGEL#7,!?:)KJC=LT028=#ES7'C7D]K3@/H93OX]"MG\H$'+4 M7YFC_MSEJ/=#E1M@R,38'QX%%!\)P1Q'E/N5MRSSPB+)PE-;[FGC5X?C\6251GGL&Q/,T-N7TW&-JO/EXC59O:++:3BZP>J,^1>_5 MX\E-=06%3UM0V#6574'ABQ84GC#?/\[^S,?#Q\Y1$0#Z3E7*_/[VLRB>.YB@ M:YPHDZY-+N]=MVF-J#\/8W3*/4X8OO \F^;#0_<,P;= 4O.;2IRH:6K7N7U')VF_6 MIJ)1C8%2B79Z&:9ZJ)N:V..Y)&86X)YD;0^+E,#" %!^3.R7TD*0(F/L%JCS M+849U>R1+Z=G]]A5QQ!KJ&O0(D#@=IJ9R8#9+H%14*%#N/"^EGJ@T.TK;U=J MK:#A@C,,;Y2/U%OCM.F,^*K1A@UIZ5%)IB"5VU:9DN#.SSB*"^5],Z;&Q7 WA5#1C%2@;D 4; MQN4^P&V%G1S-R"*#)JI-L35KK;W(:H[*I0=<&T$EN3(W&;.J+*^ML:3YDCCG M$YZ:\%AVM#+T8ZUJ7'-/6X&)*]IY*6&]Y+H@O$@/A$RDX)';#&25-(TM)D+5BOSC;@896D MFGJ^SI/,^"B->_]6M:517"ZJ$$W5X.#)4,_!#(C%R?"7[0O6*1XPI>VZN:O= M]#+-+PLLBVQ9#.+WN/^CF1A&/;@,$E)1*<]=[8@)D+Q;NW>I$-2?P'@3O%*>CAK6R*X2IW8*(ON7%52;C MA=1-@K"1A/:_8I=<]A*06-(CCE7+6AKL:'6AJ^K<:%Q3/4@:>%U)W2 =CV[&+]'EY#_570]MVI*5%P+J:=V4'^( M[JI8N4;?&8(#<%Y]="SU1=4UM VL\=%ZM@&UY^6*7^SEGW-;$7:[_Q-0QIJF M 4B\S99YXK9,$E1B6!BK1LA4+J6GTR/WR5A35$U@2EU$B4U6KK!).S5*T%U< M-M3W]]NM(W2S;NZ@@O3.[>3M3MSFV:2]&XKD.:B1J, $PP$4W*#%G]>LN(W/#S.UZ$-1C+>'3=16@A,8Q-1BOL.>^M$*0!B-P>3V* M"1XWT7;OI\)"NW\%6>+65!P]F*D(28XH"L<&'ES$B:#"^>:J<9::!03ZBNS MA2L7N8M!JLL$53?82MJ=9:ZP6J]8&Q"Q/;(KX*)&55!5MNH.KGI4=3A)CUM% MMK.!L!9 MXA^,=1N;:='Z8V*".U2#&Z%'K&J1+:VWE4?&@LUSZYY7JWE7LE9>I!ZVD!<0/2#:ZP$(_N]MMQQD8MBC2++-8/?^Z=:DIZ9C4:QP,L6Q/K'? M5')SAJ;=>X0Z#;+>JTK-]4RNM9H87R]E9Y,.,5\.,3_20>-L%IP$SUY&NRV+ MW=C U.!;W43$M6&BH9[9! =;&5V0T 9;WF38*(P[?F,1O9K?JE5MQB?">+I= MM3?AMBN/--/PA(_IIG%XCSBKKSL]9?^=:KU""FQ1:45?6-"N@GRSXIF@[[+ M"CF>K)![;_'8I*HI M\(?-6S='7;>MGML>X"88&&,?JBAE(Y;[8V/2(*8\!E3 ,3P)6I>:]1AU'DK?5^31,WWJE@4'!#D;@KT^ @>7F::%6[<4IL4? MWO3Q\X>>-284K-5"12>*W,UR=:B7&R5UP\ X!SFO:"O:;FD?:IY0VTD, M11X6.,.6+&-]DW;QPQJK@D*Q=O#9B.G6U]E#!TOTS>=T)_0*P#K:R<@XH#>B M>]$EM90BWHC.ISDU@&)#RH2\>]A(D,5L!U>ZA\V##W>C#\+6RI8UQIJ@/HF MZP(=R!C2TLU[K0=K3\(NI&G7 I9 A2W(T%UAU' !_ M8--:D_WFC'>J)2AQ=3B:S[BBM,\'.YXI]RI%RCIT;E-EJVEF<'3.QGY!G% I MDQ(HE%UX[2AY[E>[0>[VB!P,)X5$[*"X8U^TDAK3\7";3C]L?0MFS>OAEIK[ M:<>W)N)6IF'C06SDQI'+@DQ(W9W9+ *E!S631G.'Q(]Y&7?'YZ=M=,,_2(Z9 MKG\M>6P*2UR9Q77(P60"!"8PP$'YQ$R2L'($3>V!#@!CB<_F."KMHE,'J0'I:+LSH+3J7)W3H&[2_;;%O+:X3VE9(%TP@S"5Z MG4Q1[1,&E4MJR(EZ0 M,PN3/)I<=136W@L=B#2Q9=D=OF%E<>Q.G+.&=K>^$OLV'>@FO5U3->V /"P4 M+*R;,N]QVK%*%8&+5+X' 5%7%;)CQ[G2ONZRM"BSR8_BT5$3M=2F+"/UGN\CA&%GQ4=9]/K;+HNTJ_[-B&.== MQVS 8?@GM7-GLMHQC:FW=Z)1SZKI9+8K8GAM2O,+4$'1;T SU;2?[^%+*%4= MR29O2 O=:T<;7=#,5FBMX<@VU*+7*6S:U*$D*A$-CPA44C?;B>R8=K!IFZQ?L)Q6 M:K6:PG'=R9_KZ'C?M?#NLO)M6M(H+F?/=8I*>E5;]?[*0>L%,C8 ME\45/PB']VFSC#.J"F#:*[*(QVK52QGU_%U.97- M&C5[]8F]'N8_H:EHQ K+A!K,8]*.]Z37=P6JG92L$4NOU\8O,Z92 M]V,!6QGQZ[PYXV=;6_Q3JRV>-7O\O$>%?D0>N4]+[S+*#FO;Q[<\/?\='E/0 M+TU;]=A9/94NV(M'YR1?0,4T%!#RR6A7\8-"5Y$VQNQCT,]TWA[74[.'4"3>QG M5C.D$LYL5F5=>E*C4FQX3A66,Z$_L8HXHV]58.$B^EHH8[K-]4.677:R*C88 M(V73BNB;I!G422G ;$5EAU+[B9.:ZA1T;>C!OHNV[L$.GYE!9+@XY)Q=V9];E4*4N[F\/&P\I?F0 MEWJDL)[I9F$@>;F4>$XK6RZG>5Y[<5K'$S_B MQI>B=DB5G=1 1K%0X#C454?F2D=KBTFLN#:7VG>8K94W=O9XH&?.[TX*V'L@ MBXLPH[Z(NMO9*48I@\33Y=F-G!Q#.N0%)?%MDEI\$OD(NIG P!W.5: M#9^UN1."15D(Y/O&7F(H*;=-A OO0YO1PORPR^=H$?6ZJ4V"O69PH.?7F)G7 M:3"@1R5K@6YL+RH)WYUV<98.@#]; :'WG8#0F=/XGV^/E#W<#:#"&9>@.G(& M@>SM>J'E%,CD @NC,;MHH+8?D=B9)L/.TO2HR_4?, M;I_2;WJZ>'*;3G! Q'53*R!V?D_5P/A6=;'0::4RO%0MQJ.77I!#"P_S%Y&6 MWO_HO-X/I#$L4!OX8,]E?_I#.GSM+Y$,>$P4W9Y=@F=GAV5IFSQJ6B)1([L"UX?J&;":O$!-B)0_T^LH^KU)*V6H MD:&IO:JJFPQ=K4NX!<98,IWD<)E65ELC-(NQX+SR0#9Q48&R"2R K"0HH#&W M_4/G@[K'-#90F]/;N3:]'?3J3TOO>O)BK4\D=C_F$78E>:.RGW[JP;/..QCS M27=L(KA( Y= MU$D)SM=,&HHHOHKOYYX.V!A*J!$8Y,SL1,/%BAP^RKS65),55?43F,'H&28< M)Q]A+BBO+9$H>[(>ST,Q-7JP6;H4;0"T#&+N%<,*/Q,* MP ,V'0GI4*M*UCISXUHI#_I;:MF58A<)1(D*5D$U"[H]2$[U0>0U:5/,0OU. MK ]HFPVH!'C5E(GX:8%M;'()^V8MPT;2%SG]8](GL78*#J&J-@Z2]:(;I$R2 M/(^4>7Z04(? +=3%=)T&W#F)>YL2020-1?G@0F*; M3!_T-KU/'33".W9=K"JA%P5A$;P0!\EPMS#E_U%][')#^:2IJ^0JXMC4HPW; ME)FVE9$HRVM\B+%RV)E1=S;'+@J M1(ONH_4SK/0_JT.6/](0HIZ4R+?8L#J MT (>E+@4J:H44MS/CH)R_SWXI6BJ3@4@VUD('ENZ47O:M2P!G:@L%SM@]RRS M!NY2,$9G6*I+C7JMK_N2^J0'/92F@UFZ4L-$ M4C")TS)J5E7-@\ZN )D$MDGXR-*);4Q=$<7#D=<\A4TA._GV+ZF.KJT%P"(< M7=AI7TS09E6!O[*'\J]#L^2K^H"7[;\SQ($@#5GN6_#Z\]R]ZU\ M$PN!]?.JL <,G[.$QPZ^[G(HGS>' 9BU MBB*M+FH2UE24J2ZBCGO'IUL]J0J[\X-W$'3JN,SV1Q@ M _[ROW\8_/"Z-^HV=ZJ;.VH4O8_BO0\.U,D#!Q&=YSF_ZLT=-1*[4W2;.W(4 M=7S6(?&=D'AR"Q(;I[%V[Z\QH2)+8T\CV:FC^8=.3/1N:' #=-AP[ ]/&56< MM>RXRY.*R-?/7="!['B+HX+SIH+/JAC148*CA/.FA(VPKJ,"1P5G2 5.'CA* M<)2 D/J#(P%' N=- C\Z$KB;[XWRZ>[H?-N1_;5KG1N@!O"\1*[P =CU4,WB MD-W?R&J>/UGZ86S4?F1>'-=VN^=];U%YAS/=2<5/N6W*UGQ$/!^,>Z.@?\J' M_GCH[.CW7([RY,DVZ)\TS1[&J&]5Z!SQ'M%VG?"]N_#M]R:#DR9D)WQ?#?TZ MX>N$KQ.^K_I,G?"U@#'J3>(WKO[\:,D MZ2?179)H;TV:/3T__@>" M#74H'.NFC^J9_1OZ21Z3A\@>=.@W!5'O2;JGCR>F\V;]/3WRH@Y\>_H^KM4A+/0UX7>($I_J: MA]3_WJ1K_,6QUON2W'T;R[P.YGO[[D^>/0_&@^= EEN:[;P.='&\P?&&U\0; M'D]S.U+.X/PICD4X%O$0%C%UVH-C#8XU.-:P"V:S03!X%H1Q_,'QA]=UV&? M'X+9XV4_.=[@>(/C#:^'-PS&KYXW/&MDZ0&5(^<;6?I:U"+SHD-ZC#A6[5CU MF;+JH-\;/V+?IB/EUDZ3<^S!L8?[)-RZ()(+(CD>X7C$C:4TP^#Q\O*/E$TX M#<)Q!\<=[J-!O'K6X#0(QR,MH]WQI=]@;SQZO MB/4U'[6CVE=SE*=/M2=-LL=3^[$3Z*]P4NRGM2Q%G>8+3WY?R[R2U5LW6>BF M?1X'AW@"_N^VZ[#XM1[KF6W78?&K/-8SVZ[#XE=YK&>V78?%K_)8SVR[#HM? MY;&^JNT^:U_Y](,[N/:"X*2=Z2[^ MY:CV[*CVM =AN8P31[OG2[OCWFQTTN3K)*ZCVK.C6B=Q'>T>UW8=[=ZA/<1D MY([:4>T1;-=1[<$2]Z3=4L>3X^D\_+L@_UE64I31DIS\L;R46>%FQ9X:D3EF M>HVK M.[STB[\[[K5NAH]ABVZVCV8+_4N5JX+HW_&9S\?Y:Y M+$5&/GX1PU5I56,?B$OIV.D)D9ECIX>>]:0W&SHWOZ/:8]BNH]J#784G;;ER!?22W,O$6GI78JLD5Z1>'A%"K_D-7ZLTIC:0!>Y8[+W M)3XW+?>53\O]?_^?V2 8/ O"N&G:CC^\KL-V_,'Q!\\;#F/+T@"%X[GW JA&,/CCW<1X5X MO*J (V4-3H5P/,+QB(>5ZP[G3H-PW,%Q!\<==G0C>[SNGT?*&HZYD.FX&<\# MT.J3B1-Y65&Y(-$I5?ZY"L^#0_.#WB08G_)9N\1>1[]G3+_!27<.?$C6C*/> M(SU41[V'4V]OUC_I1F1.^CKZ/6/Z?;S\AZ.E72=\3^I0'?$>3+RS_AF0KZ/> M4SI31[T'QP3/P&GE9I"\F/._7LK22_.H6$GOC2H4^:GGY=+-&C\E.G/\]'!7 MQ.P,/(E.&SJE,W74>SCUGO(Y.T>$(]XS)EXWBL21[%%LUY'L2_7">LV'[>CV MU1SER=/MFV!^TL+66;F.>L^9>GN#P3GX_1^I2Y2;27)G%/NM+"[3*BUR+RE, M * 6WUV7*%>!Y2JP]CDP'G&TVY&68#EKR?$&QQN.P%/B^(/C#XX_./[@^(/C M#XX_./[@^(/C#XX_G"]_<+X'QQL<;W"\P>D.=T"9)Z\AN4_HZ/B#0W^5M>L% M]8@4-+@8( G%11-F\B69[F%AV3\\&??=#8B3Y[]O!KWY(];8W@BSX^_/Y[)R M7AO;>"%=[;5RBR>;$G!RK,*5NKPZ7N%4C*=*"9S.GVJXY,GQ#<.UL@JG83R5AA$$CF\X#<.%FURXZ49\F;A!)+>W+8-_!? Z^GC M\H,!_'W/'?RSJ>HTN;['"=,+KS@@%A99O%FX=-."^%)\U=NTAH5$>^'T65[* MO.E4%G6@8M=.C2[&P^&/-Q1035X,3H>!91\0OBXEEEF54E3XP2L54+PB\?XP MNIAY\+0,Z[&N1.6MRQ3V 8_W1%V7:=@0+GEUX0F\>& NWOG$I"Q67@XKBF## MQ4J65<^3WV''5.\%[Y/?TXHFON@+O*@ ^A0+Z0E\7,_#==-[X0[UP!HV\$4D M\K)'^7WA7 R9+OAZ*J"4T='>^@XPB@@\#IT'-P$73H.6ZD1=-(QEW2!>J(FZBFA_'5<$V] M\::B*5N"#?'+3;K#)P%)%'DN,WZ60^7.X7T1F>(@0/'?)/' G[GIY5DC=0N7 ME8&+:@9JL"OVPFO$[*'&[)Z%T@IE*Y'!WY($R&J5$K]7')L:C6Y@IP>D(8!R MJB8C&FI?M90BCHH&^#?>W'ZO!89#ZZZ"54F28 BL/P&(LF*]0N'G<'L#.+$% MG-T(WK^8WX#@.S#4X6('W'^6.6B2&4'[?0Q7@:J)\P5!KW/8V 6/Z()G-SX. M+&T?;]JI3K2W& [KES(3-7Q#G+;G97(A#-NU>&I%"G,I+C53[L$755.*/)(6 MYW;:Q [%>"GR!6E=OXBT]/Y'9 W9/A_@"I"@R&/@8Y7&-&"SR#7TCG(SWEF3 M)=B?2Q%[.6CF,2X$!013!BCA"9[NI3Y=_"9J3SBR3QCL5Q&FV0-,SN??^MZ# M/T^BYH[X'U5'_)]-1_R_=CKBGQ^%;-J]+!:4S**! 48TD4"J)>CUK9*EI9&R M:[,T)V*"Y\5I#=9L1O(&;>?I15\+O$UY$Z>7!CDS^=V/TU)&2'=O 0;-*G\7 MI]4Z$]=O\==W:Q''0("6*MWK XV^"XOO"#-XQ%OC MIO[^U-[H-B+P_$<\Z/KU =H$]:4IG5B+A>2J"%\DL,RW(KL2U]6['_Y]\W@T M[ D6VX"?!?#-B\#WX (\!S1VQ)P_3,F:QBKU\W^HV='U?]U'2;KZ'_G7Q[ MZ.,F3BE6Y 8!SHC^/[B((@'J'G)\YR)"SII(U$*R'FQ U/Q34I1PDCG>Y8&" M@GX95F\D_>:)+"NNZ'G,A^%W4$V:J#9N&UP!:CY"?44WD&6P$& FU'!](LL2 M&3N\0U25Q(>@6V>]!@3 9U]X[]&J;AVBZ[VMYTB" $M';A!K[>MVW>R8:+%6)E@%AMPE\% I@0&D.3*KV':6+,NB62Q) M7P5.$4D96_'-2F2DA$K Q/H:N6%8JZ>@*2?*$BU^-@X122-1+?EN]7Z\"-CG M)5F %QZN#-X-=Z\Q[$F'AL_/#*JG%3_$/ U?#1R77E$7B 7PS#_,+L8=+Y"( MR/=(W%+"]2&O^P_#L>TN(OS89):?\HVO>B19Q*5(,TL6@-4;H25[37P5V'E9 M? <@UC+#*,"L5=+9*\7VLZV\PU-K$$4YZH%>P>&KKMK?\P C8"'=B'=3L9F0 M-.A\PI59D6:XMXU![W5'W0GK7U#/>K#/(I19*@';$4QM4'\?/MUVT"U&@Y3O MH#62U14<*[S0JYHD2:,4?1]P2BL)A(2/O2K*;_QVYMO\,/Y,1B"\JBG1$(0% ME8J&2 FIO0R,RIH(, ?8>L% "6?*"]![K)<"U8T*'LD;SN6"':<;K^XI%TU% M%(0>47B-HN]E4=8^6"ZK5G%1(26D1#)2X8F A0@!T!S6HFR-5MM*'5DI&Q?> M?Q17\)2RAR]H,O3LQH2OL/=-N(2X25#5XAX2301(T]0 _G_QGIJ1#XLP*8$NB&N"T$-:N##8'[7L>BF:1 $(3 _C3M&>RH]G.]GHUA>+T" MFXH#WH2!S##5RO4J.RM;B6O01\MK#SE1F8(^>JVY=U%)G?0!7Z[AG;F,F3DA MI&*)FT5&!#1UC:^LBY*?%*HW082%$!5957B5E-]LQ-7PMUEQRPYLP&ETV9:@ M'M!W5X;"2[\6"B@$0XW.I4@QHV''^ZVG*]38%-/X4W&5R[):INO6]Z3 4=5% M]&T)JAC\;KA8G&9-C42HK1RDGDKY=V$AE01<8C\N0H@W*Y7@5O10ZJAVB;Q$ M$H[3=D2,F4G(1D22 #G2"R@+L]*+:KEUL5HA[EB+)(,&7TG8S.>ZH8E<$9M1 MD7,P:^AGE5;E%2$()]$UXM!8*QLFH@7B1(Z/J1H0OW1O1 \DVPFVB7S9HFTT M)T7/8\$";W6>]6.Q6?[&F8'.7D$AMP3R M+TI,B$:%MS+"E8R75AFFZ!+Y:_0%I!]LT*E +96$12 )/O3/XJ+Q#C$NA)QKMBB M14?U0#93@5S.!#V^N.$086M7$A8L*LX0!$V$A#8PM'II!P\!XCF:2;U64,%+ MUV F+C', O!9E&)%BX:OQ?5*:1VHP=CF%7-0B^T#C:FM;ZA8/7@G Q]4Z:A, M0TPS@+.^.G-C"JSBOX)@6X4 -C2)P3#NLX8.1D F*72UE)NVZ%<9+7-8WP+T M*K)E/'-VW;@PF@R#H)L2C:B"M!#^DU2$8EM7;T/1K9Z25E6CE;W)L#?O!V!T MB%(:S<)6*+1V5;(7%_7A&E-*+..]U@HG/=':'VLA>_9#&J-2BF*R$S9QV@-T M)8%LO-DF0W9!.3 (4BM$?@WW:6_LGV3$)Z%<% 'M'CX,>%%_""QWR(Y7XU'@ MU>19P"^5(; 6*7$E]G]T/+TNPO@L$<:1BS"Z"..S.,B)_7UN9>EO+$O/6O'\ M: LYX(\DX$0./).\Y"0L4(2$A2A)XV3V5Y05>7?)"7Q)_'ZOJO(&>?D/Q'RW M@?_#3\2:FS5*NS\,QK:S>%MX,:]7PHWMTU!:[XR5YP=%%WKH\%]4 $%YU+Z1 M&BS,2D3&8X&:]27[L'.Y*.J4G)Z7-P1QE$ FBTQMR]X-ZVP(/PU,XZR0:.ZF.:>$ MP@D+#D*0AHT%(RFH +QVA]L+7ZC !=!IO4CV4?24S,Z,TPD5 M]FV/$JO7)O2KDDYM-5H=ZC[TB0N)S@&CS$HT]]&)JR]$S78.6#Y=%J\W\,VGCGM^ 5"XG?(.69S[A=ESIV[./LBU[669\&, MY!FIM^1]4%;ZWU;KWQOA*T$??:14[0GN24:MR4B2>X C.7W=:K, ML%B%*SX!5\?7!6-#BKGM2Z>EL?,@(J\RK?(7&98-!E/P%GP?N>1C';+HO 1^ MW7C)F&$ 5EV172*PL@(69Y:? M=EA;%4-U+;M[D$F;<972EY%LJP%U62S7QS#E)8;G2HQE!N] MAY$7%2&HOB'ZIG4&!X1-O0?]=WM" 1246 %VLL;6/A>@VA9E:^<"+\I"B/9Z M\ND95Z)9+PCSHRY7(.@$[[R7\^[#Z?X&BHCW\6//^PA,R O>]YYA.8>#Z#.B MTR^L\+T#1P'=!UA< 0L#67S!$'_3]_SYJK+MX07S[ M.S5G8(?R"C3LUA9!WSBG/.C(7*M2[>-7.W.#7+RJHVJA*_\73'8X@]3#_KL!>GZWVKQR@^)^T2L*B(>_ M^IFX!OT'MO!=QN]X.T$?U-T?=8,F %HFUI5\6TE !U (W_VP.5<#DZZI]NWZ MK;[ZW8Z!&?3PR? B&$Q_5&[='1<,+L;3^0V_!S?]-KR8!C<]_*:;!Q>S\3.\ M^(;!)+/UG4?<[T3B;=CO;L&UP_+=P>!F3QI]>()V=7=IQ?=8FWOJ3GR "_C+ M__YA\L/-V[Q3$[H7._7[B+1]D#.\\7YX<4@?NF, V2-ADV,_COT\@/T,'/O9 M#&SW![>.9W2SH.)I2/YN0.;/MG@L6G_@^7^G>[B[/;C0WMT67[50.0#G8+3=N M$7 *-@@'?HC]U/X-7NICD7^?=A2$N"D6]YU,\.*ZSW,,MCD.,?@ G!_UYM/I M*9_YL\TE<>3KR/?HR!=G3LUGK__0=TZ3>F0SWZE%^[)$MTM0'5\](1)[-A%Y M^NQTT M&CSA9UZ)>VFZ%3A]RL4S?K M]#9\F0V"P;,@S$L./'5N*,K/AX\4);P294^,< MLW#,XI29Q9MQ;S@[ V[Q"%H=_(L%I*YK_+L79^[7D^T8P&'$]0V=-2 MJ,K93M'>UKP)AZ<9<81M@/#<0QYL^:^$G"1 M[N!O7\QMR=1H0FJ^6V-O4]U O?(2*57+U5UMD]L;S42#T/3L";'Y&NVVR#)) M7?L]04W&,FK=ELORS+N-[+3=J?>]U'IT)582 MYX>D!75#I(:QWE=L8=(=6:.&7HJ\Q3)JJ9XESD_Z-D2/4+8\:2\VLZUH\ MW37E1Z$5=S0LDJ0":,)6!#5$FAS\F#2_+-)(=_<7V!0XN/EFW<]7M:%VPZ#W MI9DX]F^--MS.O=$][9%$PJ9*JK;;=_[^T:5M-I"M]M[][I"4^C3Q;4 M-D?/W/FO"M;BOGE!H=_F M43AYOS>Q1/?^J_;,VY3?91FEK"YSY^9BK53;'1>OUEEQ+77WZ+9W= 9;;24[ MR?G.S;LF3[::L]9GB;O;O8]WS=-@P\X,G.@.Q'.@;5?*A*QL 5J%N/+BXBK?'I?SAZ'=Z'5W<]>=R]"*S]V5!4OQ:=4= MZNU.K=;8/K2FF*3Y?KSBL91HDW)#8WOJC*TXX[[AH0/[H7?!;ILJ.A.[634[ ME';/PC#W\[;62,:J6_7F! ;561J'+-($3&FF(B/,U=3EK.4E?\M3O.8+OH'0_SW8 M#'!4:LY1R8T-.[,H#E^L&G&@VS^OQ#<@$'WL/4]45;-:MR,2_MG$"SUJ%<<0 M6%,BJ2,N[F7%;I=V&"D_1V+':$O2]-2D6QY+RHY)GA=+;B@<;J;7P:X>:RFP M5VN$&=Y=IM1ENAWTI@9&F#&=9@IMP<,X1%7D&UW\H[2,FE55MT-?)8Z]$/4! MRQ'(GQ<%GB"L/]7MP7F>!H^[Y(&<<0HP*PTWJBQP'^/$Q_,0Y43BF@%:Q&@= M>2FMP7,MSJ#['J]43<]_-2-.*/]R^J[R_I168.A76LZ]ST5V#0A"$R4-17[0 MDTCHFL\*7[!!OIETJ!(Z;^33NKEXRJH"-5E]G^>(@]L=J__+C&;+BYI]4S0I MKHF)WQS Z-9KT!9Q 8>]KP>/08<#<4%\U9>?/^ %[X'G9=XMPSBX^SU-F0PE M:"5Y8 MMOU^ESEU5)O> ?SI;OW[G1V>$^?P?&4.3R^-__; YAAMG W\#F7F!@Q[Z%XMHZRVDA^8_?V\7C9YRRPW\HA:4!6!_/3@#" M?U+K0JM2A.@S^I5G[^%\_<;]P=6KAEQ"CKPSZ;NR0- M]3I90]:,3'Z2;>3@C[M9H_K"IN3WFY2,$T1MK].1FDLM*QW] \^@+++J'^04 MCG%?1R2HP/3]H!9X1 R=L.(W Z]3FBCTV&;3S^P-5#C?$H[W[ H*=9[!1916S!W^GL^U X) ,,Y"E<<><&6O[U]%17E+T M@UY8TUA(4!-6?+!7/!U.Q2%(:*&7$(<>5TVX2NM],"50860%\8D659%?@"=4 M >Z:(#;')1"Q=! T->FQE5>M990F:2L2O_S\P3AORR9K%9N52IRF?50-0,S> M2(K)@%&S:C+R2'# ?;5J\C3B8=V%DNN:)NQ9UO?'[0*GZ!57.E$[ALU4I)^5 MEGY#0JF+[1MZ=]O/>1/1QQR1 D3[7](5&0PJ$OKSIJ3= M5&K/DH(^W%$?*L%56O+A M)'R%54)K"NS7>'BP4>2FQR=0OY^$5N5(HB!SIM]8H>;5F$E%$M>[O4C()F2,-CC?;5 M70IQAI5$74M&HN&,(-9/%&IG%FIC)D>6;3RBHNW(CF%@8&VO7B]TXDB MJPK47$*A? *H=7O-&G:B)X%W4D#("8!O)BZ:+@LN,$H:+&_P""N,DH32 D$0 MDM#8W'=^K5='* 7J%*9I<;X,*#LTF#VM*X[GQ-ZB@*4J51!AMBZ0L! WU;LC M'4%'WQ9B+RI$O7:GZ$X+05].=] M^OH?/W_V/O[UET^??WW_]>.GO[Z,IY#$Q>WN#"^PM5_S3?C;F?2!G>J!D:F-0 M@?@'QN'^H;*3CXDOO;_P/A\1(SJF](SJF_<+']@+T M>?(%VJK+R!G:HS M;-:0H?TMO"6/^G:+QJ6319;"J'P&0$;M5D.OD KF/&BBFE9)%R MLPN3BQW*K+A"1_A"4N(_&6548,]&%I<#=#SUN1UIV?3%')#W3&$%=O-3=F(/ M%H&)#^1]IP==+7DQ&!+1Y7[54I2[ZY5 Q5IT-MC) MMN=8&B63[*PRY <#%+!(C?T UW#$_#7F';!_H2CU 5T7C5V9?N']"F!$YU// M.OV-LR:W#=JS=+KH%2IRV19Z &L%2_M]S#M'YQ4]!&]0&3=PQ[<)*GFY]11::!?EKB/I(K_!>4,&7!M"21M* M6-P1Q^^D,XB*'7$8#H2=\?/630BDC]AP*=*,@GE)FJ'"VDGAOX<;_-[R]+AL M("N/FC)B;A$2SP>/5Z,_'4E+D1ME&_$76XJT]21-55DDJ!*FR#5;:>:F"+6' M=7,H@9#RJK?G N(;G($K:V %J%2#V8]=3^"&0K73XP="NZS?T3Y]U+^KM^CH M1N&T!9%VA:B_37]\01"-+J;C03"=34;SP7 ZF@[&[=;3'%?O$P1NV#+W_Q], M#*U:@.67!/W^YE-?B,J2CC!MPUG8 (\%DXILD3,^35C(IQF'<#&D9O7+:]-1 MLFO6E;9D,ZDEYG6MG+XB45PU6)_9RC1T[K4N/H>?9X>?[_-KCH^6C2[WQ; G M+(MB-:KU8MNP UA]&?NHYU[KZ%^I56[,YT[+S:7"-J)7?TM8/O2RLF4H(P#U 8G]$RFU:(7>'_B?[OZIVGUJSPVUO.UYL*AH:=^F6T%<43X" MHIN*IW>5=JFY+C-F2FO(8ZM]C>&7#E,=IEJ8^KMQK91MXX;"-&X@)J=+IS:; M0^L:+N^*TJ8I'1(Q3[M\&)E10V#/C,IVT2_";B)IA.59E'PMXS2J'78Z[%38 MJ?.-@/.U78EBNKOU!=8ETB MNR$-7^QM%0AR$W)*\%()2.SE5,W/VEX;VT8:-B(PR5TJ5]]AML-LA=E_5[U@ M&*TD)5K"%:I%N"H@JFK5 )^53$XLI-(2K4F8VUCFJSL9ZQRV.6QKL0V12!72 M>*(-+NDNWUBVU*BA"FUS<)S#L&.D@YZ^D.:6%X 9=*UZF(6$G51DI%]1Y*IA M')M;DNJ1,)1&6<0]Y6)8BG+U"#%"A_P.^76UE!+WG/Z/#0Q1*\BIK!-SL+DW M/B=Z4W*T_-Y3'?W22Q4%QF1L?&35K+!PQG/8Y;!KOQ\I:4H.0 -+K(DGDCRG M<#3HE(FLKY4_R;F3'(X=Z$XB4R2ZCC)3E9+)?%$OKWL;W$F5[E8U1I!VBFKE MFM(9&\CRT+#G-^R6P@X;'39N5Q_O=#I*[)^=VE>".L7-TJBAO3ANKP5"DE'77UZU:(:@0O'+M;# Y M.[BH'9:J*%&T#8YTGRJI,NCRV\P4[KNP(W7N=GQVE61/4$DV%A24I5T\C(-_.^NQ) EW.GI174,ODEQ,-+RA[G;CM*$NQ,*+<3M=K$ M*[YQ1^3,*2Z./"S%)1>UI;<8+RM[9JE'):C46*A7I25/_"SQ=S-=K]")[;E< M<(-#=BF XJWUEAOHP:&M0]L[H^W/\+%8I=%&]1)F$!97.:"S:C&!#21X9H%J M0Z'=^928MSBH/R>JM&1Z,XW73*L7#\;TV\I ')FI$/K.W)CZB,L]3PA MJ\.)1ETJ>W"XY'!)YU=C=6C;8QJ12;7(*9HZ+DAG+7"GD5?)O.*L*(X85 UU M>")=U\2DJ%W5HLE:+92%/C6%\ H0^ NMPG*+4;B4<[2-(T%8'9M":B&I1L%;H147LG,4:P9?MJBL MR,(TD:+2V:W2[%UFP/94 M>=6W3Q5<.,;MR,I$'J]#6?JBKD6$%EIL^*!=S7RHEH587Z]HJ7N'ES0KT M5ZL\<^L#\6K'HU-!&P!]L1F'C8NY/2 MM!W*/!7*Z)H#LM'(4R3LVD M:,OYGDF!3>Z6Z=H,)W^'US@TRQM3PEZMHR62C/O]L+[ MNBM:83_N9F[!C*+M=<;]IM!X(Q,-!T[0O&**^C,7X0&PM ;NR:92[^&0,"V M*U. X43JOEQ57)(U*-3J7M:X5CE:JX#=DQO1Z*_9\:U;EEEPY=Z&_J^/2+0'[ M*VE:*X72Y+C6J"D#S.'8E;+-D@] CDI@DZ>FV$V=)&K,EJ\)=>=%*6*Y'52Q ME&E6V*Y;#:LR\TD*51Q*('ONDV&TA49 M3][-XNAGO3QYTLDQ=U,^2H ]9W*:FS7UQ&DQIHW=WLIRQ8LN<>A8%_-I_(@B M'<1>_5%TJ^O@3DKX-A2QZK Z% I%4^,$NDZSYTZK?)=<<][N7)2SK2U=M/W M57K-5GFA"R,P[P;,PR=0JT]RS%'[;.656V?%-;FRJV@IXP;=>-ID()\>AGP*-(GL MUAHNB=#AV4X\2U%?TJ/3 (^X^HL[=IFH"V5>H"7#4755TM]PCRY\BA[(MJ?+ MB]7.A>(OW9:BZ )FEAHM=[[?X:O#5URHA3<[FW[NZ2&D?PZ;>"%KATT.FPB; M-F)RRG+D@%1OHU:C=8_QI #'DQP6[<2B95JBVE;J'C:=G#0.)BHUC3IB.RQR M6*0U,=;U21'B$ )[X_6(,XZ:DYH&=B>Y]:E_1I'G*LF%E+(4KP'I9]D)[)\C MR]6Q+8=P_Y>]=VMRXSBVA?\*(K[M$U($9DQ2DB5O/E&4Y4T?R6*(DA7GL0$4 M!FTVNJ&^S C^]5_ERDME=3>&I&1)W)Y^L44,T)>Z9.5EY5K+JZA MK?KB)R 4E]6RK!8U3_%?A!Q)W N.;PWHU%5W+ AV9&VO#(+2=&MGE7H/="5> M:+\4.<5!:N4+)'M9?[K^%'EF^&0K"+T]U/IW@%D[FER'IT9R;A31DX^9;N:YX"_HN?Y?T[XV,)#^X?DA3ME-PPC4_JYA&Q<7 MEJ.?WVZ;H48R+-[\R9_^@(L\?O0'A1T1,V91GR4K00N-24#9T0,(\Z18%L G M@>4 EI2>>RII._. UJ/P]^8VP![S2VZ&GHDS5R718ZQNAJ(MXL,&0XTR5(K M48SBQ'VIBG&]>F8ZD@*RH?HKQ<-M&>HM,LT&A,9COCHT_:NXW7J@8+AT@B=^ M.80V3N"WY;8AO#DC08EIEQ7ZJOB:0G?WODNK"Q4?,.%\;M'+NSJ1GRXD-:6" M37?A$=:'*C;-K6-]UX^C=8JW(]A]J+IPQY-'B=.2@@+ UW-*^3G7+JO5SPAL M'D-1\[L7O1;CH^6XTKH\Y7V+.$'28NXON;Y0^T>BM^@.\7F:NZ1U%X.5.)?Q M6A4@=-&"Q04+IU.NFS24%2C_T!%P*HLMJR:;WUV@*N2&6/!H^:S'2/,XAO'7 M= KJ"HC+1K/U-$7S6#FFSF(^2*'4R@!(@.M'6HL!8M6[39 M+6WPR^A!ZS M?0Q_3;A^-4S\5,GNX+[1;(J=9&TN.D"VU(B0GBB3YL)0K6Y*&@2635\ AM.= M'Y>DN,# &6K_!(XZCT-(V:*"9)?C]-T&<8 ",73O9[R'PDZS]>3HX/W&W22\ M';AEI0W[BA=V.=ZLNMZB"U16SIC'F;T,9?X/A?\MS22_ZKGXT:.EF>2W;B9Y M("Y7CF\E"]:61W9:5:9LQR!6;W^M+\"P^S%^TPB-SL&31JDSR;(8UF[/'BF1 MJYKM&IA@Q((<+<6E:6T-IR9&"%WG8N#4\4I BF;?W^$UJJ(GM_IZ]:V^W7UO M,?H51L*.G]WTE,D.(S;Z\="(J/A[<\G2<8P#!^CTM3R )0\.(RE7T@&5#G6)3B+)V0HXM<,XMR"O!E\RN9NIV>#/0U"LK,; M6CC \=K 0]U'NJG.*#K+'T"Q*89D/<8ED MD'B)@_2^S?93!K=SOMMH ]G&*:AS?8OWL+4@L,X3C[FX /6-,P-QF\!;EC=LD>6\+CO:EH/3C!F[ MRQ0HD[FTI\Q*P'%4*MRP&]K;<);\I\<5QT-C(_(Y9^T[(W'X:"MJB0'+NHLQ MA^;*.7>&3XS(WK4>]L1]=+B:5K@2#NY)KE=?U$70/$_+&2A$9NXL.+\RBN&5OG[W/V\-]QMB5SR MU'\T#+<-G3H56W'+*1V+?GO(L 3.=WD/$D;O32Y0"X%L9BE=*OYQ92EM*W&K M.8[^81FXJ&1 Q(E;G70VWH/A_GW:!-3EV@T;35*7C]A2M M3-CA 6-(1FY&7*%/'CW^,R[^"+>-__$DW26]#+[YY"/]SF.M;]'7]$NA2YX% M7=;XB5 ,%BVRZ(O"Z]6:N/-J;!N%&H^<.[<<'$Y":G@Q'<. VSS4%/J*M]V@ M>%H*:KF(XLI1HPI7GGC/#X[YV/LBKU69UWLU$Z5W0ZTO29.N$]O)F'P*I;D= M?)B^$ 3.?9Q;,3!8FK#ME/1-P M&!$1&$_G FY=UA@]Z"P37H(#%9ZZ(F_J3CVW.2WE6R'\EN6W+#]ZT$N 4/M0'!>KMRP[T1S*1(8X,0%!^GA&>D)@ M\DV5)\R36\\H%7UG/]O2:O38TT?KN1]\V;0$+MVNOM+?_*VH!WH"\O&=0'WV MJU?%/KQLR)S2+YX--W%"X/DO:WM9V^@3EZ!C=.9.#V]=UTNOR;)XQKTF,RS' MBBU]7P1EEV39KYOHGV%]IAU\*.8BY2UL?20>MWI/=4'13-U1^*]AA$-GT>#WTA767E\ZJA MXAX0#-]J0Y9$X=R1Q=EL?AR&CNR"CN8N'/%\*A^AG#!>/*.,NI3%/DZ@4:@C0 W"0T+<,2EXR/EKH;Z==W+Z_O"E_R?7%ME((9/JX6[;XD2_12O1(.&8L4_#'(N$2BIFI*Z<:(-2 M)Y+B9OFO# Y!+*FW:&K%)>*((<8[<*O385A5:R.V)OC"_8?;>HZX6C&%K-/] MT&$,/X#Y3?1*)GI"OD0STA9ZVU4P;0&[L,*8,@[XI.[4\ /9M;>'./6!2+_& M'9JJ;N*YVDVPB-J.Z@/C6T>ILR,!>,+(4Q@+&DG*@?]3[Y"G2%)*))>7BV[" M""1_*WFZD]89 M+0ZY7[HV/3<]4?"4^8#5$UL X.6A5D?SU):W916(?2ZN]: EY/[0<&.F/I2U M6!V/3RW-P7[T#21.\X='"KF?9;I&MTW%;G+?EDS.0I#/>)F^XPRQ;TL6 M2TJS@?0O_8#?U;7OY277I(!$4)P^>-[YLZB+]:QI,8>?5KSI],0H>"N?AI:& MV)9.)K;@-W6B97#I/M8/NHPNY&2D6W8VP+390)JZIX6J/QOHEGLY4N8C,GNC MN&"P+=,EV[GKFT!7TY[Y%HQE10< &Y&RG_3E>I/KC:>-DWC_,HKWVT99+)NQ MO@#KCJFGGUU>(H%Q\RAA$C.[??D8I]@L03RSAE,IWY-="KO,[@^B3Q*7> K_,7[B)1\AQNVON]6W MJ0Q%K0@O6L)*&ET7:)G(1V-(\*NJJ':\0TE]FJ. @0K7E)/'1&_\#GN,&!"\E41G#C. M=?RB:;(=B;G3XY[FX? M#QKD[.UY**<7YV+RW (H(C('17#'R>J'Y&QLXCD4;K,.15[L289Q7#YBE* _ MTD4+*,SHY-A"=!%UIJ^Y!'G%?>-4KXZ(?1B5EJ=K.- MC@@-[[8XG@:-;5Z'\SA"PA)HB[HCQX4'DM-DW>Q3F+:5:XS]6HAPP*1$+$J> M1$ESPW!Z29Z-J9NE^JS.,SENH%'=&0&'=@HS7_GL5A'4.@LVA^-43UW7 ML2\I]Y")@2$#55&I?5DPRX+! M@CD6V[:Y4O>*XR!CH)75]"X,M$@K_;8LM(8_D$8?(P41F[DL]66ICVQC$"Z7 M!@W[@-E27SNAD!;]@&7!3!>,I!A.H74$5TC9@41T.Z-HK6P#R:.;#UI7F_.J M*NY6H4:8?T0NR+7FY&JQVM1,U>1NH5L!G#7LE3'Z4497?@SQE'IM& MDL,C0G30HA1=4WL0D:OX?C?S0&4'MC,Q/C.,[M#/H;[1@,-0N-R1N,RXV]^Q M??[/;[H,4<[)S[\(6QXQ># )H1D&=Z[J^"%Z=/W9OV>,'E__Z9>-TER)7U90QLQ^<;DV M;?ZR(%YWB)$WEI\G1><%0_O;8FB?+!C:A2;V5R.#^HTC^IO0)%D9UR[<62)" M6)OVT;6)GRH9V/>OJ?+$E;MOAZYC];@775N$:NW2]$AZ6);#R!)F:[7FQ]]4 MS<:2(V=[DG;<^&%E2Y<5(?13=:9\"JO9=1!/I%I?56P292F8\0MD7*@&?$-$ M#M8&TH*6% 0VQ-*:@']%US7;$O@5 D.Q44XY'*?*PQ8=168AUH*'LPWMAD'+ MIMI!I>6;&!??L#?1;+D(R%RJ<]\3RM/X &$GB%+4 _/*<%**=!0Q")*.U*GB M:3SS>OV4"\]QO?QBA-2H4$@3K2[J.CF_&J M"I 4O&V=)?N-FC+&>00Y#%3<9[0IM9-CFLZ"@*%PDB]#GR/V=>S><[OK]^=:U8EV@X>^VF&$-TXC\VS0Y(=.YB MG'T#"JVB36H8N V>6&+9&9D$Q,EM@W:^IDT-<,&QGT1C$HVSF%TYJHS8\VRN M]:4'L4*>8T$6P"B?;&S*JE PSJ,JRB,OA5UQI",A0>>=%8R[JY"N/45&&->! M#GHZ]M0N;I57>PL9(6^BPU\;/)G087'!$O WCAPHNBV49K2W%50\T29V0A]'G83IBA8,\EBY M3%9KB9)2' -!J[DE((T8G<(F:)D+&=WE;=Y-&:_6THVS/63?$\HVCU!3G3?> MEWS;-=/-CAR*I#G@UG,"&S$2<&3(!O[_9NAEQYRO5Y>'7ZP0VQ:8R6S[8\R- M!QK&9[>V.=-.#7C>9EI;U0, *3)Z (A6$/M3M0%X1IF6-3F"#5/TPRS<45=+ M?C*S9I.>W8#OLUKS-83]Y/F=R9/%9 N$(6G:-" F"3,V8_-&YE8,K6M3\&8Z M\QJW0@:]@P?:-=>KOQ"Q<8ETR$[DF>YY0O\P+(Z8VJSYH'"^M4+NXAJ>\MY2 MTT":^K2L1OU\;#!J%Y;VZJH+*J!"W=F0C?WC7R.":R MTO$?F.'2\;S%F?? O8SGJM:\..9[3R[]]KPE\W1Z]0KA M!\,A1R>F<\>TD3<_>8-3J)1&0FI@R-B&?=0$E!'08S?34=$'4 M:V:T9>?[7\:!V>B"<#/' M;)\G@AE:*N!W(6,_TT"1%2GU0%N_#:S%%/7 MJZ^=6LS\>[*4SS#I4(&':"+"63,*RU69)CAY[!U:S,R3%FKP2G?QRJ$]/#L 4L-NE'.CATE/):>5^,G/#D4TR&0Z< M"P7Z,*EG<%N>6,FC9;:L6S0)0F+NYP8@2_ Q%WRL_Y=&'R4>^#44&^\//;*T MK C&L _*80AO&8@N,J#CG%K[8RA<,$>;7U:*T;JO+7C*!>_ @@L X[<%8'RT M # 6 ,9OX4?.^^9B%(U-5=55C.7EU7^ M4C,X@TRSZNR6LM0M3<2&$KR>$HDI6>T.M?@W\1T;1II4Q?:UE";I&J-#CED0 MZ.\W0[VZ+9L*OC6[&26S31&CTGE]STD97[;4\64>5>G)I]M6S; 385FTQX,@ MS#U7M@CI:KK$[N<9&)'>"I/"?J@ _L4,I[2(AD;[BRM\>*Z6-&V]U MM[E?SMTQQAQ248S3.TMEPE5?9,8A*EPHPB2:GW!;5$/6P9UJ[E4!"4J$UA2C MY?+#'_$5M M *_5*V4@_Z*\+1%(^\L\_]N+5W8=\$NRRT*?QY_*H?N2>LW)0*Z(T)T*:59\ MAY_J]*2TU,-ID:T^V3_ER4KW9!^D9]!'N.8;BX.&9XDQ.UK=SYQW0]8O+JU> M*DE4IRZHY+,+%=B!X%E?0IV-W%=/P01%1!VKJGS-WOC?E6Z2QC@?V.<(4KF$ M_R+^YTV+9,2S(:X[_->7<>>$]A3W<;]Z08L;7(<\*>>N#T=S$.TN+^+3T#=7 MG\.[^3808Q%M0/X!8WAE.$B/G7* T3?EDCM75C P<11Y'DB44N4>5:<0SB[R M'EA\G[\ !2RGJZ7 ([8L_M/2F?04/J7+/F82B5?Y2<;?.)WL@FA*F[89.H7, MY?:29A7:F8609A!6&,M (3;]*CI".P >1:DZOOOL-TRUVRM8LZ<(,6!Y8=M1 MEY=Y' Y:.JDJYU[-@+$B!1"*[4&6VETHDHZU@ R0-!B/"50E+4DZ ' OF2D0V/JYT256/ M(_/<;Z%TL &V<=X\+[!%$9&:Y)S(;(I)FEIH9F#1UDB1\ZY O1XK':#.9 ^ M'))38:2L*QET?)F@$;10RJ/ O@M7_4.Y2[%MO!##&YS+A,R)!R&Q)::,!Z/6 ML-_*S: =;C'0QV'=U=NQ\(>\YR&\YV3"-W81&^K!CDJ'@HL>@9TS(4;[ZI' MD[AXU=BS9LGO@7[SA-9+_6FI/_W[ZT\/.;DT@LM-QE,".9>'5KKT^?A# ^:M M]MP5VWY));D!][RK'M/"4#YX<)IOKD7&P4RH;T#RJ1UT+9)7QH3_"==RBCMI MLA6XKP;P!(63C*=Y;X1;]\]ODM7*7R?N7KI,!=Y>,^;0*LIX />2#,M84SRXRL(PO?C M9[[+UL\8F*23H(Z]N'3A&CH;:!W 8[$+^6+(B&_F MZ9\=O.R^1JZ$N9(5R2[4/@8O+D6J]]^D%<+ON8W MQ==\O.!KWA^1P/^]ME&#HG\9SC:SA2RK5K0UP %EEZ(BL7$:1^& AMQ7-+2K MFZ&@YM(@B9*I$;O'P)K87'+ EM#)YNO;P!S&8%YD/I"BZH*(^5+X.M3Q&"'F ML]!R5FOT!<. $!E7016?G@WSFK_,B=#1+2P[FA0=^?JH7VQ[@EC'.^]+4S&; M37KF%6H&LGB5)VZY9U^FY13!;IPIG;WP!-]@MI$%A$(7T6#RKA>?BU<'4/G"%3=> M@L;$DR([RN;4-9)&1%<7W[TDA>A3U9PU#A&?'BRUNJ+B(W6]"J>-9.U8KM!? ME5)1 LCKA=3G5(AF39$ 5KPMMB4'=FKVJ!6,>G8)YG<70[#@GFGF45+^E@1& MW(;"\$\BWL;II\2EVS7QL1&/C?::_YX,YNH#GF#-2W\X'5R.D7E0T6&<&N0V MY[<Z\C4OAE/4_AQ8C1]+7]$E5[N,A\7D3=^G< DRYRGN,S<]\_UR+ MV_":T0'UD,VU<^7UH2E52\M_:TKK(]8%]Y,R(6@0,SIPFM:*RW;'BDG,#(Z1 MRHF;! )UT>3-Y+8XHISP#8Y:ZK.;L\QCV:&JAF*55#_2%KWC H<()5$6=SQM M=K(8!2\ =CIE4V)>ET4=Y5>ROJQB]75\NB>/GCS6>MOFC(7Q=;%]%@.?^%/& M#.#L4:P&>C@9MA!-[Z".1WU.%DR,4NBD1R=M!UGQBZLIL>X'.'IM8[6.@+V]O_4W[ MFE4GN*W=*%I@W](5R&#FO\S- Q_.Z^QH=A5&6TK-T /XY B&M*0>'YG 75P_ M4%JAZ1K4@C(90Q9% ZZJJ.VI$70(0[XHM9>8')CX;-J0EUD4F0^_<0>HJ 30X_C4!"'V9L/&\:K[>JMSX@BS4Z MKR='C%4(R&*4-6LW].H(00QNRBM:VWI.!7L"@3 F1$D^BJJSSN5.B6-&&H:^ MM6-"97HW.K:MCKYBQ8[E>O6/%\__LOJ:5L]Z]=57 MSPU$2Y\;D!?^'9V8<5R ?60H9\7;8Q.HX-BT^L#4]7XH=F_/X@=HN2#5$$;N M0IQCGB[B3!S*WJJ'>%Z<&'2;^/NMJKB6':&6EB(/>5-M4\WHB>C23W$T61>% M5--ZB1'DB)42QH>M9]@A]SEVR9+$_#^'70-$N]/S M@/(RZH7:U,I7$+O9Z*?)\F'+)-;I)LXVG)LEUSS=4G^9@NQ*7I6[YJZ."T2H M$Q/FS032Q.&D97$1,M7=4UB]4&K/SR.UL\)T-!OB+ B@MY[+^R+%-R6;_JY& M+B'V#&HJ8!)EWMM0"O B6K'8M$VQ\]",WYA#Q+W "$_JQ(1BX-QUILZMK#T2 M3U_&13JYP#'(,IEAM%(2:+>W)G;J6!ZT1N(1IL6N:K:OUYQ&0!]?3X+=S>F M**-H]_%P&.%2^\!GR#H#I38UT]9/P:D.D.IQJ@Z<.@[-:!3CUH>F.(,LD1ED M#"I!K4)\+G#8R>F/ PSFJGG@<\/W#H(N&H*N^5, M,?5KED1KVA,E875VG("*ELOG8&#H71,#-MN]55'KQDU*TG'2RTY=KV1D**Z7 M9E2)2;2Q&%A=OW#RFR,;(>VD2H.4[G$/?,J?*RS5(&;CIK=$3,+_BVMF)05R MBBJC-M_C9:F73._6&6B'@,MK[2KP9/4V^(CWD=T8!=?34S9_=YJJGER"H!P! MVMH CZ[8!H_>AAD32@NZ)<DP@YO%[6[4,=[BZ$2 ,:3PG0JR M=M)U<4(H^EAS8D&CPQ;9Z#@'Y[4&#XSR)DPLCI@S%[*C U( ^QW'@;XLVH": MW)@Y,E&/0 EFQM41C/HX7FGL%B4[_[)6-#$![<0NGKG,>"CU>;:]#A%%TAQA8-'>.+WJ\\.])*C[ ; C] M1AFG&W&W&(?PUGQC#]UFQ,VW31PS$_;L8,I.3M2BS!0PA-\TH\2:=-V16[LB MEHZ\YU4)FD$+4R?M'8H/=LS^BNE$?^V4W]EHP62J)1II VHGF0J'T))3)VN MXYUUYCCF<,%J)@1=XO^E-EQPT^)J0M@O0"*J\<4)N]&1=%0VQ)ELOM;4*^RP#;^D=OG^E26O M5Y\'CC^Q!% 05P+!4_0I2K+;(!(2Q5K2P1+RY!3]V@2LI01.EP%F4CN/9/(S M]JSI%=UU)C6^$=$O4S%?PH:XND!&F[;@>.Y7 F0.P*F2./)>9N"N@$> *)'7 M%^=NMI#S<+,SP:?^%#'WP,^1OWK5.R4?$IO!TGYTS/PKU*)C);B'!%DEO2]* M@_8BY]1.4/7N6&H$NGE%3NXYU+ M(-.HC=WMN'(Y@<@XT9R>4HRQ(^3$W;?Q)&(>.<..0YHQ:]"%,"+<2,IK(P,: M#71=;*56&K\)M!_R]#9TCGK$F6LO.PB8_+T8V]YIGG_7Q+7;-^O5\Z(N=H6X M0SN#'K 6P$5ZSG0,KKYF!4P3PWT6#4=+E'BNG_B;N&?;LD''[I:+PO0^):\F M.N^BX:.R^"OQB#Y#QS(>+?%-'8PXZ%LR[KQ'OFQ#V#7'+FG35R@K4:Z@9NY6 MG*M=@.0\\Z&6_QI:9N1W#;E,IS^W%AQS,/LDNK+A2SC#H-.5Y/7&(4*Z%-M_ ML(4PL04%Q@2M(U(+=V:3]]3;H5YL#V)JC,XEK6CWJPQG?D^&(ROQO7VZXP$> M^-](K:SSM ")0.0=9#S1[\ UD6-Q$XW'(&+1+F5BZ891NH7%EE >V9X?ND?P M@^7_IDD,P&'GINSW97)PXHU(*^%WLI;L>&42*@E@>:4X-*Y;>71RF'+Y&,\W M"FC>I37C'6D79HD6!%'TYQ$",3 /1X@K7>@KV'P_?4 MWS#32J'4>9XRRS%Z4C]3%8XZ6:F-;&([AW'4=1%$[U$-/L1:IP[;46J.E6;? MC,+_CS'"E_;W*S#[WY1;C- W.B)QL7Q+/R]H?3+(.;BF5Y[D#T"=TI M<^"B6W9Q1%\*I:OKF.EX.9Z]?L3("[>4H$ Y]QDE)UN\"Z(4B<^1PL<.&G_[ M*5X*^&&:Z'W#^.1FS*]OMV:S>=_L4]-$\H#-TKKOV)I D0V6E;L ^2[6$UL5 M9SJ PKD1W"T[HFH"*5P8&4 =U5F"?D$CA'81P5U$<-^>!O"A&ZV12$Z>0"ZV MJ@&O"*3PEE(X;Q2J^3=+T\QKODR$8Z(#R$+@;3!N$KL/1=*T5&'@G+ZTX)R6E!.O_R])3TL5&W;HFU+1Y-Q[/VXF 4DK4"H&;/! !T$?ODU>,I17'KBA=+4E'68>C M\?!.VA@GDL?X5L+J>-$WSND5%%65ZM,*K_$,@\G$W8/XS6CXG".)D'M2XYW( M.TH6=&>\N=T;JFAEYQ"-C,.PF>&GX<&=#"9,@KU[9@:\FCH]6?Q@1WTP->OM MSNSZ^X5/LHRNPA/TW"8R0NO3$9J<= M0-OYTS^\R5?YM?;?Q]>??A+MZV=_^OC/3S[Z].-/GWR2WKNLZ=&O\/KWO"\Y M/)\]>?(G\WCW++4'O=147E?7'(E<3;&1@H&A!27]4Q#B%83-5=V@FUX ,98E MU!P7/=3_"T5K(((OBC,78+]D-:)H$T$008OY>32*=!P0%5G#Y\US*M&0)-8> MA2^AZ48)(O$2+@M\6>#W+G"LV%G%:)]DHU,]B7A!3$_TIHN;-FB=6<4#ES6W MK#EZ4*MY W)'/;!\,LN)/4+?+NEG6#3THP<&X6_6**0YN!L:47"D[H@>*/?5B7LO*>= K M1^BD*0U/9%8W;;'+Z3"EZ\^Z#%=UZ,$5#N$$I_MP?6%%/;1*ZHN\^%V."Z8C MNG(5%DEDY-3HB"KXM)?P+A0G;K,(/YU(+ON6"H&4PE,R$.XIY#Y_9+P+X?@7 M]G:PZ3$U8Z#*(_<)=88-8"Y8_M*8?NM2]7Y6SF%.8HEPGIM_JV1HW M:51%>>Q2.O&&Q!V_YOYZNE.G<:R46%,WSR88 M/\Q8O5:1'&E<0GU;M@UK10(3E*V;T1*=B.! EPN*N]3WF$F=ZBH2[++%1TYG MR*L/*0O#6IL/T7*3EARU&)?[&,37/<,U19?22-G%3+T.'D!@I#,[JKCW)&8P M9;-C(CYA_CDTU4X)H)C_B955Z?6E51-0 OI4J &Q-;/G2Z #9>N31A]1CBF[ ML""2O*%TSJZ$26@EHQ97&SD'WF:6DL%QE)P%3+YOB9F4B$S;,-](]79-5 \= M!?1#4 WHU-E N(^VI SN+@F494V#[BOK;!++KAN2+2A6MW$/!.%HGD-_9]-H M1)2'(5X-9J/9]P0)E_.)>6YKJ9-"L8.5/:AJFMR:?+U\D.XGKLV'1(>SZV]/ 18[;:_D!@*6ML%T.GX2%K:J:F2,%FQH<1'H?4Q:7J%TQF MI^J.B4C>9U-M'[[X]CD!,,MPQ_390J&V\D-<)>+<-QX98=GD!6K\;BP"2FAR4U-)IP.YIQ79& M:]3B$RC5!=K2O62V(I]*5X0 MD&US:^W"MN2F>FC.;=QI&UKQ.NY3V##,CK9UJ>V1B] ,I..+-M[V0)8F;E^\ MK)$2LI,+^:-W&&=_;;CSAIPIO2+4T(OJ'4S!3D\'HJ/IP<(17V$M+RTF'.[T MOBI0 %SZ71Y*O\NG2[_+TN_R[\B3B^PFVDWV^RM*H(G]H9B^')- :>=P-%,( MUZSM84HO[_C]X&;PT9%<7%83P V]X*N'6R4/:2H4- *)3UJ2S1-B\:R'[G/\ MH)U 8]0PF)M]^%W6MZ'KC<'Y9QW%<>UPOT%\^Z RBJ0>R&K3ONM3^;/FHH'U M:CA1)C5DBD)Q8=4A@/T*[2YX%S[TM3$JCU4HGMB29]/L(/#*ZL2<5F/B$CI< MG7)(^NT;R7LO9<0N,]TLJ8ML5;;P9VFKQ__BA2!==PXKD#K^[6N2/N],EXHS M?G!*X]Z'Y(LFW6>#KBV1YEU1&26:B1@3!DFSX@O&YZ1/0+_P1D_=O%Q'.O7* MY^[A7OQL?HT[XX4KVT7AY"V7PQJ6*/[QV7?_ISB>GGZ'H?Y'/$S^19'%6RZ6 M/3@0M@>J/O7-E?PG\]Y&HU-#I\^+C9"/+=[^#7AC'<^(+@%N^)DN8#(!W="A MN2XZ\:2]H MQ""BMT?\8SCMF'Y/L]\JBYJ7K)C>_Q".<2!@ F-0S^$FOU\G01 GWXJ$I MVC+(>\6+Q]- L')V=98S(,;0&LX/YY]J.SFG-X2*.%B-]8*@.+$+XFD'SN#P MN-*A"/0>:(;)O1+,:#^Y/(W>'VE>X]+8,PLE*3*@K*VA,ST_6;RMI6^P0G <.T#J(UF:22J9=S(W6X(P3[XIO-=Y(2M# M]FB!3FVJ8^MC:V'$)*DRL?IA-N.905Y+(F#%7J!25<;D3HG777'JTPK,_DS. M@!8FA6MG%XY4F,P9 _2V?"T13O$_]E==ZZ6\#D;K:H)M4&SXS_=7+5YZ@V#C MXL!F>A/C8@/T Y'J&CKZ5-9BCUP,A %3.M71' M9(M,JT71QX30_\D;(@,5J MO8M;N6UBB/NO8'1FZ+;NADVW;4L^OF(H4"*ZG')0RNF_F[HAU/3.18U441*7 MI4C,9<%4VR?5J5^V8#2P%MI9G(9-=:FL8W$_O\^4DR2^/&<)W"[__9/)#VZ] M$AEUG,&XQDYNJI1@(<+-E'GR(IU9(E\1,N*G3!;2G(PE_UR9E8GOT@>*N]'MV M,ECFC& VH^M" 8D\&1ZY4T$=3A4@L*F*K51PJXIF,T,3=O+4>-R?]4@/?.\] MJZTFF"0!,%YI84EJCQ/+HO^^@QY#BHYI_'5P$4#75T=*9&9VWS388R!Y^'&( M03;ALIJV+G8-(S9TQ@@44.T(T4AR8573[ CI,&RK^%-_37"JT(87M5^'?B29 MH)*651)N7<_H_3* T&UA3QO$+TIEW%2NY:2%RNG0QF%0HM:N,WS"'O"3XQ@1 MP 54\=P%/B>2&9DD J/KRB/I\E!9E6NIR-YP.8X/Q ,V#NZC9L;*"_YTKAI6 M-Y"]_"HNMB];LA?1Z*T^C^_[+#[1&I;TAHSEZ[JYJ_D=0AQ;(CK.I#W9A=_LIE3TA#ACVII9%?0*(IL-U'.D$43KR,3JXC?IK5V3OI9:P** MT-MMXCO4+./$!\+S;_[QXHNKQW^VV8Y7#>M.6./S@VNU"I\@94AKL0L#,8["3E);XB.RL3V^Y7@LYD.!*/0PB+ MI:K/8V)<%Q4T)A4_?V3>KQ4O*.$)A=C\V0G/,\;\YW35>#X-;2'";_EWG&SQ MS-=53ZONR';L!2/M,Y1@V]?D8]PO\G=_8/_*2:!I2M$?%?NLFA;=@]T(G\O& M [AD!7*.0'AS;9 DZ"YL>/6Z+9B6EK50LVB$A_8[=S!]?[)GJ>U_%GB[X'!^ M71S.9PL.Y[?&X3R0X_V;>O4JG/H %/233]>K)X\>?X8C%^L=AA] Z7A"E(IP MALSD;5/=(E_ ZMER-IVY8O3]\10#C>C;ZR(>5+_FETQ4^O/]%_PU?X,FS:@4YU?N"W'K0W MC,]X*&:&YY/H)\$E^1IJ:A\]UD%C).M=T='3IJ>GY$POVA1RO@.@9:^_9 5_ M-X/P/4+O>U;,6M-WZD'$]4"=(I18-C4I2B+6A:6. 6Y>^U^(1$=<>]%?%2C$ M5#5E@*Y4=&K"CKUG( 2JIF !)4*0<;E8F63IN;T6,/F\5D1'F'KB+C)*^W'F MG#+N]4ZOO2/50LA <1=A?T!7GSRU:^4HF2IY%PYG%3 N.7,MO.@=YW.*&QS'K3:),S >!(&,N)K-P2L(-F8T-XH M@L$U;APW4@/7WKQM#/F56J?EJ^U3M%#$J&>J/=,0&129&E) 9H*,]*0WU)49 MISQP_= ]>%S!].0MI 2]BD*<2K6G2"B<[;X4@1 !8WMJ*,U#0]ZT-P5J+ UR M4EW\91+;CK]5%$M:@V-I8P?A2-[N(125",_D\H?<-.4"WLUY[IQ9*',?=FN^ M8 NH]Z2!87&-)HPVYLR^,T\^7!_,[AIPZ!XCO#")+(N.F43BP:H%5G=VMH$- M&^?%D18@KQ$KRS7,6>LT=_DMJVI959-51:]0.MAD5=3"*$!'*KUPABC*SLXI MH,A%/GJ#VZ$B00J^Q;($ER5XGV$;!'.7NJ1-(I7^#'U=\=B<9TO9Z*;%^;PM M3I167;N%Z@J5"4<@*BDKG(?X72%@(%;*Z(QA/#3%%BLBR7JH=25?WA#B)2W='!>2%]4FQ M>FA28-0O]O4N5Q^0_(0OS%E*HTP0O2HH6LHT,N-1V"HFZ=0V\<:R*.856U!* M2Q?_H#\T79C+I!!(:NBZ!"0@=8V X.%4Q&>(0W/X, $Q?+T&W0.;D,F@"U#* MB;,:2$J;'U6 2JJEU=F:%\95(H9^V*/>*&MZ480)&[&?] M(1XT!QRL.G:S9-&[<;]+:1K.1;*$J9^0..QWB7 HP( M.^%1/Q5G.GQXJ*PUHJ>MN G9BL+QE!(?E+>@_ 8G?#N7\<6/W:.M3:FU"NZA MHF=/9R!Y8M3/T'O[XEXF#95FD0&GF-#%L)$BMIZ":!6Z!*68+/QLW6<+>YI) M8C=/.SS=RM#KBJ,0RZ2GH =W"U(X9Z2$QO)]: M2W\-+-6]I-G2Q_&CK_[RER]>K5=???6*WJU>)]R'^%8,H*-@"*KNK M5<[@]OWWF9I%LG;9D@ M%RUWX5_C M7)BEVI"/XR%';U72W8+I\0G6M$9.5=C="(I3D$"4."/M\"PQ6'3N5@HQFN[< M#&7T;I")I>*?5_R!6^E+' Z)B\Z$')5H*!,4TW+50PP>D=N-R;&0!%=**?JI(YYRA$^*CE&Z M'+)LU#34WH8R;C+MMM32X4[(MAQ!'S$*4M_?YX%!-UR!0[E&A)P-0ZDL2^1T M=OEX4(]?EX.6TSV=3C2H&KSV(*?DZ3^C63\H#$E%GV'B#TW_ZM2@W$GW_)^X M90BKL)[\Y3G&&2\\^9-.!@J?22X/H*/X:G=BQ3I24K]A,YL<-&OG&L_^.OM. M#W@-Z4G-"%!!!8VN2L5-1 #*MY814L3+_&VH0ZJJ R0%K0P:LD GS$XUTE 6 MHXJPW#5)'79S#<'V#(JI=Z07C&H?OW614,?ZVS3+?&M[+SX; ".B8T"&*&>2 M6TRSZUE,+HGGG5"N"!:S/*EG/2<_3M04&\7WC9JP\K*H:SU4P#'E!$1[[P!% MRDW;%.0BB+F3I.]LL^Q#/Q3)Y^_<%Z5$V_\W/&'!NIB9&+>VE?L/* MD(IGT4^P(QG&UI&&DP%"?_8$$DH,JZ R!)U-:! VDA5RA6][8CP+VG0L)NQ# MP=4IXCHAKL#P4[2CM-KIFUOTL#0U.EKE&T;@>8KO;NA]D7KUK#KQHM;NJK]= MD(:_+=+PSPO2<$$:_CI(0V^J)$/2.>INV)K$2(,8C2%9E;3"0F.Q68W[8:3]5N;]X;,4+QM/ER$U0&2'7XCCF M^T*"@7,*$$]#VPU\$/HJEI["97U)1TTHA"CS%>XH9;/57&1&]9#P5;HGL4.$ M*(H2GQP$3 ![VKQ:HOVW&Z1/1/H0'.MW_N"T;U(*+P1V\='5.0-(#R!"_$=+$]XI">TNNO5" ML]/F3^ B$@95G$WS\;;@B/$'_^448C%.J#@6'HDOWY MU9$":F7>AF6'1^XY"P.)#Q9R:^(++'>9O$<*X7,,9G*X1\N953\<\6%9K[.E MG"]W;2)=)ZF'5&Q)+^WB<7H-U+1HNXT1HX:VY"V*JZ2;C\(0XR1'3'DZ5N',' S"#=,R[9 ,+V4GXR/7^/-?+]YG(N:#A?*#[NH8\TT !13Q&-M*^FD M?+BLTB1MI\MFB\:ZPC$.3\JGB70I6WR%!4XR&VU)A>/->6)N1Z/+#/O$$#=G MA_W2Y6"80L/KU3-_T5QYP'A$J)H8>MES-[142&X#)8^R>^WWT *K?=CH"G8L MR!B(;Q[74)TSJ@I^@IQ@PIE!T";O7<2?XC)=T&7+HJ('I?HQ$F(-V;(R_E:I M%$?$+ID.DON51FCQ%[F6D;+@J >D_0S.9UT6X;((1XLP!6W9XLE/78NR$'&X MYG^Q;OF%+EP$[N"]#MZR/)?E":E)H6N0+%93WS0>W[TLDV69\#)!14E62?QF M<6,MW8\_?=HY\3^/%.13T:I4RVI:5M/H3#0H[A /.CJH (PLVAU2MG63\X ML\I:T#5"@3@-OZ^QS,HR7!M25-J6YM%2YN%+_O\DUK MOQ16-]^6<-="076_3T^;JFL^YSY;2EN6_K+T1^Y:&[BYA>6X3L(!?:Y#>R-\ MA5BRJ5"VK*%E#=&#;H)DZ)N.3=-0"XWK"&Q@*FP"Z%'S)N 2$1,N@60AJC) M7,BV*?11HLZE=W=9?/GB2Y@H[K;ML_:MQ'9O#9TJ9.PKG917W>_I%(8/T'7- MMD1]RO>X@6M]:<(5R'P&6 )>HGY;Y\GRV"/"])Y(O(H\\LLTS;P9WH,W*&1FR+'BMBEQ+1D$H3K4 ;#7=BV@[W>62QA(J.: M@P@ :=F:G.']Q+9:#O9T#= QPN^Y*VI?46-6D3%:_SA$VQ5:U2.J2>QS_BU& M3Z=(&"#WLI5WTS0[(!QD%1!%"AD:Q4]XQGM5GI))Y*"4FV>EGYSG3IJ =X/ MF:+)I5NG? 8Y2RKAY0)/V(7++]IU>*&T08("HV&BXL5$PN&Y4*)._;RGRP;M)9UT\-"8CZQI5N>GQI?7>< M 4I+<$66X+Y^"2[1$AS4V,P1P<*+7D;'9_+;%"3S30(W#B 9JU@ZO%U M[E/CM3>("14X?6^PYQ7&,[3Q)B,$IEO>%$HJ*T7?JBB/<$"VA)7B/FIN9:DG MQP@K;\S:[3M1/4@&V@5;L^T'XV[:19+UYP"-58I'T]R*B.=IIC0S62X0+.\O M1R27NCHR-'&C?:8CWYK9E+E! ^0O0QN]X\[^ K(=U7YR7,>:?J3$$F LVC)/ M;2 A-8!15I&$U#X>2>L=MP)TWW7R ME]PUO+1,Y30>\SS9DD?L1-:DK ^L3)TD]Q#//O3=3#UG4TZ+7(R4V@)O:O/D MCT--",& 1/\5NO^**K0<&\=KD6@<+7TXRKR%")>!&E/\OU8M:]OUIU24G( M>"BK'?C+R%T%IV!_*-M=TEH0=@9\F\# M[X)HM;8A+IC="HJ<+@Q89_S*"B3?##=)UK[9]W M_+&JI%O9J(* DMK=?EJ#E;'GTOAXGFQ6G/C@-Z/KQ/\,M1/EI3G AH5#2HH# M?""DV>+S@W8Z'R0)GVL7YFU*R7)FC@'Q(LO\LB!'/-IOAC;O_DRJ?OP>F=$U MOAMY\ MENSCY.J=NM?$J#@S&X@^>Z4[5S,YF:/1SHFN0O1H2E&AC=:^!W_G.VQ%5Y#: M-P.+8&6O1-#%2@8DGH/,Q#8^@Z]77\< APZ2]0BX9G%4TU(ZD$4Z68"5$Z78 M];2,XY_B23I>Q7G7;\KXFP]!0BP0N>"B@;##JR61J@U81\U2Q1,X>2^CWST-&SK-TDB-90Q04ST\: M"Q6J+O?Q/^E8ZL\\E:/5L!K+E,0#-,([<<.2=8+' MM(L"0WGH/A;Q+T/QEDXJ9CA-D^TEVDF=';%0$DTFLJ6&&-HEI"+[V]0,$!B3 M(L+YU*HXL;TU#M/6[9+" MKLK9!&Q8EPO5'^6VP,YRV[G)@1 C4>0GE](!@-X*CT\+A1BS_*S0Z @#R_7J M96A.7(07*GF3I&_#L4'T*J@+)^I)=-=E/&MW_HTGAFPT2RM+F-R_FMDE8@IS M.YW+=(^?S5R#."?4E,7Y#SW$K?B2YF)4 M>7$:[P_<7C7['4!/=Q-'- M5Z-*7"8K2*EVT5-0MJQ37-98<$-'3W]+L(+H3,Y8J(G]*33ZPZHKN^A"WU)3 M7Q7_$^G.(LX4U#0(BB(9UR+7%FZ&/@F;*.N_+LNA]LP@$^]2WYKHJ_O#V*D0 MCU ._BPX<89 KTFI*/7 (=B!D#G-"^;48($ZF?'[[%O&#Y&-;;;,*1X7&*PI M="69=,_ M-Y(4$W.IQ9.R=<:0S2.J@&P_R4&=\_W$/ L$P4?L7.$GU1Q2.: $11:G*V9E MD)*E1O-64WGH?HJ5OR[4O(P/-Y5QD-:J.SK7ALZP()*\\CV)JO#M0@ZK;(W# M()-#BE/9J-)WYIBDQ%+">UZ9J6P&M-HI9"7CF^FC^B=T?9&80.O M6ZJTQ@CKE)1$D&7(:L7RD#Z_Y'3 \ZRIRQDM8CC3E?E"Z[ (1& E4L](\I[9 M)5YSA;GI1,/284UYZ**3 M/#ZJ+Y!9&N?BY3?7C/IY;P4KKL1B7$NJ?39!B' E5@F4TM'LT,R$,WSJ,(%QHH,*S$IXP1&N?L>JFRWNSHC"),)7BP28Q0:;I6C1#P87?M&FY2)C5P8P=FGU<&\7N5] M)S!<8A3C):,I P< KX60Q*SV(;>I2#_F!C.]L"44L0VVV8-M\6P\Y+(FBM. M@LD"I NU H)MM^*BW/B(_X1G,YM8F=MPW"]WW[FN[J =Z.&-A_KUZM6 Q(M@ M_UH!>56*>O#16_* M8LH-!2XL@"35;5EL=-=_#K4#>!]IH1(;/:WKN('DH*!$.;%MIEU 2%%N">=HGMFV/Q3U1IY"K<\_$V*S;I/4R\1T62B)3'BG,G@4 !A)A+N;J9 2/R MVA@#P5$FFJJT!5L?1'!U$,E+N]J$_N+9-]-<^ M2+J8K2EPWL530KX+*(][1B?%B 3![I9R%\SJ'-J9,7W;L@4:+:AWBSV#17 MV#3I)H9*(J@2RT# BE1[L4_^._&"\:8[_'>J_&I(A6I0@OW.'ZG:@*.S+&H9 M.RY*H?12B&@XK4'BQ8";39ZU]"!_( ?1LQ?J?I*8114NEJ9#O-+AQX'7#3G5 M]'\568$YCT,6[C71)<2CHB#LVGJL*/(1BL;:-4UK&>5K1#] "Z3*=$+=QP&X M8<4ZT!FD/RB@:)WZ#D14P7R.82E(O!EW3DB7/BAYXQ9<2H5F3 M%I7!]0EZ6?2IR[L4K'X;$+*839*+RU]G,E58=8XR8=1-3I%&<\2JU66'%:_* M0YGUR-TT"-F**$M!M;R"S9;#C,T"!/QIE9]-$!#/,(A-Z]17LLTD\HL-A7@S MB$ ^VR ?S*!YY)VO5W_Y*1ZW//O%.2%1"P'&\10;ZE!9+JCX.1DIFSHQM$-- M M"]1=D=$QT1PB8=A+AIUA],KL8!APAEBCC'S.;:\3 M41-RTZ7GWS+AC1U(4NDZ"@*UC)5Z%VM-NVO+H&N'MRU'!L.V2VI@5. 3=6=J MDP-UN]B#+$"=!:CSR]][QJ8Q)XTQDXVM3L[( MRIUL0I>54K7A2O9JW.0IXI,U"@I$R:TD,5L1@EYP:_V388<1VK+/^L4 M/_2 Y@?))C;S4/(14LN=67#S3LR;NFTENYZ(S.4 YE ;;NA\T0=:TRYMB2?[ M*4M7KF>2_< *#SNI:,4+MM%Q:8G?$;+:#@Z=L/-KXNYLSZ?4JC@004LOB:J, M>]22*N%8E!5KCZ#V&RJ*\\\94L@GKRQ;EXB2WFY\?5)"&4?%<7"2L/''76KI MOQ/Y3)V'##2$7A;?[=3496_D45G@H4Y+5OY.&X4\0'3\=9HQ-ES6^$H7')?9 M"Q]CF(/^/@HF*^KQ7[V8MIQ,1\KC99PQTLC-)3X]D.QMX39XB/R=$M;^CD/_ MQ*$0H]F==$*+ECO6@W =SJ59LOA- 75RP<3H)7FBCCB)IB48SDGU7/1)C8<4 MHP]M+6-?S[!=Y LDZZSF-TJ/D$:+'/,<@9'VYM-[P0!^8^!WDGIT?(ZT-8B/ MD9, KZFNX+.M<1P@^I#!;EVRP;9=CD;KVS'23E;;$]<^Z/9^5* M*4=&1)&#(/F*NZ+=I8*'(XU&I'XKH@[R<-P1,),9H30 CE,,/%WSP9]%.M58 MP-:K'G8S-L-S_6B/G;;436Q"IP2LE#K>D)_"O"0 M3JR&KNZ,=5@Y\1ESUEZ M)%V+J&4>FFH7AJF#B,)I)HL7=6C4E MEP?\9@%8O"MVJC1TQF)L]R;HNNA]R\\GVN;L=QY MSNW[VH9E!QE@J7&WR=T8/PM,E9']9&G79/4LNR73XFG7K+M8C#FWKN^$=H++ MZ'BF:GXE)OB7M.4[!MG1PS[TS9ZH'9 5IGHO<4:D\6HFE<"L-?^MCWX/;TC- M8#Y12A0M\7C>#]6:0;-\N2(CM(Y!4+-#J4F92-CAM,[N>#A4O6$IDZOI@92 M3/(M)#-[&0XEOL*;$%$YPOD";H!=%\9#/7OK@>,Q\S@0M28?L/M7]!=QU>F. M'X[K;:G1\(%O@1^2 4)3=BIE)F(+0F/1NCOG=5:/QFM6?7M^NW/P>O5<:KYP MQ]3YR0)C[_4P2SW3[Y2-4>N-Q(2 M"Z?A]$?N;=ZR:#9?RWC@*VSU+ 4@/W?&J=MV?P;_T"VMS8[<(,=E.K?*@+E, M9J\3K[_K%=[&/.K)++*VF39#CVCD<9)FR@YLF10$,!_&9:B1(YW(-^1O"R,4 M7,Q0%W!,$)OQ#;A]2!-.Z?5)[BU:L!BQ)%3 ],VE&)]*< JN5I@^+J^P"V7U MFP.QCZ,S096,"9Y\'*73AB?6I(:T2,T_[U)R^]UV)C,1?T"^@#M SW/'YYOS M'4 U6S<2$9Y@==OO=G,_G'. Y_N/K!/"]H]2>/)!H 7"#&&2-R.MN;-HG=J* MHAT8J.=.DL U")" Q7N:\TT1I)@];V< XF_^**(U'94EJ/F(L*7R*$WMFEPN M^%<.,CBW 3_,FJ;'E#/;A6/M-EPRID]G&,6>3O%#3RDUA]X7 MX(82DJA[^B9,4X9[' 'M:/./8^.U6\1 M'J0[43/.S/(0>IZ1?@^SOKBRM*)!Z/J!&^6,&]<,@5)&S/"P$$TA86L-%Z(Y MMVVPSEQ-?3"N;Y\G+M516[]Y:N("HC,JGV]MPC56M6SI$(:T?W.S;=..>GQ] M I#.] 'VQ75(N!\RYT?V--%" MT$G4Q'=(78$Z9->\,9-UZ8+6@$&-99/E.X"ATWL['0 MS'J8R354%1U.=N%^-?=O3@(\)G^$\V 7N-%MH MI2'*CN/#5-&Z9QDFZC IRQ"KO+0_R*($-[BZ\0J::S,\[]J8QT=/IV)3VHBT M"8X1D*J&S.^)#&X\3KC'NJ=;WGM)J&,PQHH?A25;:XW&W^H5$.">VGXO4H.3%QS37I*M(\,W=.HD: MKCG/2*_++!V^,0RC/!'X\5![;(6'_$.^NC5Y-9$0C-=EMT M8B;MYY1K9C;]*]9BJ5B*K:E"RJK1RV@_H#Z+C:0*N@D'E["WL]PTU @3*3J' MF]3K3G/5#4V%C)1X,S$MZWNDYI1#.(K$# T6\@NW\;!DFX)PAK$^(;<. M4HI0ZM%]HHA8_>E1/'3/$NG/;.GQRM4WL[?:%G&5%I;J,A6.),_17."+T=FZ M]O?=-:&[;Y0O#>Z;'P-KJG,[YU24RH::MIM6;T(?)EN*RQK5D0BYZ0'BL@Z, MSDDKK\RTA=*%Y<&R_A!LS]NB$K%O+&7>;*I_\-#MZ8P4O Y-&C#>MJ/$G5C8 MG/NL:2=;2_;T34OYRC=L(QRRNN,2[ ._Y1[]E%. [^8KD3_/:B!7*X?^.L_8 M9:1LJ@X))+L-T;O=]N(MG6Z-\9#?98Z$6MJ[L>(]*WKQ NOT(279HM;7Y_'J M ;WQJ,S6T)6UA^$3B/:T=6VNDI[JB5FX^*2CA /E.G>,T,Z.T/4O\W!2$BA# M$RM*+BBO'=3N^8CRK%C:?MB,)#+?HXSB _3G>5E"*65D1D0.-:MJ%-005(_%*@0+J3 V)'#[IRJ!EH$:G"2,.EK%?\"J? M>1.H/^D4SP0J8&GB191)]V&'S#WG4W[+O,)$[(X:L8H3$* M6F=2J,K6TPJ>(S%-NND/W8+\$&0TQP.X>O+QZA#'D#9N#(+6X&FI$0^MJ-TC MO%Y[9988M)4U:OP43G9]:BX"/PGWBB.'VI?"JL#_(FO$C65>DR%&=!+;=HZ/ MP(6W(H&22)D C#&P8BK[K\'/4(7=C;\K*NQQ[X*;9K)[J1C&CNF!?%2L,2"7 MT^UDRW;1U$4G]L1NJ8R+'JAUW[[+EJI*EH+CW/3ZRL5#X!7V* MLS.$O/P^S]4A"LWQ34O>P*D7!+'!,B$ M,3SZO#8W]!D&(R-P+T>DPH3F0'^2,JC,73N?]=0D""TZO A;8E /FW[&3-Z. M"5L$(S%3P&>K(E'.(52G4?X9:'3']XTGF>H3@;V)DQ#F.L=]P(SEF3T:>SEY MO)ON(Q(RF+D>]$XS<(IDQ"Q[XDP<#ODW2=OE8=+B],XEL0LCTW/Q%Q&]E4D< MD'-6A$4=2"UN:(//:3D.Y,L9Q/139F9;@2@FS%]\.;5^\?1,*,SN6#S2!MY_ M>ZV=HD+3B,.F)OU(*AB3P;2;P(A1^:I^)+;X*Q?$N&3'M,S-[W4A0J71]M" MK;S(=,PL]'0I0Z$4W-S%BE(T+X0?DMUQ>; M\=#O96\3I"&TH7:%LU97[8R!A@6PXDY:WM'YZK%"\4%?L#WEYK(1%E$K2S38 M/P-R1@=GG8#ALTN8\JF<3E*;,1;MNM#^ Q[%M/8M9V2Q7"CBTKW_WK)WE\D#0)RUR M"=E+O-;8>,^JKI&F VUY85+FI#V)ROFF;8H=(2?K]R>+M6"1?ETLTL<+%FGA MZ?GE[^TK'!/7<&2Y8APIE#L">:$-P!P_DS23L(RPS8=I6OT5=/_MZGF,:@J0 M(2J.AH5!6CY;^/=T_E%FC@LXDK!C:O7,]KKB=][-A<.>"KL(-('TC.:U#I2P M8V)VM:'1/^@3^L<"\[5TFG'T'8=S-5NQ=F>''N\IK$PWT1!+&N@UVU#?S&5/*A,BQ)KQ;Q@8'(YUBLK43^7T(\7Q]HDT1&-^W/ED=\Y/ M*29JDIZ VW%.7DM.]3@&W0_5GO(-,!])XDI/\X<>97SM),A>A_/DC,<*L;WY M=J$>$;\D*0D-71KQ;*TW6&*8\VA](7N-W817*#KP3=,5L ]GA+#)@*@\JM!, M4UM1]$R+4[GS>L/.E# Q@O A==M#V T5=!$<=X*YTY-GGMULFFK(<29KO[3/KB0-ZIG2='//KM4DK]6?8+ M0AQZ(7#VU_42EV>=N6I.9O;!6KGA0+PRJB"BE(U]1Q8^TQ:X$.!BA@^%P)Z* MD\X99_UU@1+JG\!7&6)*B1HD<6STYG)+MM(E+YJW22M %[UF4$:'!C A2?/X M#,4+"<9''V&[A?#5#6W3K)H6C25923O"F@L1WD3O MV$$B-/Y=3].UG%FQ%Z( OKR7"> !IBV_R1+3@W*X*7.6BDQX81:MI4YY&B7A MDYI 4W^0"C]8>&SW=)0LUL0_KPB(Q+QL/Y>WUJ3I-%W_P&WK#PFD='%2=P&$ M(^#BD^F%GT$TC TJ_AYOS66NL!I7-"P[QYU-4L+W$B5)H->=Q]9.A<,58-;F M&&=[6PJ)@;&"X%QVIR]WP>HJR3"<2,DF-VSV(<8,0+N@U27E;"RR7$[:(*"M M(ILL>A2.@23:\5 ROYW0_^VD,9C@ >7>O:_X]4;N"%JZ-;)S1GKD=$<8OZM< MK'E;JE6K+G#YT5"D;4C:54R5.MZ4QAXR;M+H-1Q/O?#3$! EZX)5H'_J<^3:)%'1XF76]BIN M@ 1"O5>N@P)@$4D?"[VEI7S3IU>%' 0D1-/$ M4)LJ"%8X;\/+M1>*ZJ9IHTU014/!"YID'O19N'N1OATGYU=W;DD?DSV>]G%]1Z=D7EE+ZVY6<"GK5%1(T_5JY7TI'C1F9F-=LP M6A82N1:6LG$^G.MN3!C.YV0(__KRNZN/A>"]HS_1^#?2D^K3I!4IP<3_K6\& MNN&QB?=P'!TV<_')"28UVV7IIK<7@%$I]!3/V_UF)9,24HA8K_/NF(# )4RY MD/<1$/] ;-/WEB MV0ZU_KD,VP7:CEUSZC--&WP1U09]V*(30TO-,CF_7GQ/9U0'T/!N#Y0=C9NM MK=6 R/Y@R\I6M9NA2-I7Q1W%/)NRZ+0]!)CM 0\FABV/(VQ3*U2P#?\,QN_3 MO0XG$B+KCC8R5K]8K?X2OP_*$,UDR=AV\:"!G$6?#,^S%Q88C!I[FC9]Q_8M M)^9 Z$5J]HD(W.FV9J<_V1X:764ISN@$!^8R87UFO=-YI ^GIG,,:L]H:'-- MRZWTUL/C\%IALW*'2O$39\E3UB,UF'LV#$%*SVJL]CI;=1P:ALD.\10@OJNI MX%.FFGT([NWG>-O\N3D+GG$V,\=[+X;S]^M0\27E^:,U,X?)2,WY46MGLFHO M6$U5VQ/U\3'E+M+V[FQ')0%.@O+Q964!EV5 P,:+FWD.N?\8625U]B;FU^U\ M X6I2[(1#4EN#BRA_DH*#J:>:.V)VMT@IP09WF26UV/J.KKX^[.L%VC1KPLM M^F2!%BW0HE_^WJ1TW,9(0^RK3W?7UMHWIYK,-BRSU#!C0/WZ@YE26V4[3FU9 M2JLZBPTS-LI1H]OO;\H>V@G]O:J%,Y,D0TQN0-!K=6("@!V#A-T,MA*?3_OX MYSGN(4X%CON,4]X* DF!:D0,_OWUJVLAA:BO\ ]B_5R/XB!C,'%Z)$!N$+DM M=W\B;EZ]0M*#E(RBW[E3+N$BA0 W5;,)WAW]RT"D%>PV"ZH&CQ'/]Y[B+2X3 M5$3VBLP_U2: X\F8QYE7F:[W[,6(MYQO4-1IF(6ZW"Y6K(CWN(;S'$<[J7@; M/(9\"O)]D4[)WXUUW!'Z*1LP/5&,/[Z9^394 ,-6-'[SGT&G ,0)0L-\BP52 M=D*E8_7CEAR5UD=44T=)$S/QM9;T]+B]52H,J+'562<%6F%I$E[-,_$?FJ8+N6YE7OS,H'="P"WR%=P*,**8 M3NG4:#VJ*\0FW]DFV:Y'VLJT'AS9ALZX\.*P)OQ5$;@;W$"&[TT$.I#="$]P$LKK5F*5 >';(9@;[GS M'79=OQB=B#S#I?:'GV9$1Y"M?$U#&X]OXIUTH-5S/ L^54R@IR5"21\T>!C''S<$.Z,OJCM:S61*(OEO%DL="D8AXS1W$I M>X[*GBIRH/SQ65MKHG9JAKX3SKO5]S6^]@J.*8F 95#UL4H>^93QBPQP8EI; MW827YI$MAH.KV&X"@L+A8>2I!'^4/1@==W2>Z(%#1 D "1/<[WZQN +93UZ M% X1'?W#?+#!(49=W(AX28]^=\';P!_.-052?+->43]H]9N"I\:!\'1CH=4LYUV(+PK,L]!"2'KX7#X^&E Z$94.4)C6U!.-A M^U <'2HF84_YS]OSMA(9!=(Z;N)IWG(&@RXA[$EFX@ BP^_F9U7UGSVKV6'T MR*EJ8W!J4.#+I$OM\.*>\Q/3HFEV1//Q>:)=H@NIM7"2/SC-+][ <;>,)#&Q MAY#GUB&8W8[KF1> -0%%H"P>*X-2!Q,'R,YO2/FDAWX(C.T$3(K9+2]<@+^8 M7=J!8R1UC?O9J,X>B'AON[G+?/SWYQ:>8>$IIK&CB/_W#OXNLZEUGZN/K3S]Y\OC3S_[T\9^? M?/3IQY\^^22]=UG3HU_A]>]Y7\HX?_;DR9\LY>Q&E6_R^-&C\55_GY4(5\^. M#/60]^*C;$E43!6'JX%X>ED0RU8-Y=%3-GU9/0]O]>B)Z/.YY+I63-,7O1SH M45GN&-[*LH"6!:0+*&MM9LRO);E MI*8-XY5EELRMJQ3WNX@5* MXH=-4EQ?!*K.'H6-]SD3=X35YT.,*0;ZZ$6]BV,D5;]7VL:CX?!W+63CS^XZ MI@'S#44C*%1]*4O_60?ED.?\G,OJ758OS&W*D\">ZKE,K3)7F[;?OK%X:S/B9,'1+0??_1@.[:XZKS^7JS[C6\>31XT=O ML2J73I=?H=/E3TNGRV_4Z;+8UX=E7^/SEON]#YRIN8(_76TDK$[@Y!^'IB^D M][<1@ ^4)MMA21 NBTH6%7(W"CXBRFCIS%?R3Z;9"2SHFX1@XU,VH&\>H@M8 M+LMI64Z\G!1]3XP+VI>VZHN?6-#VQX& ;9VH"3+] 61%YHMURZ):%A4""X4N M26#LLS/6NPK"R=1C@C;80[DI>Y4J =,'2\?SZ2F7Y5Z.ON'^P!WT>)>EMRP] M+#UKFDQTE29;0RMI/]2[9;$LBP6+!>W+9<.G%UAP4B."LEZN-J&_"V$&EN[\ M^N16T8?+ZEI6%Y BNIB@-@%.P:$F [5&^SOYYW&UA&.Y92H_RQR7M;''L^:! MR:SR0CLS$>&-Z+:9\)TT,XU9@4$19GV6N3A)W@$!^+J)B%U8QP^M58 5R%+W M/Y/3XLOMH6]405Q4('Y)WRYW M\J.BI_N+VXAV.8M:'&)P[(D^MZGI8$\E0$#+0FVA;^XZ M6K97*Q(+NH%DSG#X,7LN]\R.YP^!;+E14OYWG+2)]*W*2L4O',H378^^[RZ4 M=,_+CD3@V(\07M*T^?U/3.,3_)-\#VDT]']/S'YJFJ4E.%I\*ZVECLLD<*$# MD@T#/7;2R4DO_, 7V@]3;5ZXK8^>IG6!#QX_)6=O:&$+]I "BNL@: /Z_"I# MZZU\5[Z4%IVUP3*GXOP:S58G2W55UD&+V2:',5I.E"5*I.^2]8#CH$5#R40J(S-'+WIQGPBQ M3FI4)ZI?:H+EU!+K'@-=NSV4\5]^3_AM DYAVQ$-^M?+VPF3Q;M8UP=X(C+] M"2VLH5:RDJ*'--7:L:%PKQ'+.Z1.;BAQ09[+'7N.N+8Y.9O30TAFEF6)B%)& M$Q9V#]TTW7\&ZNDW)B 2=;;U&R:1(I(XUMWK:#;<'"7_4'6?YF!8X_RF-#V'KXJ+8=4;V M!QIU&FX:S\0NH=(PCAG8%!9L!>E@W05PCL4=B[-''DO/G41X3#,0?:\V/H>" M76V&X@^/UZNOX^4(C+K.'R?31Y#5<6A6H"IIP['I ^4-' 5$?%9102RZ-',N M8@^TN_E?B.EI.^; W.BW_DA1?H6S-2Y>:+#R!VH6],$3I30]$M2?) %0T0PJ M4=:[G!0B#WF^8 SH]>ER$&VLL ./(?1*GD0\.'BX9)N\%$#BM&DYNY$ZIL', M9OJC\(J\GFEV +'CM)P_T_/G'R"YY\YBHLC\WD3(6_+5$=-7!WZ(6UK MU@XO[B#XC$ZQ.CQENB^R31!,2"\5C!X1"?D(1W M6 E8/P:$GA'S[)C+@\GM^$URGYFV3>B^LE;S:_3]S,[FPX1 _DYJ 'BC]X6,,=MTET M5([C:_Z0\JQ$[_X\ZY^;W!.^OW?_ M32'+GRZ0Y?>'G/_?O;E_L[?\SS1>[URU<.I)B?XNP\E M=B#9W793]AQ2/*7CU>H^T67J@1*)!X TTU@UP6('AZ?T(K94WWMJ*5&A!!7< M'(6Z3^=5OY%L>>KF0'$ +EF6D)[7U(F6-05A]-#PP\/F]":TGNT58[%P4MDW MJ_.NM?+=!F@YSC"((A3JFH:&Y!G]XW(8M8PEV(_6ZN0DV0?H,\+9> M[0/QS5(*MP?.*/6JI--!HDJ5Y;"T[.4WXUD9+[H M%KX7 N;J@W!]<[VFSEE\]HG&CU_R.ZR^PZ*EQMNR SSGV;;_T$^1E_'0JQ$K M1E\PU11]_N&BH_/[99)D4SN9&%19'S]YFM;2A?[K.3U@ M04)*SRG50[VJ0\]S_WU?'.0JHDS?G&@=V[I@PZ3DRTP80 (R*$2(1$0;#J(] M=_^JETUMYNA:&)./1.">)"ZDZ@."M66JG(PK?2R4]$#OF;* M6PJ1SF5U6]R&&,%IF'CZZ7L2NJ(_T# (L^?OWPF,!$ZF6A#<0%JUBEC)5I<+2YO6VHQ MA(A[FL(VX!AX/:>4I99+W#.9"5B+?1(5@&1P_)I]%S-S:&H@EV.TT3%A_MQM M629!=I1M?;D<;RRW?5'SBC1LT(9N "%/.&<[&=R*K)@Z*>&6.69Y3XNJG.?^,5.@K,R,.\!(' MA_61A39S2R_JF"$DR%.O7F(V$:PKN]?SC)M[*#A;P$>: ^V.8WTJ2YPHQ4RE M==1'J_-##_N^N20O0B.HHT[+P6F33$,9GJ%Q$".N^7T)E5PHCQ["Q/+BTS!4 M#/G\;_??+I4X(SQM_M MFF[U,MJQIBBY\4+N_-5?7WZAMXV7BM?[>W.]>OS1^M-'?_[CDT>//Y/PX/DA M!N?V/"_5%K]PMGC\7'*'ER]>?F5W$"]/&B!]H(CMX]R6^1 MG[7!M !EY-F; MY<%<.V2"%?5)@CEZP=Q-L@O1/G*B8%.PGSEQGER[$SPTP 8T038RKT\>K>(. MJ&@ :"UUT^=;KQY_>OV)?>M$TI"DEA-:(&'2]^4=4":,-A!AX1;II(__P.C MFB)M::F13)+@%$H16T#M/.5_FK3GFR.4=W0M?"(ZCC:^F[A06,*>SVOQL)%UH.-R<>!^OQ8@ R=* M%XX4YV73[G3[:9[I+:*^21IHC1AF U="70JD9L4CTIS?O#%@_73C;,_:2""Q M+NE;:>(O4S]8GO[-;$KG!!K'UB IR>.M^[AJ9*0YFQ.W$8%_C:(4AOXVNIFX^A5=_2S +Q. M^9/SCR8OY_*0KFLKH:+4%(@])-'(DA"3^^[^J7%C03M^SXB)[ G>9MZRP?#/ MX6S<7'4BFOVX['4*S5ZG#U@ ML2/R,E1OK[ <@^]#'D,.AWS>L1[U3)3:*F@O(7K&X7'S&IJF."%<\$\+YA^A M/<9[P1%B8%)%ESNAR(A5D*2[QUJ7P)IFUEGV+84W^?%][UY+V8XB4]Z[ 9\) M)2:H-;LJNP/9_+\5T?6,?WZ\C@[ODS_%WQP#B365'1Z&LW/N+2T_@VK[L"$E MVSA^9&B &FS+/7-R2XH$6XN?C1IT3$9W=M<<0H5\1 %)OQOE&\W&7>+QB.VYRAXA+Y/0"DF"A@TJ<',YIBK?T_FSN M!<3UZX*X/EM 7.\/B.M_[YD$E\!Y.*I?A7C>>>CD@QRIKR6:7.IK50;[DR%@)J(?ZE\<("(BO,55P9_3JQQ5+FEY#XXQ6 /#Q2!WF!S2YV'Q[ M79"I!CM"3=@='*A<*C7.G>=7I=ALT\27'1Y\)/I-UD\@;!'2CT+KY ;9;Z1>G[U(S8NI+DC^H+AX MU'&52C .]4,?B93QI?CKGON4G7?^?DG*ZWKUUS%LZ$3Y5$9;Y(+6)Z0N4I.P MBC9HR)L],"==!BW(D_*Z;_,<)U3LHN,ZUGIU&1V*1U0Q"2Z"24*+'FTH26F)[?NV%M,;[&[+>J>BXH_!-SHV8L_ M?OT50I&XWSH(L:/7\[5WP!728$%5:2,[4^&\.,*:Q$V#<4 MV;'FCDQN5WWHUD\@Z8"V;*@@A-4W#S!_*[!X8CEQ8.5[P>'S:NEY7OSM]H/' M*(14DM.\W]KZLCU0FHF[I#*86-\\H'1"<#D?S<>Q/ V[TMX\"Q.165G7O*T2\41.6? M5Y^R\8^'U;+'0HG#!ME[L91KM):RLBA['Z<"G+1K,A+A1#:3JC;[HFRQ!8]E MER-E$F&.9.)]X2?+?KAC(1J%&DW.S"4BT[0Y___M?5MS&T>RYOO^B@[O>,,^ M 4($2$J4-',B-++LT9X9V4?RQ)PW1P-=('K40,-](8G]]5MYJ\IJ-$C*O @D MRB^VB;Y45V5EY>7++U7DRE>+]V9@]EP#_/R%&SSY3A^]-4?TKKB>*MSI#=^C M_-A-./T,-&K091VU-);QDNSH1(!4Q_!Q#REERE3S7D" >Q!J)#'NJI=0?L 3 M)1PI6^O>O,#4[PJR:"%U,CW##@[ 037V"*!\\ZP *$&Z*.W3@DS!,/FE@D9! M\!HBW]GHIK4Y5A<*I1,V,^=E$_)"..(+/31R$G*,ZE'G>D>:X \];6YJZ](J MG'4-;*8#=A4D#<8@3W)\F!.HFRA,&YNP9O2OE>AHF@+Z MG-!"0QO%T5ZD1)918Y(/+8R)425*P.\!9B[\:K+OI<1]R^&D\JY75SIH>HC, MU"N[-_5SJ=3".Q+HE.FIZ\"QV)O-B^M.RY!I=&G.4',6_9A77]>T[TJ.W )Q MC3=7@NE<<2E@&?" E6U39 0.V!%N<)YKH(U4S& &U;-7!A>4 QHA!0N_3GG M"1%WN;X43?E*M\[K.Q.YH")TJ@8$(QKX4KD!UK@T^#:PAY2_Q8C)[Z\LSCO@ M1#@G(*Y*@ML'*5>0\DZ$B%?(+"ZK*I&"I;;D'CX&%73/[HU"6,<4?OB!)JL(CS-B'IIR;5@R M@;.A:Y@=N$ J3]]9"MS$_>1*NACR:K1!EQJ);W%8=BP+(/"LM(P/0;/$Q +8 M78_799HZXC."/!.5'D#[6NJXYSIWXSOL&=ER,>O&XP=,B841*O):SR'G8UQ@ M5@QYC\=T P&Z7$W8BLQS N.@DA*?2Q<3T#"=R9*K(:7JAK,BM\^2ERD*Q6*;/[;*U%]1B6/C12>,Y65)"!=-2)-8,R"N1V0ID#"DXEK";UZ_=U*.3 M-+5O1W"@9FOI&"_AB8]F_/4GVG[6E6]:N4JS:A,+[0LL5>35@XRX:D,C]0J] MGA>TJ;$N*1G?K?\[1:DT\6.$5D]H-PB'$. MD%^B&0VX!1A 4J^$[(!9 ]2:R0 M)WV+CW. D"[-92ME@Q!!NL1OA0\**8LP]%$NC>O1'B[$A2'0($0L*^:A%RI ML@/U?L)9IM(PY%L4PBOYG*Z=1T>D-6!\#A+&CN'1VAD_;([9,T[3$-.(T)?C M0=5S"=I**3(XN%X);),2%QRAX>=">=B9"> 0<-\.1]X\APIGX'.#Q"K,(53' M004A\?"FTVG5$L4N.C'T^&XJ0&M_K5UR$^:5G7GJM0Y/,@\? 7D;"H?V0)>$ MJ:N&(O#D?H$G+R/P9'> )T_6"OIY,\P-@@>"(Q5ZR M:+_!5T FD\JY8*R^D.I7>Z*];?D<_[_E!+MS8W.7_HG#-!S,'B$T84IZIN)X M/#SU4T'S0!^-7\PI&/O0%P+3TM6IZM$LY0R$HF1Y9:PU9F1;\'8(H:?P%SS- M,0I"F?5""G*$_>/H="SIY??"XO*1*93>EAGZD*.7I\^QF#9=0!N/+/D.+I=2 M;'N1*L6&$KB5- Y#FP??=U:BH2 WE1=+[O! MJFC_ \0%!UP$+(6*\5!\H%_ MQFFZ1ED,DU_ '"D=R[=XL0&;JAN9+_*AE4LQ'TG5J(XI$YLX$HLP(X'!<"%K M;0--L4RZGSVDZ@<:/D,?J)X9[31*%*1+SKJV-7=2HH_D%0YN2Y!(H2#B^+L2(2T-/&2"3N4MTEE-CP)L 3>V9%R>47M%N M-"0^;])_J"A[;W# +@C7'% 27RK-B0*9.::Z5:63L"\)$T.I.@0[.J[V-K8 MB&Y0[GF:UO-DAF0JD!*WG[7OJN?-$M%'YR7U7W1;=-G9HK*3G:&E\0BK=!W$ MK%S^BKD2ILQNALX(Y(*7ZWYF1LC>(+H%]Y3HIVVO+)=GV*BR*M=I =2'Z9H" MA,X>E(9++3=GL;N@T)#33C.R3H?)U%[?-(7T:*+T][;Y&B2^/Z*;K,K,0'-- M,;<$-/ NKKAU9F^6FKN"3'W0RZ2.2!LG_?LN]?^BC@D!XG'0I=;M8N:8O-F3)$Y;B;,6Z5M[1HM4&W&DE"*)G,\S]):UV,#_1(0 M5,5D_;;%OJN<7Y&RP=B(2M@_2R;L'?^)=^ M<@O^U]+^BXH;/A'X2G)+[RXY@:DH:3E-B 4VDS+CA-/",14MVN),NB.YX00U M7>K+/0Z[8RU2ZR^!]$@B4]VIF?T\-1U/!8/1<$^9I2J\[\">Q3L@710F4Z]? M(.9UM(K'7) ZQ^%RI^MH+YI M3<@FE!@T-D1V1;8HK@;RMX/0W HZNW5!4*35-GJ-2[D5^EAT#R'&!+$'QB! M_@5K2!N8&"*EAQW0AI7@U0JJ#LMZ.5[9J>ZD7'.(_W5->=4TP:F_(-J^D.?% M^UQP!)\ME6\\L=LE7SE3$7AGB<$()E>Z1@L]OG+PW9^>FXEIVUQ/]4VGR9$BQ\[;-RAK[;0;10<50B^#GI)HF7O5TD"(O^@@ M"0I?^?!6T$&[Q-@_E+) J[21XDG://W+B56*K FZ+)R>8A67M4KQ"^K2O9S* M\LGK99YP:LSAXH0-]G'\%^.Z$<%J%=-$(DE$W^OJO.1(WR9U6L4LR^6!+N\] MJXR4;]&GUQL]&J;E:LWBB_,)OT)1&-'0>9(;UDDWVPB<8EJF"Q-4..96U9Y+ MI(N64=9.HVKTHDKMK%0A;!O#[C @1-C.O4[WR6&$[>P.;.?QGD1=G>6;V0XV M^OHNL#7!&?8UHK.+H>"*34#JBSTZ'&^*O5^_%*)S=)18K[<%="6=60EI4$8# MZ%G'C/;X12_%HCV_+L W9]KH 6(,D#/8_NT?YC*?EGUY[0<=$?OQT3$>]:'+N^4_(P$'L4*Z/\DHN,> M\/AQC/)Y4/-QX? 39VUJ/Z,QQE$5U?WOEP;%9WAYAH/%F*!83@A#1F,)^ZOP M,RCAN=15:SQ-,C]B#[EFM&5MW!_EX?08LI("2DQWL=2XTN3SK%".Z7M7HR\! MV+;VZ0W-B>$),81]*>2IG71*2/=]?^(Z)!(8H'^/ZV^(K+.:Y6AY;2B M2N$&51N;U)]0=\B"! ($H7>KCN[JU%Y:1 MV57.D)>":R+%Y\'8HC7*B91'$8;/;NJ]R'F&9#.2K-]S@8:\?:"8D-V7=,J" M1[HE;2D=-(@E0J6C"<]=9J/NN ][AKLJ='3;PP0X5!O%1$(Z1 M:"6L#S&-3B8V+8-ERA@$1I8PWMW!BMCCTMU)]I($FU!BI?".'B)=.N25M1L+ ML=)UACQ<(*\-"\Z;$ L)2*OX_YLASY,>7M==G_=<-V MG"9R[&HJ%4VQPJP<"#?&':&J=+>$]8 +F8O$I2MEOYD=!NV)[SAY X"X:6KU M*!5ROX$2 +B/H8QM>M5^0 XQ>&((/N*_*.R5JS.R#2@(OT@*X: M55/0<+67&L27UGJ..M$ZH?KBSYD)4P"V<2+J))]R%&74WP!VSW61!']Y%R(Z M+XS+ZH#WYV5Y<3 O+X*U5U"0@$-']6#N&A!B-UAI**QN@&8:%]"@-3, I\)X M+\@H+%FY/9;L*6DD/90\%<&#A=6 V$CKOY+7#Y(>@O_$=SL:M<%#[H^)< M!%2W@L!BFG[R,%1>U,/ZB_)-CG0+.Y=A%9&KM-"-;YR8!(<9@0D]Z-5#4IUL ML&W".M+EQ+0CO_TV3PD&V]1J&T#MYT%+'NBK:X]D(%4B\/E-]A$H$]SPVT_9 MY._JZ^'M0+3*_5W(V;#/P.:-T%C>$(PF\'R=T0*DSVE5E1>%#W5OB!(B@_=ZFO/+,!6CBFZI .M7Y**?AGP**F>K"UJRIPKJL3"@_] M12465EIXT"69Q?G*-38G8NJ%A \%=K$PB,-* >5BB&O(OG^@+79?D6%GC8B( MJ(9 5UY02,7"CE]-&6 M"]&'JI]PK'!!:Z"KL QW#7W>0Y1);]W1U1@3V@O=B/5 E6W:SP?I!'!<63?% MVI^4VY'\6IQ$UA6],D2]KF*K#S+V>W[PO76A0'8NG?,? %;6$FCJL*?I7GO3 MMJHDY.M9RP)@-J17"NAVH-V(=3DE)]T]O5@"L!T,ZNK1DS65\+I4QM]J$.CK+AVT0 M ?.55#]-+V6"&W ;#22SQ*L((8$R%A]YDH,>!N)+ \0"MR-M"D-'#Q6T8;&, M.U_AK1%9LR_(FE%$UD1DS5T@:\PY "**-89.@::6P\*H#%4&7WX?<,L9"9$@ M1Z.$=H*H(CS*_@&R(H-$>6Y96,(KM0M7 R>1(I3#MW;N0.7:ER+,1TX/2K/8 MLTSHT 8$1@2 2#*WSX$3)G"@\,1G8V[KN==39;GO9M.OFIM#]^:]*?B5T[G( M9$&8FDY&#?@ M9V;A7^NVP;JJ%7]>V8 M(>HB)/IC6U3YJD(81AGD[-_!L+T+Y[I8AJ7PXJ^R&20\!&S1<.X9@@,BM>05 MZ)D*R35=<;$S28NU6@?K?!#'-'D1N6M]X_HSX+:&6.VLI5ME#\N"8?FP6*[; M!^R]89@(^U0&6 "-;=(B,8,RMW5["'N+)PS&%+C",;EYU/&;WE 6AEL]F(D9 MB[<@0Q0Q?C>%6"K@"M,7(Z6 0[@ TP!."^6Q/4JKTW^<(F@9A%!U676(P6;: M(^;7#Y+$F"H2R(S_,JQ\<<-5A)&=5W<]2:H+5^[I!=5EN59X;:5B"!S&Z!:! M;W99UQ@+^WSX',QO0,I"I:7\VH= "_%^.R5'9=4HP@DCP'-.3#@X7+49YU]S M*P4GRLA=002CK%Q\S,0^\D+F#IV1S'$_"05SEZA3N8\;.0)))QC);@-[:, [ M+:5 %]=7I\2(SIW0_3%?DVKNE5)O',HC@';((3$+"U@6Y)MAHQ^?D?<=M;M! MY4 <9 _KBE12WQ3C=(I[WZT+;H/6Z6:'LY]W"1W4458ZOC$K_)D)>76X$1&P M;1$'G'1;O,F2#9RNH:#?%:/S]O(P^:GG$M+R%%)8DA5+VHY CM#.K(8MW>;U M'-4&5R'9L\2SJ4VLL]\NH(5!3LJWD-S6TAI.A2@])AZ"KY1>90.252;:442Y M]J4%0#8@L[8<)A\)1N%;LPF\ 6#%;QW^YFBW&?AD'UJQ! ETVDUON2=(P"$B?&.\ M*X P8$5F-C5AI$@O_-0OX81I=CWEY%U]^@I>UU(KXUIZ//*P\9WV/3,J^(<( M-&LWDK[D0XG6;? BZA5K[1)!M]C_.@#72G986]O]S+X\A$(])WCF+AY<61GA M'BFU$.26.(MJHPR<-F40.\V7V 6&)M)U\V$/5M0R&7"R#P79Z::A_P082'\@ MCE#PW)=6X^5@QD-SUYJ7FUACYNQ2]K(&JPLI$9C8Z/(.M7/U]ZIM;GTD89V**W'"'I,#9 MHC[?G-L%B0@H_]3K%0>]6LPM"7[EEG88FH,YOMDN&K#7C'PPGM3**VUM?2#! M#Q0[)$$C..GEEE?R-3-X7L1W7IPLQ<$.P"FD1N*1;LLA'V?H.5F-7%$[+_+V@_;'V[0U 4.HX670F4%Z@M%Q-#'$3Q0*HC*P M/-1O8NS*8G,<:$6!DD^0%O ZW3XDHRSD-@QW(YP%X@1S)8T/7S ;<=!Q$'O_ M6FF!WE9V*6&GS]/I9U-IV.P&V$2('*U>+R]07518)PCOO3"3.F]"9PO/#:G= MQWRD_9*NTXUSYH(D 0&*7\E2PG>^716"(*F!F\DZ'"DWIJ3;PBW9VS4*,[\4 MC7=%)-&A[W7H>S46K5#H?%/[E$)G@O?= 7^3("E/N>Q56LJ'KGNGV8%DO$P!284?W,2XLZ,AY0]:,SE%<^X_$0VD9,".B M^2HF0_?JW@9< @/2'1)U'"7HG.@HUD!9JS(:1,KXTT0(']V\X'V!H&R;0EV( MU064ZUY!0>1FRUITRG>4M47CJ?NMKF "M2 YX7+LEP3Q<X(HU=W9VP1$2@W"\"91P1*!&! M(["B,D+UD9EJ >Q_VN @WNOT/C*5;"UK\9V:5 MU;SZW'Z+:H:@87E91> 6TNTC3(Y6P;6+PCU)ZS-/:T==S3U@D?):^7#NYRX[ M:5@T*JSIYINM\5H3'6P15/[)SYD! M5M:)%(I;:Y\[>H%:2GZDJZ2;5\VFX':;D1<13 "0B/'IMZ'!V)&'7L/0RF+5 MO,9U/\@A'O4*8/D@WQL[V:\8B-^+;Z\S0^Y+7HZ'+T[&HQ>GSX]?CH]>'+\8 MG_COSI7G3ONI6:67C X/NT_].ON!B4$0$22%9%G(VYYO M,3.\;@%%AA M;>RTKR&&8TM''A- [?2\"K@D9B60;H5/O%*B_9-=#AVBQ[HJC8VX*/!1X&&@ M=![73E"_6"*C($5!PA!4< QO@ .EZ=2L70K2M&Y7D"*S/N:4NU%IWBQ'TP20 M"+QBTF9G)MJ,4>#8[5!M3%!OM40KIY(PGOLA(.)/I[^W.3%#0:5( _FPLWR* MV26.L]F__[NTAWL"?$3(_ -8EW0%\1ET]/,&WQN%,0IC1_OUAMBXY3M$AJ3" M,BU:;Y%R5BA(]KS!@FEQ="K4J8F@98;Q'*V M<0T6* #K9=NDKE,5E#62:B3\OL-'_6!F+?,B_((W#@0E=9%BAYXIUK13A82I MJK+*ZP6A:0GJQ9T",(N+W_H:7ACW0-P#8(X*;)N +RBP7OQG:5$'S04&C/ST M_9&*EHI,MLC3OD$X WX#'21ETEV 350Y,!9EPBZ=7!UX]9RUTO.4*\@]WI/Y MIYH.?!15 D#JFR#M;O^X($:7;DY@2+!O=?>6"VD\"H6JJ[G:I;3[ H8O*^-5 MR06+6'+MZO5ZV?!>U\*:N8L$T!=Y1USH8H,IM(%^' MP6 M1*A V%E\L+"@A![9\4 MV3&A(7AZHMFRG=]0#I,A0J@ M#04?& Q#?D1?8>%(>APU(LF)L-]3(U+=OA=MKTB6=J_X_4]JY=A#<\'1>IY6 MICO!NJ!O3VR6#^72BLS,'BGH M*KOF *HS0 TGZQ5Z1++#*Q_,1)PH<;YA7H;:)-2.T)=C+8J/;6&2T?&Q%(%_\H?:FVG3[<<:T&(+;1@K?XT/AD>)G8TA:*& M"7/@KK+O3R?#Y^[2"^LQM2!*T-TQQP([&DF[T.3P6 MG.R9ZV&1$3P'.JFZQ?9[Y.42ZQ758S8X=* @IU)W MYK,F"G(Z.AHB!$Q][^L-#>R'D/$A>.7P2& -)]84VCL:I> M9>!+>$9AK8O<7H1-^7RG=/&NE4O>$X8?,%$)_*Q<[H"_)N@/60.5GS"6_!PV MR%)?S//CZ-8FKI,\0#J<\7!NL'3&NI"-0Q692V+O3:P:M:/TO5")OE-,!FOO M5N1[IU65,B.=JQS,J.> EII4 M++\8 E5>86J]1SKN^CV_V<@PA7?2!.?7ST5@-%^I7-2LA]EAL24\H" P)SR; MH&KJJG8U17B(J>/,;KEFSDR7P,*OH?1,\ U(+<.?X)#U14I*M3+"TKTLB:H* MGXVF"YXE:)YJHXIX;4W![@>2: 5VS(;U$C W7ALJT7P)5!6/E&A 6X+-/1VO ML-;U?L]T3MVMJX.\60T=1=B7[5HC[ H.WYRI>S,@B"7X&R!-U(/X@X,0]8:Y M[PA_E\P0<95\1=-?V8=!=2@>2QSL=L5R64F]6EOJG.LX<3#CM\(&I>D$:9W# M"&OE;G&*\\KK11!5>D+4"7OJW$"G/QRX;V??KTK=>CC7IE8@(PUM$M>O'AE] M%;61K LW)KY:'F15:1%;5YD>+J4RUG0O>R!= 8H_%BHZ68DJ';@^$.[/N6-Y M(28=-NGKPFI.:A'5@K1>+,^P/Z:R!KKAA8#M-P">F_ZY-$;W@#JN? M3>$T[Y;1JN]A-N0MA=:$"R#J1S)CK?6@-A\ME!U3JUG["LAA^4YG+B;E4AJ< M$PSM&CI;NE]55MU]MST&O\^J\U]&R!*[2:QN40I%'E.)8O%*[[L"0VK[<$H& MTF\,)[;"V&+ 1(FF#,#OP=6#\D?LQX&MV/*EF&#>RW.DE<*6F>69T(>":8@C M0.2J<:N"_;FJ@".5]"5&0;N,J*R+WEVR/GDS;R/LNWR6FAY3.$%5%&J7Y)*#M>T<-Q:[ )"TQ>2[:?P4L\2_]I9,IEY"$E: M?7_FF5J79QCJ(>D!B#TX;RW(WN_6D+56*H]:N&!%07>['VSDIS<2T#2J3;&Y MX=@<@8(,^/1A+)*_TC@>A:$)RZ%-$W/*#L'==@!U04 %X*#7[Z+2EZS3:N+(Q(]]* M. 4AR:=%<2MLOV)JOZ=SWEZ)2=@F%^O6?B"X(CJ)A "*#49Q H92J^)J&ON=47;0J_6F<@YDMW%/(1JS8B M0JN@=@AN=<3CW"(T.)&EP3TL'0[H!J< ;[K/>'KWG02A^I<>H==]:^=,/D^K M-;$\,G>[P++R)8'(IG2&M(( LV9^D4ZQVZ^$^1%\B.HKU;M_D_,=?*<*/H.) M*@UUA2=G!0/O-69-SMH\PXG(:^'YIR(#]L("9XPB8B0S8M_]NS"H% MD%%2Z*#M)F664Q_H?+/S$R-TNTK= ZB5IEZ /<,%Q]P+G93WTD!=5=Y(@T%K M<99DCYQS[T>(!JBSQ(T/GRMJDJ(\%"JT+SX>B9 _W MKB3)^9@N)KD]O+@MI2;L[IR$9+K3&H?09DHNT2F/?0N97+"G'YFK47;A0=^P MG8SKKJ5L+?0]-Q#?A"$EM0.1"]$WDQ2V8_*8V+GB:&"!\R\N(^6G5/=Q[.K2 M%Y6Y!CN]E6*?6^P@2!Q-/PQ18AMR= T QD'/0+S:P)%+AVZ&W]IAR3MC&0*< MN8,<3-8ZZ+RMB1@W:5D3I(Q;ZI&IB06FL[;XXY_O>AELBC/W$.9V[=BNA=[- M@7'5S\^#].&3:3HXO.HE%8_]B$IY&%SK,KP,P>;[N/L)W!)$CN%S,'1\*6+45=*>OJ<6A=$MT MCH F;FC+C?:A0/'#EIER39A>?8M4_MN4+\%EO4Q0V^R:&O?=M&5B9!U M$4X\^$62 %Y9P;!:@EOW.FP'+6TYG;:5ZV]<+L%T2EFCI8A[@;7B;T&#@S.? M>:4LQUC2HTT,*ZL'C34",*Z!\8M:<]Y/YQCQMCMCVGH\'0&'?K!&(W6!32_X M%"%S8AG@_CJYSFYB@!K&@HF-#:>9,BFH:B-P7I%2HI*ZLP;=V#H'%#WR1K5T M>ZXZ?]E<<&L%8$R]82M3%(MX I,U>"F^>ZR'XJ!>L#*QY@3/"ATE\H]1S2\C@3-O.A;IEZ[$%Q1O[.RQWV7G5M^G#%L!$[FN$57=!RVO2SJI ME]S1?H'@^7K[J83L%[XM#5TEP4=H;0+<[\+4#\' 4P"B#Q['+'&6HV*T(%IS;: MS9@'7V#QSPRYP:W;$64GR@XVU> .F75KU=C!(OTWQ'BM#BHE[9PNP#W&/&^/ MQW SHRT*6Q0V[(,@!2I4]E%#6W/RU9B::E( ;FXZ-]//PDEEWS\S%<1XF"]" M2D=[SEKR2UMJ1IA#W0>YB4'%0@5>=HUU'E$NHURB\P!!!"(34BP%NKI)12>F MR%8/"!. 71M#38D =1*YG*-D;9IF\WR2!T3?PLXT62<7]K"U5R*JSMX@45!! MA":N,4)P)[&B6F%-/]M[H1Q-Y+!/9J,H1E'<\!*V.*MY#;@)X,8MUD']/26/ M!U8@(4!,E6$&.JG"04PV7N2 C**V&8S+SM'$6Y:(K0P*(, 7A2+_)<-?X/\Q MS,;)J^U].Q#&"B2 -17'$=0)!9M+=E,,UK4K4K/!$8[ENP#Q#S2K'.21=K(' MK\Q8$@(7$>P(27N\/VA7Z!.OW/CP2&I;7-+H)TYH1,[+ M.ERS\@(Q3:.3;W79'?9I5C1%[+22GX"XJ86ISCA!@=B0BYRH("HJW8+QPCM+I]G[&=9M#98P=8=3M.W!UT;099T1M80< MPCFFT4O$GD'S.IG?SJ/\X%1%%"XBI*OM%5":H+[ )3=E3F+ZUV_I:[-L<"DF MTLWEM&AK0%':)6H7W5R;U*1BYK4K<8RHU+0,Y82P$ 1D0@3%O]LL1P>*7C!C M8M>V83XWNRLC'>3#HMM/(KH]TD'>#_"@K2#2Y^HDKU)"@Z1=%H!YNO GI=4= MX"AS0!H/76#O _SD+)"6=4 MEX7ANK50!8*&^F[T/1ZXJAD.N_)DCS( .ID@264CR+.)F:?%;)!\-Z;;^9ZT MKDTE@ D =6(EN=U?0+TQ VV99ZW5D7;460OAJ NRO)!#8,:UE^Z E69CGH4R MJ!'T+ Y:5]LQ'5TSIK0B1LF56D.XP1T)-[?UKDT8",\$ 3U@PH^O&5W7(G55 MINELEN85H&VG386L#=>>?C,K*W/!16524X[?:J>*A@<(%Z N(\*9#Q>5J!LN8+%6P+W'P281$]2@+PEV++&#Q!Y3KA$), M_!PS)^"\V3Q75Y>8ECP#>HM7@G8SM+6Y658.7(G[MMR2?\VADCY0"SRM*."" M4T5F1V"D06S^O&2IWS ZX?X9]D$I !Y1Y-2QH#;8.Q9J9B!T7Q'@W+^&>[1G M]'S]/(3+2V$$C0![2[FU">==L/L3PUWX@-N/Y09?&+)%=BBPO$!99P>"9B@Z MP(]<464/CU/E'?H&'&:Q'%#6/@#/R]H8)%.?5%I!XN)A!9,KCD@!)0MT,G8; MV(TKW1;ZY-B/ *D!<%10V0.'*48%J/0;2JVX:#<_*^WAA]%#G$LBYH,5D[8T MFQ][]9N=SKQ"J+E>CJK$.)^MZ *"$GJB;ZE+ ![;+Q<>!]ZKU"IG*H4V-&?_ MMJ)09\(@S8475]'#=8(CHBJ$KXL#4?'.%/'LI%*_:*:EV&7K%H.SLB$N M#]Q7)<03[(WT1\1)A1M/\R_4$,%!Z;/';=@SHK?]P\!5K8"0K80M=" $%LCN ML0G?IM_!LT,#JS M]J55X=EOXX>-#VX-\-NA)>.A-7#]V))/4KKS[O> UF++M]@ON07YQ1U_$':E M\H?*(/DGV=:_D&-.!_=[:)U0);]H5N%WOW=NW:;O.[E+T/?Z"#@X&CX?G7[K M5!]>=S0\NLMS80<"SMOF_[OT^V2K-&V9X:_/F?(0A_E=+MJM&[-LKR"]%_&^ M$UVZ&_(]^;ZK4O9$4=RAS.W0AH_B?K6X3ZTZ?^S')2['3FZ$F^>C[]@:??Z; MN22(Q6[(&=JASX?)NQTR)7F"=FA$]TOU-HJ>N/;$7T1/?$<\\5O+#^H]5GB_ MP<%SN1M:[QT-:9'W\KU4^@MMJK-J]JL4@#LR2Q@Y1$]^AMXO7V_TRF> MV_^5W,\7V:NR$.=[.CQ\_O);5C<]OX^&AX=7_7YT,CP]O+8=PF$ V$%J2\P:C3><._XKC M[GAISVG0L]=/=^(TUXKNAOH4SYDFN^-)N]])NO&I_ 5'[1.8@B@E#RHE=KKA ME[]\\^*;+YX.9\&*E[%J %"79_NA@]Z[[#JE^#]"X;)93LV=R=O6"4[X2#D\ M>HHR^6#3]-0D\D< *_5-ZVY;+-WU&ZL%Y'G9B^7[@$Q!][8MQCNL/NYR&I,' MF<&K!/-QS]\/IIY6^0JBBU$6'[TL/C4E^6-9+79 +'=A6G?)YMI;<03@^X=R M&$4RBN2.B.1=1SVB1$:)O+62A J ']+F_F(CT:*,TOG'9O1OIC)0K/*%@1/, M3'ZMR(G]Y3:+\_5Q&]L6XV@X^AKA^GO%6MQB.NY@M]]$5/#O]STU"@"0)O/* MS.Q6:II5_>K9LXN+BV%MIL.S\OS9FVHZS\]-_'HQ>'XZ/#T?AH?/JLM@\],)='OXV&\V;ADA@']G'VSPVT-GO%@)#M MRP(;MF]9 MRR)'<7\JFO'TX+^>^NQ\%5M]MZ?D%@)S>#@Z.#H=';YXZG,4Q6;G++#=GITH M,'T'5_;C)[=A=TN[/] $W(E'?3PZ M'KWT'O48/>H'<)H[_O%;UT[PHR\N?W-FKWUZSO)N">MC5V>CPX/_?NK3$R4F M.LE1;)Z"W;3;LQ,%YDZ=Y/8,>J:/#I^HE[Q;TO)X)R!ZP ^NR9_>9MS1D-5C M7Q[B:7_XKTZ4_/,]Y1(7[L^BZFD:/E&CWD*#8QC1P%9J<$YD-YCLW@ MDI=/U$7>48/F"6=45D[M@]W2VW'"=CW"=A?Q1"G)$Y)G)(X)7%* MXI1$4S2*16N9$9'7'?[H"AA;D/]2Y4OI_DJ+9)WEV;: M8H/NGZDO=J)[D']LH2_5Z"@]&!U#URI(GXY.,OZ_WN:[[RZG!$*&5I7V5:.7 M1\>#)*V3-UFY@JRK?OXG;LM[=#AV#'A>!@SM?N4 MJ8TG?)R2."5Q2N*4Q"EYPE,2[?9'(Q^WF)O_B9[V#JR"];2?7M'N[N_8K^]I M?X5ZW U/^\=\F=K_M/\5/>VX2W9)HT93,$Y)G)(X)7%*XI0\X2F)=ONCD8_H M:3_R53@:#T?_$;?LWKG:XQU-:H,[?5-7?'2:_'/X:?AVZ)SFT=')X;6>] M+S]/TMI[T'7T7/?EG(BF59R2."5Q2N*4Q"EYPE,2S=]'(Q_1DFCX/AKYN"]/U?X[G10&__,K6/.]'^)? M_]R^_O0;/-UFUU:JL[2O+F:_4/94:7,V.-< 'U_.T*/#Q M]J'!&_+EM+3/JK K\&2=5&9F1P10Z'QIKTB7Z\2^W:Y,/Q$7OJ&L-EZ;?':M@W[PW]\/DKRJ3+TRA+&VO\,0 MSLS25&FA1@M?7-BWM1 ,"/S]NIW.>KXIT_0I^=:LNGS(\R>E]$G"V_\M+)B_&&P_, M,GL]*2_A"^S]U@BL[,ZTC[G<60GR;._?%/;OZ1-:Y7]'Y2G"UJP M25ED=S$GG][_].'-K[YX0/_\^.[334Z1:P^,ZT>PH^:2YAH!,Z$RO[=6 MI2+JS!&.7,<*2C>>Y753P:/F:9UD;;%.L&3+FD'SO+:_6Z.B89,(!-/^8 T, MJ.>:&&L[S< T@@>A$<07@'EC6K"2\'EIV\S+RGYO-GP\9__7,8;08Y4A\*#Q M^^T_=N,0 MV7I4_?S/#S_\^K?W'_[K_8>?!LG[#V][RT>ODJ23X>E=2](BS[+";)O;\6.3 MI#W^R"NVR!/YPJ>SC/&XN'[B?K#&P*OD'^DZ&9T,DO'A^%K,T5/XZK^N7]W= MOM_1;_S2?<\+Z;QZCKR\L-LDJH#@%WMKA<'M*]HE]]]-?V:>PC+?3 $?#%U$!1 40%<#N+R.-!"Y_E3?V M2=/M(=3*U#D$'#$/_':>F]DF1_2MTJ0W&<47>RXGPU&,3NRS6QNC$T]B&6-T M(D8G8G0B1B>>)6\*^ZB/P^138R[2JHG.271.HG/R))V3;1]Y2PT0 Y11!405 M\#B6\>:1 8I(;'2E^N**E]V#5D7D\5-!'K^\#?+XS\\F9;;^S__UYV?S9E'\ MY_\'4$L#!!0 ( !J$KUB-;J2CS!\! $^I$0 1 [20!D5FEWVE4ED0?G "!PGK_S[__[\R9"3SC- MPB3^RS?OOWOW#<*QGP1A_/B7;^YOCY:W)Q<7W_SO__@?__X_CX[0Z?G%)_0) M/Z.EGX=/^#3,_"C)=BE&;VX_?HO^S_'-);KUUWCCH=/$WVUPG*,CM,[S[<]O MWSX_/W\7K,(X2Z)=3H;+OO.3S5MT=,2)GZ38@Y^C4R_'Z.^-\B>(N,'<1A[L1]Z$;H5@R[01>Q_AY91A&[@K0S=X RG3SCXCM'\G 4_9TR&W$L? M-;\NNW\&MXY\/1N^^/@%GV)HYW MFP_Z0/ &>?#=6_PYQW$6/D3X"![#*5VF[.@#[!;V>I;E8>_IX:^DN7QCY64/ M=#SR0TT@LA@:V>?O.5OOWK_]/Q\OV5X3#T=DM'K!R?/?OX5?/W@9%H_OLJ-' MS]M6F>"_T&<6A_7+0'ZA1U,_GNQ[?LE^JC80O#Y%/)R?:5#'^N",BG MX_U//_WTEO[VF__X'PC1+1QNMDF:([:3+Q.?KEG+8/"O(S'B$?SHZ/T'LD&^ M(\2^07'M-]# [MMQ3(AU&L2$7.2A3(A%@M%_;!JW=E5[C9@U[1_XRQ'\I77, MRJ[;;]#:+?X61WDF?M+*0OT7,DQN]?@2_^@OOW;X]6:@ZS"D_\YZ;;:ZHW3@ M6H@SCZT#^5>_-9!'93&L%\=)3L>"'XD?;K=AO$K83\C/X OY.4TB?$?81_"7 M^YN+GF?WV]S[G,3)YN4MO/?VAOSG=W'1BS^7<7 6YV'^4G6]02,[Q M_H\+9@6[ 29Z0T@%>_\._A_1*A0%0_[5BP/$J"&%W+^_+1,ID=]E.+B*_X/^ M?9L2=2!FLWA)?L!?YH^TO.A[D;^+]G^O8*OQ-?Y#L6C6EO*6B$W5DI,D#LB5 MCP/R%Z*NA0'Y>7#L17"\WZXQSK/[V-L%80ZZBES:0:]W+/5[6&I)&(&ZQVDC ME3CBU!$CC][( ;Y]7?WNU=]CY:Z]E#RWQGE(1&:+/_CMCK7_,'#MM4%>U]_, MUR]_FUVMKK;"!MC_&.BBT[$GON^Y)XIA4+)"Q4"O)X/)DT%=S)-D0^9H#9;B M$[Y,LO+>,$*I8W?\,&AW:.,A&/!UEU@]/V[SQ/]CG40!3K.S?^R(NC;N'&FC MU[%C?ART8]0!_P6Q(5_WC-4]<^)EZ_,H>1YYY=20Z=@A?QIVII!Q$!WH=5\, M,2JE9_DJ??3B\)]4&F(KGN+,3\,M_.MJ=;S+PAAGF6I>[O=BQ]K_F1J:A9?[ M"*E4J;FIT(5U%Y1?5WKOE;[=;39>^D*.\_ Q#E=$>8_SI4\]/830-?G0_!#7 MKW7/5SM6^U\KJ\WITB._H(P*TDC0?EWOO=?[!C_A>$?^B.#\+'Y>O\3-3W>L MZD^55>6D$*>E_/)U&7LL8S%=2Y]H/AEE*'O/5JWIE^V+]/Y=99'4UU]79>^/ MZ]P+TU^]:(<_8@_^3163V@^K_LF.]7I?62\@@R@=I!)Z7;I]/JA?DB1X#J.H M_"W)GWZEBU/U5M0*"#"D*(4WI=LWW6C%QJ M%S%YDOKSKW%ZN_927%ZR^HUVTO0]+YMTF M\TFF(GS"U^0.JC\H:Q_L6+RJRX4[TR491.F\KML^'QM/>XT?ERFY9!Z9)591 M8!N>ZEBQJCM%TD$JH=<5V_M+.TDVFS"GL[>,0=,$#R..&[V>;<^WK^*'JK]% M(4;]VAJYU\7<>S'[N:0->+5[>K<_5%TV_;W;Z(WXVVL(:Z^3N-%K?><1DS\K M'\E=CWSSKE_$FBXNFQ[/-^Q MB%7/3H-+_'4]1_G&ZS^ZTF\[UJKJFQ'OORZ.*8=Y_3HU/]BQ9%7'3+WK_'4! M)_"AMYRH8VEV;(NJ]V>L/_UU YES\-6? 6V/=BQWU5_4XNQ[74FS7K^6K[SE M\8X5K?J3ZCV KXMI-X=R&024;2]2*N?X63HXO[*5:/O&^+[JHNJ;>PGVDQQ8 M+01$;_C8KYO(ED-K[VUD@&S'1AKE^'K=2HX<8@#E$.PB3!3%-001L@NROBN< MICC@[VB[R"C%C@VTGUOM"(F!J0K*AD9$"Q6#R[=?MY"M+72#-T3OA_,#I_23 M);K$U4,4/K(BP/,DA?!&ZOGYSHNB%Q;[R.6^R(9O-5,C=VS)JL>P_Y:4+"*% M1Z0PB<@/D<8FDGR*<;+7W3O;W?M^NNW[ON?^K3I+G>_?]Z\[V$;QQMX*X#!* M'?NK+OFN;7^]*GFV8F3=^V' >QVK7_45:_&TU^6VM]S2G%MF&3&M(.!UM9)1 MM;OD(@"G#H#<,9_],@XN0^\AC,CKC7J7^0$Z-E#5JUS:0(H%6? !_U)B?GF" M"F9XB(*Z+11^7K>#NWO?/_E0Z-D_51]T4"'X]B SG/=8MI3PPI!= /@90 M(SS+#9 #LC#@,#'=1Y+-H3KV5TT&9N/^4LXIQ1.A/$_A3P1C2./L]9PRE[10 MXXL2OVK88'N\V;Y??J@ZTF6R0Z.OJDB'>%UW0_D0Q4+6_+)A$PPET[$CJA[Q MAEP*?7]4'F+Y%J\[Q- .V<=4VO?UCAU1=7$W[HA7E<7907&^RZN/+#=)FO,H MZ)!CHS?1CBW3MY:Y=(BPX2O/(I6#U\TT;#,-SK4J=H?XR0WV\M 1\ MJ5W7E?/Q.[:H^6+KTF:6/R[8E<4SP+">F/BZJ=UG)A8[ZSK%6R\,SCYOX47P M"UWE:YR>[%) BV4+U>8G<,Q"Q]:N.K@-;VW.*Q+,TGU-V46<7Z$$ON[KJ0YK MNAR72?R8XW13LX-=#=:Q5ZON>,-[E6U+X.T(F'O=F+,X<,E/TAUN.NV:7&PS MX*-C.UM(.:]H%JN83LV<35(8?E,?MVQ=K&+ M!N1=#"#4L:OJL#:;,(]>74DN*G"*D%2RV>[8[%RMCKTL]"%I/XQV9'5JWVS0 M)"V-TKZQ?JS&,-KJ?O2X5\$2+1( IECU &.KO8+H=2N:VXJ%1A;G80"S'SYA M^JOL:I=#\SAH.WGVV8]V 0XNXI-B-JY6QK:J=2XZMG(U^-*QE57-D+!\)'AF M3V1(X1H)MB&&IS .[[YN=[L7ON\WN=4549?!(;, +1:7F#JD;["=M9X:5C'U=C+/TORR/* M,%(Y%OX\)'A&S2Z6YO9UKUO>&"+F/ODV^Q/HV%S5H$@]CN;K76MX*[2@9NZS M(8:2Z=@6U>!"*S#GZ^XPO#MN=P\9_L>.S,'9T[YGQ%[O=NR#NEY4@CIBY+_Z MM8?_/ B.RQ#%/]1F5,O]>'-&[Q"_*_J#I&]W,,X?QN$F[?\F;<>-&#Y3"FL M4[RJ;P#_@2P2)1% O_9W/T*_]O]'>1.:P__EFRS<;"/,6K0;X(S\';J4)O$1 MF3MO%^4#^6RD8YOK!$IWQS.MD;'#,QWB:(,W#S@=RG =#2O\ ]/K8H3;77@-^?CMY_.'K_)\IU M'34;[-[A-,-F>:Z2',[XGK9@XN] K1!_$C7FC*@68(C)JT07,\OR\$B0I$+L M3V<3^]$;H.<( MD^^$OIW;Q^R*_<:8WPYI;5-N=*?T&&E^TU/7D=OHK#0/X.R*W OML-]E.8BD M>X'[=F/>2^3]B+H7NJ4E\5YR=M)Q(%H]?,;[+DDZ7G._)@V=;/=:CU8:3M>B MZ/#:=QG*;SAEM[X1:E_6V]YVOY%&= C=:[.-'F>*:>QUX[&:=;MZE+ M9-_-V_Z^4U$:FB?VE:3U=?>;K;ZAX%X;K8V$TY5IZK37=VG:WW>_-JTMZ/9: MHAZ4YJK46E5N)U!R>^BE MJ_[[[M26@R-7=?>9K?G8G"VT^@_2E-HOSNNSKU M[TVM".\K12>) U*)!VU'0Z--KWKMN_(]B,Q##1NTK-V$YNFN:T_M,.[*ZS/< M7#4B@U-E;L!Y:$Y[]*T8K5SM/=;C0\_$SC7X^0RF[]:#:!.SNK<;TCX3DS@: M^L N[^N$Z$]S:@=%/\3A$>Z+?0:8>C+,7$L#"4\M_!!(62/[8M_AG$Z4>[C4 MOG,Z%6<'Y($<".SIQF$YBKE#^P;:4"@=;OAN-@YR=^^/HNAZBP_E\""7HQ/M MS_7L]V1H/CE%1ATDPX>8/HID )IM5 #*V/@SF$K[T&+CIMH5?_,((_:#O1H= M9-QGF'E,C,&S;RAYIQ^K<5RCOE^AI8'GL8N

N>>#Z#:+G8$%>:7Y&_\:1"CL>C]>R8E/"BIASF\ M(,GHH^+/.28?;Z @<,B!$U][E/S;RY,:2(5, !RLO.R!>,(:OB 'AIP5RO!?OFE^[JT)EC/L?_>8/+T-<,BX M)7\IF"3_D#7RU$RA:WF#MTF:E_AL?=0(JT-F5P:BVZ+V#3/>[]VAHE4_(OC) M[V00N(J\1PS:%Z+)V..-"N&\*9GN)#? MD8LTT&(M13@LJ\3#ZO;R-(Q,>--7+>*;V_N/&H15Y89O>V>Z2PBPY4&=Q O[;]-N'$=KLN72,R9T-4/< MH/7*YQ *$^Y*ZBUE#LV;,/OC^ 403FN,O#YOS%C]ZFT-V%:_^C,RV:8H?.:R M:DS)]SY^4?Y%*^P:=LK>9*;\"BJWAUB)EY-62ZS7J^;-8UZH=@LA6X@4W6\A M3@&"O?NI607K]^)TRP!NKM.+$Z(8@N.$Z+2[YGFO?78>SU8)"%#VW' OT" MNC0ZTZ,8WI?4\&*W^^DN95[6, E8@D')/J,!SE_!((@?Z[;J8%J3;0'AU!<+ MH++=$0>H?<7PXGS:P<=]M5J6X$_42:\\8Y@'OFOAQ >E_1-^/B;2$Y&SJU6I MA+3Y$-N?R'1^/18JCA\OP8],==#H>5"OK3$YI.2;#SF9),,R,O-L002EGZ M1'I"UOJQ<9?T>W="WT5#JF>[*=CYVF0"J5F]ES "Y*XU&W^-CT\F@&9/-W"M M/S,9JZHZ%@=5L.4&[CM?E7FJ6UF5#,L8^;TYW%<#-6$E:4Q*SCE^*1ZZ]%]KX -1AEH:JIO4R MY:[I$C$^SL%.V2_DP3R[B)EJ\E<K9K=]VQOS= &5H]$*,H@PW2[B&B?A$)_1X+$,GZEWV%_' M290\AOYM$NW8@1CYS799^PN.+BFB7<$9=/NR>4BBFEM)__V4'\TFB>E=SFP? MYNEH_F!JGSZ\(U9D:!.U=\=T>O!]WZV]F!][O]*,>''LW26Y%UD[:<P+\U_ HU&? ML3B RG17 *8^5_(!??32/W!.ZP;IN=*:R=#YVH3GST->W 5M7T_=D]->Q:KY MU79+:L]-Z1]\"J&E(]G2EXD7PX>),[X-FG2@CI>F\S_Y_FZSH^X]%L>O&C>M M'T3_]Z?S$5:-C>*F[ I9]GQY"A_6"?GK57J7/)?MM+8GY^9Z;O)N]7YMT@.W M_SYJ>GJZ@UG%PLY6[28"3I>L)K;!-MZ ???(V=1=AXV-3N@#9"4)]PD2WNTIIA#6@KLER M;[6J%[#/RQ-F&/%*XKJ&Q!T;JM^[$YZQ>M56?_6WSYO313,H O%%K#302,/8 M#[>$VZ:,XXO-AOPW#;WH;+7"C0MJA/3<\O_:O?0=+TUXI\: -DT.CC _]WS* M5(O9T/CXK 2X@$12YI4@>^;]'K*4WYS2G49V3/X"<$" M6EZ9- 1? ^9^$GE9QA/4]C8$FD?3-)T=KP*Z],<1J][;%IE3K'=FBP9 MQ;,$D;8V=6\ M9D9B&T=!YJ2^(90FH,&QCS0U,BH^*7[ZV*]J#AU 9_0$L8( M[-?/_X7+J];\W'2G/#FJP? X32!FVW2NZP\=E$+(RX -ZH&"HFE(@319D2^9 M.A-%0?8I?L)10J_06YP^A3ZN]^H-(#"SPZ_VP!:9-$3KQEG.TY/(YPY_:0FD MFAQA)K9XWW!LUUO3 TTH/7@@'Z&"6I7IL%4ZQI6\Q&YQGD<,0;)A)BP.>+C) M.RSCK,D<,49^3A5.O4M?JV_,R,WPG@'^UH6:QQC\@UPG9*P#[DA1'-+4G*<>ND+C75#_23XRA.:@R0NDT:/ MF[T19_#=:0CP<)32S2F@WYG("A[_F9?"2:.WC>[\5(T,,B- .^F:X^'C#@MH M#P(3E+[^][+$MO*+P\LLYRG;19Q?;53:8:A:'7.RJ2S5#(G:_HJNR?LZ**W4 MX.3JF#-#Q&=P$"KYWT5]?7]MI.-UTSY$-K\KI2+D!H.63$[3)*7&$%$"E[L\ M 7!N?QG'.W!>L./G+ [ 55WK=#1!=UI,@BI6"+4JSC;;*'G!F 4[.?@ ^$D: MO59#:$WGH(5SJ".!2W]F<@]6"Z?:(Y/&B3(1[NG2ZVL>=8O1C1_+J-NU+L+V M9^=T3!6!M5KL' L#3)PKTYH<,PDHRFV#9DA^,9-8^@VH'U>K^XSE0_0*I9?? MF9%AP4$!=:@'JEH4(C1"%!HCZ]0E<8,?0] "XQQ._$9/1.FQ"5UZT!D1!\)& M5>HV3O$J],-F[)?.%R=,!-]NF;/4BT2/":6U2Y?=U//MV:Q9!WYX[<.'9PEW MEC43.X4U'K.#"++W^(:5#RB4C+/0OP0D@E;$@H8G)R^!EBY%M<-#XR77]=;< MS#*FNS7:4JWX<0.H.=7&/X9QN-EMZK=::\;XKZ=MB,(4X(]AYN.( M+"5.=CT;H[2_.&6BGH]Q0.,)2JO0[.PS3OVPM?2UX[WI/O'PD55_Q+F2F0$8 M[F%W?X*>+T]^'.^)'=%=R3B2[!S"G37YDOTK;-I>GK*0&VPE)9S7 2K8^/QD M(C#-"]2U)":,M*:*U3\['>OJ!<[.MU9MO?GYPTMZXRGDIC/?!-D)M8PM,PNR MJY7F*&U4.YJ>G[#4^.^[C/6 O4M$_I'>7/TN =N7PE,$.#A^N<_@4)#^%=[" MN;E7G=6AID\C.WY1\KK.4UI([K?5C?1Y\_",\BI,9BF"*I0Y\G'[^":)HE62 MPHN68M8#&)D)4$0GX%?MPX>W8\!Z_9@$,@.+>G>YLTVAU%)NX61HMUG[3,-B MC8C9M9?OR@=)Y^/S07U<[O)UDH+RWUB_U/S&A/=ZAKW47Q-+14E;YU!,C7=[ MVSN&/8!GF9\FSR>1%VZ*0ODZ!V#]@Q.' WO5S$]_L*D=)Z'"1Z]/;F*^_:7# M.Z7UQ*?EDQ=&L(?.DY1B-)L^F;N&F\/1UH;56GELGGC/,L%>-%EJ%&/IB8(+QD^,F+6@H[+ _J2/'@.L0Y42F]"%KJUF?1M3XZLV-MKT-I!@D? MA0':A/.E4+SW[3$O5PL:DI=9'YW0L--7?-94B[45BLM2$Q,3YV4]AHB#[J;- T]<.M1WT4TOMEUKJR.CI?O->28'J&B!0](! MM/>GB_C@GGUWL:R[FL MWHC2Q4&]MM3N!.GY\J00D*LP#G-R<#_!O:>;Y\]LKTZKY#]WNA(>R.T%MG$NSH[/B(VNS$HR/95B5 M*K6(/<:/80Q)G:7VL+R;8>]6L_WH3!=S:_[HFK,'.UZ:.D5-U%Z7O2Q=23:] M7Y]!!:+,96# +PW.079W\%-':.=,Z:&91/TJLDV.-6UVX*3NS0\?1G-X3QC=K5XBH^7E+N[RV>VK=@=3W MK;FT1NB$#FAZ?-JSL09F#YRBHLOF-03AR#&?YVGXL,MAQN^2:Z\'8+Z>'[=)4 )T[21XQ>A7Q<_;H7L[T]@5B#^'[W/4%5YG*3$G&7@ M:N0WC5C<>Y&84%/-<@9V"5JF 6^)5NN42UM?&&ZLIX2HE_'5]7X^%Q#(D4H MHQ.;>PBE25/N2W4! KSRIKE4J>NM*6O[2N6E74FVS2_,)X;*3C#X6]\0JO+& MX=E#EQV=3@T0GH<3N#X#DC=)HT\6JG56UJUK0CW3\C(G!_)@B9OC9Z9'F3+@ MED1/H/KHBE%[AE';.[/1.@ AWN^I8"RAYOYB-1&8./%4MD'J M!@NO?7I6%3*L@U=Q=[U(5UZ;+W8(I3EMS888L:):9A*E80-V@^(O:0@K[Y=/ M;WYTIZA8-\!=(R:6^MO)5IVH7CVQ%1H6;@\"$ZIX]%B\AB;&2H\]MFNRJY7R MLT:%KS^%^5J869,E6"!EQT&OAFM6AG)4NG2:^!2?D87[FLO:ZI]S?X T=.8N M?C='+;=_P')/(H9UX6:D8.5'S8FR^[P^&[.0]Z;H:1B*I\U/?,G3V.3GZGS< M.F>-&5U-CSH]),C5&^S\7 U^-"+A-S\[<;SGUHL:OK/FY^;CD3XFY]5ZXZ5_ MM%Z:G:]-)Q#KX["?[Z7UG;GFSW<8HWW?GAY?3,$(*W E_S,D6G?JKU]:]^%^ M-&9EATM+[H1AR8=/^,3+_?7]MH"1 Q0YNHK".N1B7JW(Z?>8XL8\,HL#&KZB MKHDFRO0EB#-&$?;SG1>)[O8M'7C[O#_,Y.4%)Y-TBI(VQOS.FUD M ]K6ZZ'7JQ/B6XK6===>2#X&#D>LP/0T!3""J$= M+D>2T7^@/,FLW'**,6M922LJ?'JX03[#V6J%FY/$W3(Q7V=+?R!* )L\=X5Z MJ0XV-4) 1ABYP5O>MD#K:M4P$3U>G&-BZ1[I4OM2,=U$1!S;A7K3Z%:OTS#V M>G^>(!S[M"@80&@.*/9@_N^;^=O[]-/Z%@7\5_7 MH;]FH%DLBE*/7M3GM;E]8.QD& QR4WW=*=H9T?W F+M.R%T:_7>X/4F"YOYM MM0\[99>FH((Y](1/O=RK[^K0^?AT6PC3WO'DK/GHI7]@I:RW:=,TOV _OU&[ MV)AI\%]A7-O#* M(C,60H2"I:S(HN=XZVV(CQ9'G&P:H>S].8RB!IGEKZ>_LJ]6$.P[CY+G3G"Q MME?,(Z9BK0UOFL3DKSY3^SXE^=]PSD*-Q "C27XO[+]-%Y4IJH=[CY/E2^D! MV**4&1YDNI!#^NC%W-<#3CRRB &[9F+H:YP!S"_#$^6PY%XD=W)"C"M(D\WZ^:]7C6L^C$4Z%-,YC2$UKD/NS03:8KTPN$^%O:)U*EY>U*8 M051BN*>S7\!B+/U)]VZO/.H>+SBM_N$ ;HU5QOKOYY;;W6HB-+\Q>43&!.I- M$TPS:7^):7&AYG>2\8<4Y?0SNS[?GGW-6],F&XODD$A<%&?0E_? M8.<&L_M3-.Y@+E>E/TV;!]CZL(8UDKOGY&Z=[#(/JC,!5Q_C6*C@8'Z!LPA: MU#?&#O8C8#IUN#%103ARU,R8Y8IH? W0PJ/)&9;L?K/]Q\YC:3'+QQ33@Z)Y M%=H>MP0M3[9S8I.<[J"FBQEM=YP7'Q$B(R-F^ M##9DTV343?&$^[2*[/>N^0^%=2A4D,*C*'F&:80&AW3C@%>+7-[R!&OX1 80 M.KR (0^[$9%6.(1-9RTUJ&6DZ74 ,W&K^AHK-S&SAK%G8!@OR>48 -(%^?AO M@7FJ.[/*,W+:T7KP#9&3ZXUED(S.K@SF!W(45#Z!O$JR3 WI0MJO#P#%JB/F M,H"0X<^I&@I/!JQ4H,.?9!(XI,\[-S50*'J7_3B5/**9)8K%0'5ZIYVQ!^ M]Z-A&J$BQ5MB9M\FJ_P9&AJ 2\JG/?GJZY!ZOC2W&Z:FV?BP&Z:-T S4(W+@ M/M&DMR)*16W#>V*C9YSE?IBHXVA.G\;4&@?1'YK!NM4;0FIA\L#%&TQXZEX8 M"FY_JV>@\?$9K&I#:"0[?M%^TRMBMP^M&94CMF(U]2Y.;*?B&(_TG*BR7L1, MY'/RL[+.V/[LW")[>X1K]J%@'.N1A-)-"V6$]L&Y,;,&7V);X,_. M6#-27<"*Z/JJFU]QG*"BN GJ"O4:'II#1FD'(&WY.=,V=)$43S7M&COIYO:^ M!>UQG_XY7K.YI(8^6GZ0@Z2MF.JW[O3@O@4,&M5 M*)[&"[GKO1G84&>;;92\8)'@T1 QC"@;]#XM,J^8)+3)3G^#V?1X5)2T5MS6-.:_"5FZ+B?:TQ\GJ\-'F,PT1*HDB;A90D M:(D$9^"V)M?![=@SLQTZ 2,[7YM:;27[]1;VK9<&V?TV(,;:AW?O__2^/8VQ MW[NN8N#)4R-R?/7WD[B-6.I;'Z=1\:3ATUBH[W?/2?-97'WH\-*1]L0/FA]^ MP;[\S6V)I)8$RC/@X9)SG_U !M+VJ+,U/,B$B#(4W+_U6-6?F6Y=/=8U^>PS MH"+=>9\Y.F"[0MGUEJ.#EU^R+Z+$#Z[:FE.W]K$)X]?/37 $?5 -!I.9[FL@ M9&@-JZ)!LP+6ID^C^859";'LD!95W#T&4EZ;SE/"KGX9[X!I:A]N.ED\M M;\S A="" =HO]MI)P)*&=A6W9!%6'YJX-1C'"NFXQ>N?G9OFTA]2L"8%?0ID MPWW9F-PQH612<@= N_G<_=[4X5SA.3S&,5Z%75ZWCI=FB0AOH.-""QVGKKXS M7\U&ZGK;57T"$U^I._>I#\STZ]P5CO4MRR(7/R6[) M0M^*R;W/T',Z(@F74!=*CO&KU:\)*/4"B4.Z3_N?FWV(.?H8EV1E NKSBKPZ M%[O^^\E7Q(1'FY_P[$GJ\7'@1J\9=++)O".TKU;+(&'0J6V&1>VCTS$N$\CH MN5)I^]0J2:]WI]O@D$9#9EKOD]S3V=#SY8=UO3)AT[@8 M"[9$1QARNH0,; ["1.\;5JG/F_;P4Y8J HI(O:%0CSPKJ3>0RCZ4)H>!9IV= MM=NA=WWM?C0F3;@;C*78DH@WG.:$VE4$R9VW:XQS7D11K%17V+/GR]/EA4IF M:']7!9J)\DK3X0KP)M$7HT/HD42G3J7)>L5)&QXVG7RW)OKF'4XW'/^RUJU4 M?C\+AN<4ZTT%D(>[\,E7V8,TT MYE=+<7(+]%?W6],E[@H0$VX=-EV&U>>FCH#HK8?I'E%^U!X(Z7C7J1G'>\+R M/T!!_M!HS]4].Y,\A+:CH.Y)IW-\N_&B2+@X&V=7?\HM@VL<15V!(>TA\V5% MTDW/'4C5INT-]40]7ISKI#=K?=1M2$]"+5 M8:5XJCI#:/N0F"YTTAS>:VL'V_F:<:[O)D0SX3?QG' M.SA8&-Z.[-E6[RDR0GG"G?J0X7_LR#8[@V !9!BTYATV/S\ERA*Y$PHX%5'_ MTGQDMKUA>.>9S%IA?7M.(B_%QG M863+_*_KT*=15Q$;6J:8-CPG_ZNDG1H@.+EC2KE/3FC?OD=R,&JM%^69UZZF MCR#H%/J)G(K!SL^O4FX[-X _U3XV8=%1"R9D 3S>6(;4[VW'M:KO/SS]CR@GH!&- 4?T\PI^90=\;9F%O7'F@'+; MA4G8ZY7YYPFKV8>=4:.Q5+_ -%$%"F)^B:)[,3?CT(1,OKR$N-8-2$(TA8R] M:CM8T3[XE.H'Y)TQW>@FS/[H#*ZUO3&W\%JK(.WOS/>0Z8*5:44@= )LLP<' ML]*[A0.@Q2_2^9ICA%+X^&H-ILY> M) [ 13+:->)Z@_U_.R_-<1J]W&!B0M2XC7Y6L(G MS/1G\%>1'4]TO)C=R[Y:MT&.6/HOAC%:!)7(OKI:W7F?VW)ES0\V'0I1Z@44 MI+@#<*C\F.$K]&*S)78Z<_O778)UEV7G.],=;DF<"*.:;8_VAM3-ST^H('=5 M6AJOIQS61HK5';;5=.G/S#$&P<("<&DI(0-V0S?AK RE-D/QR<6]VD67X:H1 M^:?/J]-"G*Z3*,!IQC2P)KVN^N"$)=;,(=BRC4K.D@<94BA[==C^:E9(-J)G(,+LMM#+[K>/42A?[4B5TUS**W_ M^[-R/M*/M[/W:)\WYZ$GM,M1^ZAA=5<&I;0D%X9OOHE.3\ZX3#Z7>T7^KSZF2"E105D;MU"F6^..B;.;$O ME>D.?2V(T19CJCXX8>,KGGV1<,V3%Q00Q;,6]JO_>S/("B]Y^)=Q4 4VVC,] M? #)R2:"6 97JS-RYFUJTBD;'CJ\B 'WRBM'@(V0N*'19^@XZ 3QZ/7J#+[V M"JB$ET&M>\!OBCT_]/VH39G!YST^IOA1 JA0[:9K33M?.U3LDB[!C9&?OE2Y M/UQMZRN'=^*K6&K*P4L-M8_>YW"S*T,3.!ER^AUQ_"+_^I\AN7U2?_UR2;[L MJ$49[?GR],(I@ CG*47_\%]:HZQ]WIQ37?/81C+*+X3WA1_K36%HISQ,&]DN MRHHT%S_/+1^WN2TL;C;3??'A1,]\XI=?;( 4DD^.CE%$V@">:KQUN& M^:0((#BFR4J[+61]DL,!\'K(3B [P(MNDU5.=CT^!44AH4<&!Z)H ?HV0+5. M3A@!?=Y$Y&_QXU^^P?'1O2RW9J(3M3?9I8U. '4*97\WZ.'2#R;)A%FVY;L MVN?GY^_HSH5-^^'=N^_?PJ_?4GK?_(>@@WX#2HB2^K___K88TB3S6C8X9$>% M[!Z':1W(OR"'"GJ($3P$(7*<9OAR*DGV"I4,7!].>X$D=:201P7]!5INP%MY MD,*JZRC\DP%*I1$CI(A\D/D\RCJSHNB%_*OS2;,V=N4T90\[WVHJ/-0D$;)"@62./()=;0"\HTZ]#UJT@^]W!0RZ#<@9.UJ,\J^^AFIM&R?C28; M[@EW\QC9;W>;C9>^P%X\68,QDZ$P1L EHFS27TA -*0E/"!%AJ]AWOB6+R9G MH(CP<+/K_B+XY5?^8<,"/O#3Y> CS 9$7 MDPT)0R+NN4)1,>AWART[WX-"9C$0(B,A.A3B8VG?Z6]B..L?6!D#OG ?#I24 M":507*""YN%(HUY 3*3(W4UB4 SE/*F(L4"QLY41V.VGF/UY$7. 7>%T%[G) M6O^],>**$=$;,>:WH#?P8<672 \?-C-LR 6BY^Z7,1_1J*DX\#GXBYYO+QK IM'+Z%WQNB]L?'(=7<&+@<6!/8[,J5";^G:R(T5?Y\JJQ)S?=A38DM_)G5#J0W MM_MB*C#.)QV21QI%!'A+SU0\>>C'J,KTM09T$# M[J;Z-0&$"HC1FXOU\,@5>I*T#T>J:B#D2OH/T:\'*%!KW*JZ4M;UE;K\7G-. M;Z101;\Y=%<;%4O]M!39E-Q0ZQ:Z4GE85^;+DM !<8+$T1WVUW$2)8_6;A"K,LFX&J.-!/%%12%WH[!1Y^ ONS"@N JT M[OUXEW]*\K_A?!DD6RB83J+0?V'_-7(@,S^I&!2Q41$9%I%QB;V1(S[R%R%Y MM*?0B(V'?N-_.KB"GXPBO!:NHME5G# MCU\ ;7A$ZI!&$0%)!!0M9Q%9D$<]NAJ$.AB_<>^8_;A(T7YI"E_Q[#GTNGNO M:^(\*N4U1*4J*2U>6TJ+[;.R*(.OJ?O)CE^4?]$DMH$S*88!MXF<576D!7IX M47_ <^9M4,73T%P.W7XWZ &O:4WEPGTD^\0PV%#00VN%C M3 O^R+\4+W^>U$QK:3:M'G(*B.3I+F4EEL9N^-O5I(COC'T(2F*V$25.;@!TH"5(7F*K416]?+L[/3VD$34LV4+ M6=Y\2HBJ]@,ZTLS#;ZU^D@)I= F->@>X"U19&"U8$H]3FS7K49GKY2%P7;K\ M',\Y5X0H,#0Y/S_AYV/R40!XW-6JA(5DQ*91QF,'=HR?T0,?DA90E^QONY>Y M=?%E)+\0&P9"9"0DAH+$(NEV$#%_)U:L=?%K8OBJU< OM7R-67KFJCPUUJNL MM/ZWTH\TO@).T$64L.8H'N*"M&E#T;\IZD$)J+@Y)#S;MEL-<4M'*#TD"#I*$-(2NH9&U?1TK5FS M7(..HI5AVF9>#0K$0;6OW\ E4 ,D\)TS8HM'T#T4>32LPJF$TA*IR";\!,"P M@%>_Y?!=1;L.4]EHL ]C.@Q4A$-D8>O$K% $Y072W* MJ>[5>0AKH0D/\_WN.S4L-$H^V#2O^.WY&$@99(&.\6,8QPSUC6HN7_P4"5,0 M!CFBHR"5$Z2P KE[ZG.<'19478@)7>@SRKCZXJ>1[;2S..BWS\[HGX>RR7XA M#^:90+@O]<.BOP2L8 $\01IXXH>03TU?P/,MU\8A?L"01 O? M,>.80F%Q'V^_U7%1M9?B-1$M?,*L=?,GG%^M1I;7:F11E&1.2BH-"1+5RIA&[BN147<4VEA+U,]#JH.\!7+T"R1%(-^>KKZB*^BOEL2WI7 MRG"FR&&1M=&A?YM$.V8Y1/[X$+1"^' $B"J\(TD475Z>N$D5,"I2R3)71]D\)-'0-6$T$",R6VZU3\ )R\I=*)K1LP L2Q8=J<% 6/=6 M#>LN>(*LHRB7(:FB;H$.1)*2GJ*$W7G"=NA$&E?MS^@FFX$1P]A&"M^\^#(G MG!-7' M"-SR165A%=PWAQD%O7J)"6#2NW!#'KE:W9*?9BN6_C HPZD^N[:]NUH!C\K8 M@,B)RHBKU*AI9BS2)JM/+[KR="733-3B_@^0,/+'_ 6?&-&3'4?)PBX<:Q+#1Y#[J3 MDQ/U,O%BT*YPQK_5H?Y*CEA/I"D:MA#KC+9Y1S#"0IX&;T#13C,OLAZB-"NI MY@^*HN29F@6T1S,3,Z+DK2=*^^3>W-&$>08&5XTL&X"%*@81T&U:I/G208Z M-4'YEEU>G5PT&CF.;JR:D&WAJAB+RE.+[J=Z0ARB[-@1M %CP=K6K"1;GY"_ M7J5WR?/0S(5RBC40A QK('D 4K1EB[L0I:,PZ7)D!G5C89+39&+3PND>PCE( M"(JUN7./JND3G7.&)-&<'U*U4B)D]C7>W4.&_[$C0YT]D?^,LPXE+42).;M> MC0BA8Q6597$LPDC<\LI*.$0M)Q<#O9V]Z-H+@XN8AV[&Z7"2)@*B1V$L(D+. M]IA1L32%IE$VZX[W)+[/1JT+H4 &=;8&(QC62JQC\B^FG-J?Y#HX:F*PGD.\ MB8>B1M=]%:0A.)H@2ER@"1V@@'J^0D)C1*).8 >!;UV MB=H$UYRO\O-ES8>NGIPTR%Q)V;:;L5UT<@_P)@Y7(8,_^&7GT9(E QZJ$F5T MEOEI\GQ8\D3UHBP?4\PR_5S=G\HV--,%2"$X1<,?<_)H2:R..XEPJ'>E!7JY M [J!7#$QB-*IO*Y1^6$*6H^=WR&K2'>T6_EO3>:HM*[% +0TOJAWHK):3GBT MO(_UB$6??;Q ,7:+93/R))VN:YH1*>K.3\LG2IK_?@); :=;<&I^\C;C.KT5 MI!#0+AB= \C987F!#ZX*IG(_#T M]FOHX F#'*:H)3N!R\LK4,AR,EO!/KHE$02NH*M5%4EIY-$@:=/\4PU#B1>! MN#LL2OUC,\,^\'+_V(S6=!^@4%&#/%/%*T[6$%&XB(NV0M=I&/OAELC$0IN-]B7,2E:=#Z?-T MK4Q'<_>G!2IX0(P)]%N>0J=P+\KL)ZDUX$H;4.TF!)4V*U14EJ>* ^ZH ,FL M7+H+ZK*\2.A-T2WO6_1F2WC#@%M#T1K85M^C>:=UG]5E&..K%4M=._=\.C$C M%,A+'),[V:7J6"? !0#ZL[0;?U">* KB'(4TB< Y10NY28 M>)[TPP4.9+KFB+[7A$!.#.0S >I+%)VQ2;."-E'T@;H$$Z7TJ2KE&IC+O+1J M;FT?>9T#WID4N03WW2FL*YQO8P)&?64[)*%*X1\R+ +2R/PB;1G!\*,4[3M%R%\;QS O7BLJT&RPE \QKM66J!$Y M1U.X6\DOA?K],2YQ/;FE)2-"S6F%0;^0N=!B'W1"U(:)*4_K%2;5-"D/=:>K MM#7'J#R-:3&UAZMF8#O1A!Q,1S1R)KZ *=!T"R^-DQT 0$81>L!HZ[W0$. # MA4@B7P26RH>$,R2< L.(*B*( "K6Z+QSTHUD\EP0"TO*>'$$*6&"+G9\U]3&.-,"&FZD!?![72: )[)4 N,$.'.*T;' M?N1S%-N:C25XGV/$8!DDVWPDJEZ?X(G'QOF"IL!$K(0/[21"0M5[2%UF/P"\0H_#%*UM%,- ]L+T=;V0YD4X M0N2<<(:ZM.8F(U*":G)&.!(K==X)7K[@:=,NU=H=1(YA/8D9TWQL-RUD]00B MXY CE6PI-L*4?4VL2*Q'4'K(/$$(Q:C846]9#TRPUMPWCKZ8S1?RC*$(/"Z3PQ#ILJ%PAQA;2^0(43[R' MN>;J2\GF?(RY"NQD&FOZE9M(A%6!Z9@!3-M4B3$.2*JH*E"I$SMRF =;K1@S M6/DV?^:;&R@[2+8LG*YWWN>+@(PJS8A1G1VYWY4013I5RZT9CTB!L N >.9R3-*!UVA10Z!/1%.#(3BAJ MJ+!3QVQ:8 @]T)%%&[0AW$>T6X0@5;:C]' MNWME25@-0FCW](1O086D1\_99S_:!3A@D[PA"B<5XFH%<3_":":JA$R!OJIL MH((/)!@1$RM9@9<$,T7IE"N$V')_N(M89GASS)B1P<6Z]GEAC(I4=@F[X[#D MR);,U1@+5;(2*2RK8*3>/^5^M(8J3^,8ZV#8/)+K8*@)3"H,,OM-3JERDHQ%@L MN[=.X:#%0<$DO15'SF2E8V_1F+KJWRMY+[[X.=+[?,8)8.C8[(M1O>>5YD"@ M#.HI" MSL@">8(5URR02PP-*'!(,(,D! M8BP4C90)$U:+O2:;)NTP,;RI[*<:$O98O/=TES+W;9@P)(6SS39*7C!F, L\ MC LY4J,J\\5&*4\1-9#.;J^O9U% ME/L:P!.XY%7,K&W'(7 ?Z8PS6M;#"X"D=(L?0<7Z!2>/J;==$ZL\&I5.K!*R MGE%L5 !U!ZG4YJO^%!7Q[&)RJ%^W:$)A 17 (K$SUK/'SJ!9A5L!6;";"C#] MQ-E0P2L;SPV WBC+N[!3=WBWOSF[GQZ6Z MV^_)+J69B,18= QO= .>R*O5?<;@SDRA&U&R1\GJB!!FGJJ#$JL-B2H5HNV@ MF[R3+[8:]>+P24H2B.B]7LQ#\;N1&*M-0$T.,;EQ[98EW'O1B9>MSZ/D^2*F^=0TY\% &%D= OED#+0B@Z"@ MR#RP'UVV(V54(R"01T ?*0,X3!LH[]!1=./JZA>42B M3%,VE*=*X]W:BWD.SZ$$$YV2F;[T)"AEL2NT59SV@]//BUV"-0=H-7[& >T&)5>3=Q"._N,4S_, M!F/M";KL]&$Z"2>-).V#$ZZ$QZ](B#E)4$>8'I*PL:PK'>$C ]$BMG>!I)A$ MH4^.^=&%(P5Q#3.1DW?:>,R.H+I#>K.!QN!0\-4NN"M["7"^,UZ;&OX3!]*,'JNDYTKG$X7$]54^$8'X^"\LA4!S9- MHHVIFPPMQ;2N:4-ALDUW;;,)E_UF62:%@I0PN@,RS M+9 W[[SG!M DK7 MLQ&5)V(HMKFK5HPW1$]Z85'!U:5:ZM1;\I^8Y#%^!)>6,,<*<,[(:;G6>'G: MH49U:9 />N[!R"2=8X(>2$(I%F5IUC6KX.^[+*>CWR4"M@-_PGD!Q7670'H. ML>B?P@ 'QR_W&6AB,A=WZ>?A$TL3-I#WI/ #]TXJ.().?B@"6#+R4_@[S8G: M. MW&P^ODFB:)6D\.(,P),TH/,*EI!@'%'.'>ZP^:]%I73OZ*'G@CP&G2USA=-8>@_)8*QE@G9:3RL$ *%U9[9"KMU9@WC&B22,[D@I)\+_77RSA0>FOQJ,6X= U&F 8^%-(B(N(LC<.@?%$_T0Y* M)OV25 13FI]9S=<]HXV>3B(OW)!+&H=/8QM,,8+(!XKHS:\ZL M%8"9DRC2A*'$4$%M_OR7$JBU14DE5>M)U"S(.M:]P +;#D.9H[BNM/:V#P.R M >WBGQQ3_8*L>OP8DN4=!@^B7Y %->0IP[C2U,V*IMZ0*F5P?RJ"BE0V)U>D M60FCGL(=EE3:)U42+50VJ!MXX*'&HPX.O7SRP@@.X?,D_070#:;SFE6@M25O M%)V)US*JZU8IY$8:!-B^K70Y>GD<7TZ,80-1#/2I,J]@\/Z/_]>Z[=^]^ MA%1T] 24_PW]^.[=XAW[7]4B^C?T_L/BSS]]OWC_IW^EBBK\\T_O%S_\\*_B MX;!HKJIT*21?)\SD1ZKA?O]^@3Z\^_ #U^%]&F47/_U^ >A@T*$L)#JP]>JA ML5-;KG_4364.)LL*45Q#>I@132V#;17.>4WLZ*]"T0=:)7.B"8R5IM95HPEB M7P+6R ]:7Y[LR &SP:GL&RD[$PI7L(&B"=$9$!S+ 2O%R]<8O1 [FF6"/["- MB+R<_N)![E!R%(DG#WM6Y*JS05B'3S&,UK93S%DQUH%*7IMRTKTC;$M;T^&[ M$$YT>_.D$DP](BEM[*U"GY$/=4.4("\#!Q,D*9);>6RO7!IRAZN6)C'@@NC7 M-27\4ZEO'Z^$J%3&1%J]8(U.HXH6Q[E;(#G)9_;G%V(7/+AP'F:^%_V-[.]Q M;25$K(+10T#0>H\(DV)H^WT"6=H-F3&:26UX70T)0H4;;#ZWOGTS@M98L7UD M/ SA].Q_HH_Q551CWL[05(N\L#&;4<%0)90.@/FHS+>6D&8_N'SV^8YL8Q;Y M& 5#SF/*9Y]10= RDKA)*6K"XRY%:=%(B)::A0%OK$H98D5LHWJ@2R7#*P)? M",O&Z (- WJ?%X._K?_Q0<^)8:$B0JR:!@-''"Z TG;1W#U/0:*9]A+_DL?WPTTFW2.M1! MXX?@A==Z%R-^2$^\J$*WZN4)UP MT=Q:G?!(1;?G$YXT[VSK:2&&#C4]4X&6E&0P-;2EC"RS=M+2P.#U,^6M8^&V MF?"2Z96Q-Q)ZN3T7T2$2LW$1&U,33^VG)O8"\5-3"D9ZD$"@C8I-_:$:AC)6=DUL_]K6: MS:%08-RY"CN[&+5DBRI!0SFR4I+Y1GGP1D7,E'9W3(453(CI!]HD3.\JVM2%BIN7(NUT4,K7J@.>-E^ 1>-3TA M^?CEH_=W4>9?C')$AZGF73NJ^3\-,^_Q,85#G29@\^28NQ&E,#I) MVMZ!9]PPF,&#DDES6>N"73D7C'YJ#]VISP_EU&?ZGU\AJ!0_TC:967&33)=- M3O] G"W6/C1S>;W.8CK5#2:F@OQLDSFXDJE?DSLQ070 W)6IN<+YS_42Q?8EXB<^',YU^?EC8IMB5M7C7+#^[H4&%#V7><<]?QJ)=%KN)]5D .S.>F*V%ZFPRR1>S M6F5" &.--0YP-:<47?]3$B=ZRJX!GQC#[<P9J673]522?YTD]\YL/O@&&94[IJ'Q+!L2R2SJ MA#.;4I-98E@%"&I*&2,GK_74L/IL[-;PY^@&9HWIV;71<:VFUEU[,Z<34PHK M3AP!EGF5HIW/2$"I(M=4]@=R!RYE3!B]04:CU_.P)BK%'GAH%.<3HN3PT0*\&VR_%:^B$_H2+@DBB.5RM[KS/UX"+ M18S5/$_#AUT.4WR77'MP_!LY8JAJ[ZL\T!)0ZXT.)I)=LVBTX?4*4NJ%A,.) ML+% G!&D'.X80($)64\&\AW*.QSZ)1K#.U?&8!X==91I@-"5]H*& M^]I.TLC68.]:1^AX9IBO&,^) Q'HW4BQU+T,GV+VI^P=E15@K/R#@@U-)1V7 M;"GH*[BL#*M%^,X/7>IZ%4\,B0(^IM(WK&,N["I_+N8B$@$@+KH8BUPM2.Z' M8CBJ2LE8"AUQMGB,O.,'!5_,+CA8P"_I<.0&DVUA&%>PTT2Y ^7L*YC,>EQ+ MT7%1Z\Y"1[-?A3Z#2='#L3>W]VS#9 S3T\$40+;O.HD"LCBL'RG@I1OHBUS7 M@/(&2W2)ZS0A$FX.5CQ^,O 6KD[[GML228=KHY%1-TU/3S&Q;/QP-+Z12@>. MEFT*WAJR/'!_ ^2I(10"]6S>BSA[X+AY, M=GBOTY*\BI9D-T?(\51$0V>!.]R0/)SLNA?=S4C)I%!G9F)+HD?ZF IDSV,! MD M[3LB-^4@^O/OPKU^&5'R_MR8!LIPBG_825$9>,,Q'&'5><_&);/6[9QP] MX8]D(ZY'J?%DI7_\LJ0;O^)7L?WZDHH*.-*-RH@LIO<9FY.L4M+(J?X+U03M M1XS!,Z]YHX]?1*2K^/&8AKXP@.+O?A&!+C?E?9=AC$43\'//IT'XC][G<+/; M'"=IFCP3KH@107Z3OPP5D#GAF:WY+,:U_0@H[$K2I?J1X(R M M+.&A^8DBWJ)=;AR*/GX3"A> F==:?EF9=" 0D405(_W-A;CI,#SRM/:79W MLW64?Q?%WY^\#3Y--EXXU 3O+@&'(_3O@+X"XR$8$/W&AG32[;K4-YRPA\E; M^7B2>+U8EJUL6J_4+![4V_&2U N0L>N_PYV]* M:U**S[@HX3:Y*N/Q%LJ;^TN77LT[^>JD;_G0#'0<<_#MW."G)'H"QYKN=AN' ME<-IEIV+#M&2#4I5 @+@H@F:KKTT1*<+_;$?*>3U U 5Z^B[0 ] ]# D40[; MJL=I@2A11VY-(P(U>L^X+ Q( M,RR9WDVQ4;P)JUC&>5#TPA5?*UQY RE]Z/WWUKLM&)0NJA=,HVG5]&$YQ5"KP%F_6J&"U,PYKT\/SZRSWZ*GCW5T MURG=+EW=-2(IK0PX5!2%Z!GGDI(DCU(./V6[!MR^A*UVDS*&1-RBH[CICG-+ M3BCJ2!VY/WD5J23G-@I3 4*C5J=B][[(U,S1^>QJ7N;)&OS0M 2G#(SZ!4A= MQ*1J8.\6)>>7\F\%402N;26;5TG==12UZ@\TH@05,K:N%S$#R7^9+O<#^44!2Z!T>K&NXLUT,EO/U\:V,"J+"_XE MPX?,P?O@Z^[&S/E*9[S4 D'.WA#YB#^J@V(5F.:UE)/=ZDFJM"+8WZR>LQ9,]P:-"9A@!7:LRWPN9"\ D M=VVMN*YZ[:5$S8!NSS#="3]RLJN5\K/!GG6F#=,AD$)/ *S2;!'EYP.C$&TSVLR_.C,PV44\1P.H/I52*X9PE)T6Y(' M./S]E#NIK@4._>F(O$E.2\#UGD%O38LIA<;XU\I^'0LA[_P1Q1N-^HK5XHU1 MG,] 5^F%*#7>4TC].FY&V!"7?^^Z7OISNL93W$ 05S4GXT7L_FPQ3 MFR EQUCCB4.N.K];E#C2A=62-Z2\ZD^=M *R*' I=B,$UW+VB. ,Q2!"<[49K$0*&B3GD.1) ^R1*6]YLX+DJ5)Y=# M4]2KQX,H0=ERTG8CNP9%*8[V:A7-I:/4>8/BU&2WST6FT4#$M?(X@%%]"Z7#2WVW"F M)TM8GS+/TZ14-:@7[G,\.QKTC08FXB[ANU)D'?!)NEI18%8\$MT7/R/"0@2FZ-B#H+$*';-"QL2"B6]2S(W_E8;$JH?>J>8$T7W1]U>C2D,SJXNHU+5 M92E41'.+AL>1\$:M4AG^;B'Q[Z;4+VXP (0EH9]6[KC55$LU#&0'.0016S0 MG+X< 2LZ\**0QYF-M@P"FEY,#GLO)(<_QW.'X&X24SC,?<7:BG0-X=J4(R 8 M C04/@BD[\(P##Q^ ?D8(/JQ1X3Q[:-569+\-B=GYMZR'^/',(X/6OQH/YD/ M3T#-85](N27DCXB4/AO NAWC96OX'Z#>/GD1.XBR/ T!9QA^090X_0?*DRSS MJ=PVZ.RS'^T"VN?3IV8$X-"=K59X>+LU,NR");4JH\,!)QA#[!%60J+]4'^# MYVK)]D-O!-/? KHRYQL)QBF 'V*L?]T+H4&G2MO0IY-.$ZQQP0Q=A;18!?C] MY#F9'2UUE#9 -TD4G2>L[KPTSG ME7.4D?&*QD10=S/VJA2$T2I)U9Y'M#K)W4UI4+[:KH$%T8P5#E'1,A>BM?0$ M, BDV]H$8 H07>K3D39+X3%L+!8;Z9\[+RK#O,(]V5(D9M=?9U/R:N1"< M-9<5'JS ?8I9#U:X>98Z:DTN+K)LAX/3';@%F-9(;\N,_I+?CF>?<>J'V>!, M1)/ZC^!%:5UY^/.D?@2""$4=H>T*$R$[&_& Q:V]OSMZ<,I1[#?54+/!C?>V MN2QE@(N6CH%YQ@5 MMJ1M0BWA%1M)_'A$'MDXJU$1P$XG=*B+^*_KT%^?D8LS?V$5S/O71S?";/EL M,J(D4>"_J')5P_9U;&*$UVC M3-54@%<&5VZ":L#H(S: [.3-PSWJ*(0ZDA;IAME67 M00"9+]<)452B_PZW)TDP-!^QE4,*@S&/-_Q"2.391S*+Q!JFH]F/9LQUNLR%!/G'IW#*G=,YX;4(&#)V'48+9SKQ M]4[2F]M[=WM2:-"J0_ Z3"BE&U0&FR H)<30?LI<1>B9IU MT?3LHBXL2[A;![$_9_$M,JT^%PJ%RE*&A9!D*U M(HNV7A,))')^[Q+>NU/<7YAH,<-O09G1G">B*2@J*(,>X^"J-RU;K8]1B68B MF;BM.QMYO84C4)(;#&8Y"^Q2_2KV\=5#%#Y*OP>8.G?AACP"X$9YF*U83:^= M/!3)#U(80@5'+.M=@"#LO"BBG\$FS/.BSXX#H/M))X]_-A+%H6O2%-<28X:! M8Q7L.$QPHIY]:./FIR'553X2UG,< \N0O[;;D@LH%U!FX[IV**,LT*88AX:I M,C82ROA0B(UUR'*7(E>-\B]J)\ Z5*T]$_I7G.7@+*O5=:D5#(CM,B5\G"^H MHO+2 2@F/%(2_ ',E)CA"\28>YWE9(DZ9 -2M1AHNPD.UH4%9';/D+??T73(J)F"M2% MVLR" F"I;"'&%](94_$Q*&\:5I;D;P&^MJ]HG<.G/>7:T A>,\2I['-NPN.B%#K3[ :5"J#A(-J/4)37>) MTE^@GJ=)3/[JLXC"IR3_&\X9;$CXA"F&^0O[[V!'15)NZKJ)(4P[@_KNLC&-UBM#TTN 30_UY2/Z>L'H>GZF7@^G<*#$H!@3HI*?(MAS/K[0Z:H@;RM 6$I1 M?\@G)"NEO4!:AT>G6LF1L5XM0LW&JY4*G'H5CX)H)UL2KF'&=:!;*%BLQ^2;C>0KA0'"7D0%8B^J8J$ M"IE=-3! M>I;Y:?)\BLGF#7.R:1]VA"W>*((:D3P?E5V(8UNL;L"/2KKT&<*&-\13E#<9;GK\$(74Y6PXVN)G%7*3C5KM;G:5WSJ4-?4';]H#TXR M=<8;L$W3=,V\..5+T%F'-6A=_='['&YVFU$+P6G8[W>'[X[J_#QJ*YCYPAI,T=A]$0 M/-$)5#&%.5L+U( *\[5,;BF3KJ92;N%^XXT*LH/K(4H@BW8T*+6)>'O!CI.T MH;E,H7JHJ;PP!QB6E5$P;V+7.RP76#V1&%>=4>*R?B9R@\,*@>2LLJN;XX6=3W MN2I,K$71YH[5QF8Y4IAPE6 RLVF,JC-X/' &O[:IT^Q]"-KQO>1D_H6/?^ST74EE-'0-YN[K%5&?GF M)V,@,0B2H]1+ZZ9CO%6I=?#(IF6UVW6J$;I/9)"JV([+%6$9X!W/"<%118-K M3(XOH/:E2"?4FT&(F70F&&XFC/VES$EC,,=31B@2*180I^0QX)4T#'B.!3D0 M'F793^3Y?]!JC/5+%D(=;K9[@$Y-/F8E@ PI$D7A"B,LICQ/T -&:6']LEE? M$<'H*QD0@A(H\J,H2IYA -%;1_GM=[P?+\7?(@3"#67.BV-P0[+*M@P]KW$L M?R]^"$[E% .& 1F=-HL0]#.UT*:0G0958(X"B-N^(9,:413V[39-/'_]K=T3 M_WZS_N+=SE'&1T> MND;3\>EAM:(_@^)<0'Y$;&1D1CZ2YD2 M/=S4L%>TS1%:G@&9@XYCG'K1,@Z6P89<=QG-4GX2N2:CSC9.F]YK.G71\L.9 MJ\:*F.JJ-LMJ6PN#.SY^A(K!D&(5+$'I@*U#=BT[VJ'" V>%M3VV?;$8$Y0@ M/BCRQ*AT]_)S/Z(#*TV.+3E\V[?;9X5QP'BLS("H=PF"C@,F:A6-(XO#/P<"8:$Z:TRCR M,8SH"7!"V^ 2&M9A_\'$Z'9IL,/G3E^E< ,1+]%]:=@SMZ\9[E\002J*;,HC=)GDV98SZ MB^3CFO1R8E8[\UIE'GMSN.4)HZ:C (MZHP-N4)E-2MC[]#7 M@.N%P6VRRI_)^+08RX>#+#MANM9(E9S31QD?@!YN$1]" MY-?9#5\;%Y%O8"&:((R6M"*/B\9I'Y9D>H/1CC")EZMP31-[[XFV5BK FF@J&6V0SGE[,=+X3O5"RU$;.K.+67EQ MZ&>>9&Z:(A[W7?,#(>MBFIRU51@%X"+SNUUAKXSB6B^H MS'8O3 >0ED'HFI8C9B) &HLR]P(3LUL!(>"9A'/I3D)W&0G52Q@KZ5XJL,'L MN@--"R9U52Z0= <6A-WD6)@63-=U,\('<3DR'T)Q9ES:3X(PQWZ#0\:A#"/S>!GV MPRC($">@4%-(*4X,,^G)"\2XF&O%0M90LC :^>GDP*IEC$[$M'W 9S0%DS85 MG\4\\./$8L$.(^O>LP@1S/':B_0MIA,Z24>(HC?Q++M)!9A48WVWU#_=-?(T M)GNSV[Z_V'8!UY5TT6Q,7T69ZFH5IMP,SU-DN"K(+Z.L:@W@QE7H9S3S-3T. M*36[R4!%JVD:=JS)#+BYO3?BO%&[6K-X;&TN "+C64[MLB@SWX&]946WZ-Z- MH\>FU'J<3QF)8[82PK8_OU/\D$-Y4+HSX5( :J@@Y]0HY\WF2BWFEOF)EZ8O M1',S8DK(OHO5GGT>)'JQH82JR0V/8S<*M\4)4 V)_::@,#L.>194/7,_^9VH ME59DCO87]R#EK.2F3M$*DMXE-WA+'EG#T7^Z V.3!17'K!Z[,Q7"B%'F\LA-T*YA#GA/GGSGI:H&#FN5SE^5RMME&R0L62/4-X$K$W/2Y,[CH M1U<%W"6Q&8"05B""RD0G5)F6/%8K)Y*J-[FPF59P0 M78F>?"8#?@E09%'@0?C6)TW\G'@.6_-!V[8E.&0(6[R1XAT1.IO?5E5JSL?Y MJ/12>DFA#7@ZT5-O>AAR:9U MA9]60!O-_$3O5^B6DI,GP%#:CL4(EDUR00? @J+5_NJSGAO^?5CJ*2G87-"6 M-V2:X4G)ZUDT"P24K4/(E**?Y$"]A8,5 M*A?OMZ#B?GCW_D_OQ[52+&@C21PQZ@C('[UWUU+1BIQ:U/[V7@AE%< P(8;W MR/IG2L-!17,UT9\U:C)7KL [4CDM5A@L0UNI@GU!J#XMHM]WSXD1:T:F >3/ MB5U+9C3G8N\+CJ&5GQ,;9C3G=>D+P/YLX=I%_T$1^/L+(9%+ M#/<2Y@S]Y2DYF66RFAF<&0FS0P= , (JDKRO8!W*M;N:F_@BD;Q@"BY&79<1P M8#^0<#!J;_.1ZE"GMUTQ8X1[W1D:S+4'O7^R\3<')S1K?B.-56>VP:T7$>N8 M6,*?_3##=]YGL@O 3AWG8*=4F<%*Z2)"&''*SASNAD73G:F$]%L +D0YD6S+ M"-O4P[F1_$*$H0U)P% >NCB<%!*TJ-4]=^:UZ7)]VY*I7H,)=62BY]1=N3:,R=:U$>JPQ&GA(/(9QF1X; M36YSF8\]KOGE"S7_F4Y9"01H&<1H=9LIR!I5%J#IT& M1J30:[@R!_G67?ZT;/_^H"7?V=EGG((A?)V&@]O/]W%\9J/:T]8X. 7CB'+^ MM:]$74.%AJERU\6UICL.3W 8ER=0UR)G(7(GW"4*&!=/7<1V&1T!$8F\Y6,< MXU4X-K]6X"L)JDB0=8VO9$@LS7(B?T_B&$='*<=F\V L+W)3D\-,VDI)APHM M+ Z!P2W(::T*&ZBV/&>AX0MG\M2Q'S*Q/0-:+J8X2XD:P\IWDJW5-/B"PU.;*.!:*JO6@)(Q$91II3 M2FMZ0=&N535: .&O98Q?K22\K=WDOT8T%3.R!M:@"-I(" R6VZUH\T)RS:*%;BQPIZD:5*C"P:1YZ0U MP[QFH?QAFBW3X/S):E*KA9EB@J% ]VI%S(JOD" MA<#7A!5A)[H*BB9M0='S'7BTEYLDS<-_4K8X=("=!E9LN,JWBE0&ON1YB6JF MI#6*> G^/RIAA1AK9-R<+,,,+. MTJ8,"1;UD.E@A"D59RL218"X![X6JP+IU4;K%!O*&J"D'-=*#>>^L4(-2#JJ M41O.?7VMU]IB$*SP4I^'$6_X/2ZIFIH&/I0V1J*G^9R9K_&K.^"\@LBN&%8< M#3VXBG78]0I*NXZ(/B9G2ZW]44T\P0HB%VD%;[T*TE[":'?5ZF[J252WD%)2 M6#N15Y6)G'X>Z>EUB?.UAY/D73'W^2,=+%E8X4ZH*9"RBWY,;+6:E08%$ZNB_OGI.[=;++O!@0@)AC M'$M$0$@AN.;(F8#H8F2[0B5_SD>E/LI,C(NP2+YAR0L2M'-+QK:K"[J9">'? M(S,@1D-D."3'*]*/6+J*&)+BZ;@YJ]S,A'K=?'CW_L^M@MO^PG])DN YC"(B M;]E74O3&')E=+,:@.[[JSU5;@KK+._:R=0D(NH#FYT#1^@^4)TW P"\J(-$ MB(W)#)%SG[WP!).H[F8L7[-EO@>)R)LIH\(L:;/1B,"1!Q>*UE_0U)H')?7',O"%0_%%PZR1Z 1UG84;Y,L''"KJ*$Y('9$?K)! 2;"OMYWDMTV6CO$&:Y1P^TB*4I1IH90I ?N M/6>FL"]E]\:!>8"ENU4,@-+"@F6.X%UL78LP+QW?+E(JQ2XOVG#:S^2T))VJ M:G>(:+U+#>OF$S_RU+&A.HZD(W+0YL^Y:D)3.QDE4@CL2 A>MZRFP7/52_G1 MR*IL-33O22U3^>E!"EDRM*FD8M44U=+GZ?K1H8NK^WMF(&Z1C[0,@A3*K=@? MEV&,/XPK7N:4%N(O-$W2)@RX45EJDJR<"U2/NC:Z;K0$(_T M]5+T!,3_#7UXMWCWCOZOBC'W;RA.=$0]MG6+3D?$%(20S4XN$9T;V2:^ZS: TI)\5L,(Q>%[N_&B2-3MC;M"*"DD:,V<]9H;PSG_ M:QQ%1I!'*"5W>"-C&*^;=Q?<,Q^L4I+.:XN$*MM:A%_UJ@LO8UM M!X"ZM$L(1Z(E>V24YUL Z1[CV%]OO/0/MQUBQDJA][:@M*P?72)+N,@O,_*U M"[('Q'ZD%[(!%#Q#*PY<^9]IQ*JL*&"_\^JX+WDI^H%!,@=AA M+#'MS,DT4F7\E-S,Y$]?MD^#6'&8[VC-HZ%NH&(,M!*#H+ 8Q7Z/4"LR\B]& MRB:)(X6ZNVZB5F34.]-V"6H]5E3;;_OLLQ_M AP 3 -\:+NSH2KC3=7JT(9FB+G$.1(X*2)UUA7:WW4;T MKO--:ITT2TP#;#08,#'+!)RF$V."S6.[R9$.N>7\9QSM0=?P4$TV;1B$A M4W%<.0<-N0/( >6!9P:FG N6D,_Y6$"\GG%"#")@A2BVC!?R&F'&?F7]-!,6 M:7,%@!=LKE@RGF" )?%S%I#D 3$FD. "43:L0BQ,.%65JI7^VZO7[K(>OKC= M/63X'SLBPAF4Z .\ZJB^-04]1 DBH.@,3I7YHF6/\$O14'RX$<"]VY(D$C0= MF0$&)5+/P4:QK'ZC)M&1SS(_39Y/(B_!C-1S MW#(0[J]AOJZ@IV4Z4IF.M2;F^$6@KPQ66!5X.H4C]$Q8JH%/RTKX:8LJ=IUD M;2&A8>Q;+3.95+VS(T5QALDD0V9D9W(DK"/0ZC!MR'&9/)+_OOF4Y!C]0'[! M8OVTINA;!^BLJS"_'&#KZ)A8$)^.'%BFP_E5;=!*-!WZHX#_D_8A W!CB##D M>1H^['*Z[_,$JKO($N:$6*1VUG"'"3Q0\,B\S/,5MIPS$7*)86]:_Y@,XF1> MCHQ V@(A3Z"V!5+),\4DU:N,*ZLR+(^AK&[08XT!%U;,">#UARI)_%RA* MXD>*;&8SK9SG*[V\__!P%^:#.T30=^'P??_AS<.W(@O*:C';6,ZUHA&W[/<( MX"]]M#ER&UD4_2N* M>1_>O1&>I>T9S_&-=SZ4MCZ*H^[2U>()GR\.BD25:+/(,A>I:W[]P\*= B2 M()$D*V*FW2T!(#*12.2>IA"0-63;RGK"C=,2KUGG_"L:_6F8 %ZO":K\] UT MLRMR-J/;(/R*/DH](,/ QW^U$:M*/"#05M:(U9C(Z.^60=K="<69JI$A\?7 M^AVK3<[EZ86VZF552_'EW) ",\QU/JP".?& 4%-/]BE2Y_!_D:]AS?Y_7^0? MO"B^.&%5\O'14+DY! \[+_A(FT:Z.?!6_IW_,Z4U>(@#\YYH-K3F=-40/)$S M<@@8GAP"R%NOD%.M"52IH-3851_\"L)CP&2NZ,ZG M=GE6"X#5".T>-21T5B2E#U,CI5WZ-*EOSHSRB%4B"-+/3^.F&!LI#<=6^8,T M/++\25+>GOFWTK(,V6<7@0N^ [0?=1@U]PYS4V4I759\$;^AK/D8^>LD3;=T M E95/2I@5;J)S1.XP=E?$-+W = *HZF:9%5#-.I1%GI,C@!/43@T M+0PZ$2@R6W;)HIQ6 WE$Q#KD,/=_9%O>+_C.#ZN"DRY(F BI:KM >%6,^:S> MBETWY).P]1*"V!XN?IF T9+(UMQ_;I\&6GG(:A>EY28TX10]\^1M05[K;4$V MMHT\*HLX/S,S#!-IS/7X*.WH(MW2=Q=L4XO'8LW)F>,AM9"-S_%S73--+BV, M*1I:MI8T[N]25?N[B](G#-12U@FQIPCFG&"JNCP*,\!WF45I G/;>-19:JK< M3IO3EC)7;I1:;O0TO)9)6Z?4"?VP$V.@DB*;M9DB-7=)+2323'W&/>IN@W"' M7&*JB^;?W*L$C.GV7O,^N3+%=VUZE^YKY"!UG5G/>U)PXI& N]V]1&SJ MH#I6>>,HCY:R",G2?PYV?TXB-')W2]A(FB)9/. AGYIC,^2O$_+%MD LL4>9F9OM5[499[^IV+_$,7V9?F#+4LOC#KLOJ:0VRG7[E(J ?+ M"ZS1'V[UB-WI I;G"W.](A%-JTX8K-SPY"E8T/]-K!#3H7=Z1,<@[*L YHPH M7^Z"K3<#$+@,=2HX6#AF2.P+\0GKZ\12=R0[R*N1L:)-A 2SWZ1/J8'K;L#C,*^*.]#R:;X^_Z=+P&A:KG?CN^$7V 2/*E&^* M\2.VYS6B7YS,7L1+/SZ]1!/XD5JDQ[2\SVC2XRY;?P+I<7Q0U92#_$,3* =% M/\E;UT/A%::W?1 .[&)-E[K(U@*^=4X3S&GVGU<]*C68T6+IK_:*F=S,3]D@ MX:4A>B-U@=\1L\^3Z$Y2*MC=^\S.8)>[_6+!C/[+8^PWKR& [\IV]VQ]&_;& MI]]-C0_VZ2(NOC5)N5\82&FV]JILJ5Y6-\-:MK-*UVBB490V5VH6_ATIMD&> M*+S#*=N$&4>O-R5FUX'2BB7QC8AD5"J076>KA"Z?H2NVOHTO-F"X'414K&AX M*,JYY1#> MZ4&5 -ON+OAFD5G!58D#4#BUT96'P,]CJAC#3).$AKS5] V]".B[DA6"1VS9 M_TV9W&R@RC2@TGKYVY@N.7IU^U),5F]W7KX"X,TV*O;O3&YO%@?'B M?V&=@]0MF*#SR@C@JASS=Q=L_0OR@=%-[L2Y\A9X#CX'9D4?_K1%I37_7RKN MC1]",QR.S&Y*)W_7Z%KT8$WQ1 P'PVQQ EW[-UHL(LL:D+#^6GCJ8(:0)RJT M/0 -'CDAKY@2+]QWP4IAYH@!1,MTZ_+"!-ZIPA WU-E[T(;--.<;AF.3 MG=L&[=PK-EVQ5QMZEX1&AZ'%9&7&ARG+QNJ&KY)5:: M2.4?"(''WSSP7=>T8+9U-,W6'\+ 1LB);L/@D-7AO,,/OFMY#\FKY]K;W0Z% M ^MO9!_)RB;3Y2^.='W\E+,/Y#ZCDIF#6I =-V)A@;/%A<=#0_:%B_03%^P; M%]E'3&3M4+&.1.'H:>Y$$W>F$<[&@$:A_&"JPEL[#/K%QO."#WJDI,)LFGY! MWO$\V\1@D<*!R/"TXF%2VZN&XZ];D:<]3AW0",SA\V"+/B!:P-N]NGPU#-+4XKF;S32B;ULM8NW01FL[4F>N3NO695 M%*QB)^-ZSR='5&9C+4J]U$NDLX]C%E7MLTA+I.=E)DH[6!9^&OVGNU-1B7A& M?\>]W//Q@$*\A0-Y3;98/-KGU3])LL"S>\!#MKLG_--HQ^*@[@>V/7_, M6O\5SI?2'BZ*391*@K)]$)R6=S)I9VYS>*N6BYT5\NB-3/=,A/ZT0-L#R=D9 MR+#359FH'[)U+V@RT+C\5Q,TU+P+VLF8FHH6@ M#/9$1UXMZ3"DKDNU6,5$95SR0J1!ZOI+VUJ[[ZF[;\@Y98L3)T:Z_$6Q?N[P MG$2?U@ZHUP'&V0%7J>Q-5BCK WE">TUM(%S8BMZF:_Q:RU;?^*2R>8A5FE(8 MI_8.L/5\=6JN3K];*4 X?2_8*3$CZ@6<82)UBS!K?IJCD]:BF3">]R7"R+C! MXN5A0!LI4B@20Y8O\QT6M3R7-$Q(_SOA$0\#J'QH=:C 9GZG^=TEV<%0Y3[5 MPGT5Z0MZS3XS6*^'L+76[)NVG#UHK)4#YUKQ-GF+"DGDV% K75OO]0DM;\5+ M>V.%!+W1 PHSDG!M_-ZF>H]V\2/['K&Q,6Z$#YE\DSZTZ5>-RAZC8J0B=B2' M@Q6>:*4_JOTSCHW_V41(,\KJF.%O@LX0UGX?(F8$W>Y2J]30VU!=EM8H2O.-5; BYLH2\36I7PLFRGNX M*#9QD>WB@FRC<@FV/$ZQ"KQYBBC;U5'&9:Z3HBSW$Q;-9'KWL&^Z2$N+3MWJ MK8\HA8^ %(/'0LUV5Y*GJ.OTB_7-/22'@;VCT^7)P?NY!34S)=9VE#OMT@Y-=LNI9%R\3RK(HK)"MMD[4M/>M^6YHXYKO>/;2[RYR_#].@W]JNBT2 MZ$M[&5YWAYF%)S0'ZP;&*\-1K%MU XQT M\2")""[7MS'HW],#OMS1)X%\AB!S67Y6M]EK&;+M+*&W<$_'1\L6)B&3R1UK$Z^^Z@=/V+0_J!"P=_868 >A78\LBT;.F+;&W: M>'=FL-5"M]7.;]PP[B^6Z^.OTO+4R9&TB\$R');I=H@F.UG>4["+\8.!KHD= M)Z"2UQ,*WUU;AS)6^CH5[M(M7&1?H#\L[^8BV\Y%:3_Y\(5ARFL@Z;L<0]T0 M,TW%UNDQ5+M0&C"EKOU@H\*I:F,-PL0IID\/^4S"O:A=7QS;8NZ M'2J0R :"(+O^%0ZQG= () D?N<1(3S(*P/,W\,T=#F+7,8/)JO*WS 69\[SQLWL MO *(RL*D@3@>9V 8(""_,OM?Y2X^_CTPN3JOEB MBF0"") DYJ)R =_T0OR"K/#Y(^"^=7T6,G^EKH,#Z:IKY\FVQ%CKQ@D-7?-1 M\VC59YD'KBQ.IF_QSP'I[D(,(5+ALS$:!K%RHNC4!##>!! @E7+C>66>6$PC MJ5*.;Q+^G_-L?9/H0UV6 0$^B])$868MJ+$.,6=5FFC^!E+QX7/B.K3X'"W* M8!RT$XI13Z8HK5642 $?P[C$=!+A79 BY MA%0TM0HXJM^%0%!.YBS*CJX,@]$>4U:?A< 4N@VV=910X^IJ'IU]??BEOOO@I M#,SGCU3&IQ0$S(6)8<^G(:6)($ L%U.)T> V\^DM9 M^240TLU[,C!UCYF4!+>0-Q0$&%/EG]%TWG'8^:"=@#@$!2]D3^"! M!0TL=?KLKMHG8OWAQ =W7P+$R3TA:M7&5_&+%?Z.B!DXY53BT)NV.2 NT:O M:*@@?XT;G!=-;I[:1B#6\N@\LGUQU4AV04@A7])+/ '4 MQK:30T)-I2Q:I*FSB2^,\F00H')TJ.)MEKJSU68:UV$J!KTK_-=M^!Q\5#12 MR3 09R2PVG/M?:IS0 !&^+$BM0F&@@#C*7F-:*6Y^ 8+>9(P5NY B"#( A@% M0T& @>\O]>);W@-6.>[\5 V1,&O9!! @?0W\ET@,0.G7(+;+BSG$+_XMT74D M&80*TT"!5WKT*FT_*:ME>G#)+7;'@BNXXM"P%4$@YH13>K!2^PF"K,! %DJ15H M,\I!1G!*$T& 6$_F5)3.%::! ._JC7@N[OPBM/XA='W;/>*-BZ+M[PZDK5;H M6M[-;H?X!ZQC71 ($H2'2CP>\AD@@")*[W;7;/#)?\CY8\$"_L5"9QMXO$@ "*B$KX9>$<5D9Z62DR3/M@;P,E<%H5,]%W/ MO!SZA/F@$[_AGV(8!/$0G#$@3I(^:R7E5*2BE4QMQ \JE#Z[+P4"#7QEE4>3 M^4.@KO-*EP$!?DF.8X9\J@XUS/N*HJ#*$D#,YUJ#D1V^9 @(L7G\D$FO2*!L85>L&5HL, MYH_G$XICCR["U7G&^QH(9 X.O6)!BES52M?:(!#%2>A3RV=O# LGY"+D*4B7"%^:5/+%D)!H("Q) M!B'FQU9XHO$*)$&9.!X"&HV6O4I\6^1HGP.!SN+:#>S,JI#8J^,+()#6K &: MVRU3E[],:5.?#2+!_'\V92"*GX(XB:$I8D7$!J>Y+I>:Q_P@")36\N2R"AT- MT3;MH5Z 05F=#'=Z5@:!I(*IE=(0BK(7BI*.?*YY=3D]F5TIO^D1$1D><^L@ MI*H;7F"3Q,$!7P-[X_L)L=@PMG;C.\09T#3*:E@4!@WPZPQ1W>?FWKG1R:QE/IP)ESP<(SVJSAI7]U$ 0KKIT/H!Q[7B#IJ;S!XJ<@,%B- M@G@D4M-V]Q*Q<)CVL(G:!! @-96>M)9JM=X+E8@*:/AE776M"<0T\XCV+A%M M_9B\.WR+3'4,B!-]1#%FS\C)U/12IM(UVKFV*Z@9U38+!'"D-1FS.EM>UD+I MSJ?&6*KOR31$M:D@P*R?AJP;!6\D""#&JRN E;)W6EI@A.(_73]N7@XBFRD8=/&P6)2C,PZ2P0P#V$@8V0 M0ST[E*93SGOS#86V*TXXET\" =J3NV<)4?BU*0)U2'L/MZ7MC=I,$$#VK!'3 MDAD\;$T0B"F]49S87<7,,\E,$$"FNE[)\2JKC2H:# (4)@L2 3+P\9[$X87< M@3! *,L&C"6*E0GA8!"@](YP3-,?>! /71,$8AXQ"SPQ765W7[8V\\48P6 0 MH&RHD(_\CM2!L[=M^%?5_'_ X( M!.:OP^6I%.=W&]):#K8P(4IA&@CP--;TK7F],SD1WW\;/0:>MPM",G&,8(/N MNP"!_&IU%GF50-Y($$#T/CNB4'\)G#SVCEJY4W-B:2510M 4WP5B.$]%./S2 MD!ZQ]/V,DPK;:1L+@E(:U6,W2?P6A$3KX(H2XN$@P"'>2SS\#:M*I>2(M"(; M7U*03#!O]KR)\+B/*\]R#T7EBH;5DSL*Q'FDKDGE65NL>!K>;_@MY,3 M:BD;!X(J^ Q*G96! "+7T@MU7AJ>4PPS3D1,++[Y1G,T77Z FFP<"/QW2$#E M)MQUF0\"X(8[.A63+Y&/=GQ#7,L4\P*V3F[-KQ\T=EMPX5=!T$P'6H%((TIJ MHBQPJ74:"/"DD1?E0J:=PS;*DT& FJH;:1?ZY(PI'W*CW_$!DA]8>WX1+MEX$ !M/(\TT$0.7WJ3F(/49H( DA2GV;F^ M&V.>_TY>V*K1X?+TQ?H-TR0IJ"5RB'1< @38UVYD[?N3*.%:M_.TO:Y: MVW2E14!0SZWX^@J"2N4S0 "58CLK>E W.4ECJ%3G@@"TR,;-HU)8'2>!!96] M3BD?R_0%)F[1F#&%.@@:/P0"A30B[FO@!U4SA^2-E\\PS]!Z*HM" (E.36@I34$0P5@0@(A:AA$+=-8G^H'X3?%[$\>A^YK$Y!">@P>KK>V!IJ5!H(GX"ET6 MI9>VI*#LA$2\J\4A=5H !,CU%&NRHSR(@3F]H8"!U MY4=9P^3/HA&IN$"0_5H_J8%+@3@WB8F@'.F42H7$N7\;)%P'2+^59HB$K_@ GS^0]XZ^ MX,-]X\>?#UH1!%*Z-@L"W2&(2(L5<>GRE"D&Q8_%[5649\, EM,YY8OUC>0F M7P8A5N=9!4C\&WZC@R[S00!,[%2LGB\1B[/ZZ$^8&OE"M&@T"&#JY4AEMTXT M%@0@+2ZGPN$D;W708QD0X).O:E[@UQJIF[;@I",+83^J2_MUKYS1C8"@ M3YW "UR>FC\! FV/Z#WPWHG0517))+%HD@D@0*H++J07AZTBX="!($#(W,R- M1T%\+BU38( E-C%WM$B;Y_IYCE'R&KF.:X6G!C]N#@%Q"APV)I6S9..A E2* M%WU$M#(CC3=0!$\P&P2PS$.5-\UK:=+ &PH"#%Y0#>L#6;R6I]RF*31D]U@& M!/CJ$0 E63C**[ ]?. M,;YC/,'O.K!I85GF?!6DB'('P6 _=:-_Y1<@R%,IZJ/E">ZR@GG!75Q?O?0C M07QWA[D@3K>NX:9=B524X70HB/.JF7FY%L6VL1 !X0<8"L89YVA8P' 2.RX[ MMOA]4(0#0=P)YJ)[LCS>+1<. K+UFFWG$O/9MX,5_BZ6"]KFP ",-?SI8.V2 M30 !4DL"B4QO5YP* DQ>I^2B[.Y_N5@'">VWDY@^.RT F1I^9HKU@G$?4=7 M5FR_O1R+ZIFD>"8]V$R73B'>[C##W(>('[\XWM?,OX@/6%!G8B-Q17L>LN/$ M\O#^L.K*\T$H3P)!)P)-57P5I!- @%0-5DH#E<0 28:# (?+>_(>[N+71V4> M" "+3JT/EHOO2UH,OE17C!M8T3H+!'#$Z$7^7RIK]8CPT^B2SO)IR:OJ#THC MF;&@'CS/^CC33"6;LDT2&G.SVR%!RL2D.P"!=(WE?!\#S[N=I'!PZ4L@D)CN M-L)[>D3'M E-I7TB#R'MLT )PE/5@W+Z[B$>4$F?Q *^4OH(FD(-%TF@SAA M::4>Y28TW5;:;ZQ>('.@<! M(^A"RAL)! @:CTUTOG=T;<46IQ50VU@89(>5".#-Q%C&6.D758%HG@0"M>^[@\UN(N #W7 H$ M&JKANA)_ 6<<" #:Q2N 0E21P=N2:J10PA#&Y)G^Y*?RX>II0G@P"U?WA338O,3U#634IO@%6?'8 12>T@/ 9, M9J&1Q%?D@0]/8@%;.@4&+641T;56E,("I]()($#*;(//09IUE-UN% DKH[3- M 0%8W@Z$R"%,#=T1#H4G;E\]=Y\+7,3"_NP>\! 2MQ&[T8YYS]J-%9H_85YM M(?DF=NBRGJ08IAB1@M$DO/,I.9+>85E4CL##VG$^"#H9[]TG%6N)M,7EV50H M(/&FN1%W6J&DX^:,ORKW@6UY#V^8>S(C6OT)J?\>!&WQW+TD'./%#UXC?!7( M];_SCPGU 0>D.ZJ;)8PLNYXGP.!3E(=X\/U/![LV>] M;#1_]K<[XKN]]8(/>1E%R7CSKP))XL9LI=2\.?#Q7VTFNWX-XE]0S!S-6+ND MD:FV! BPJ?* 68&@ M/T_IUR"VVPR0/N4ATJ+[W#8'"&!Y8,B#%6Y#>DN8!R]+\N##UCH-!'@LS;

((&+@X"56H1 M_^VCC:?%I=4K^94&*K\$@7=1_KQ0D?FTJ= H'&0 MTJ68**[[&R 0EQOKF$7NGK3G_$$A >$7N*LXY0 MS")=:H@FM(Z/_4WS@M#S1_#\%B2111*B28<5A/Q,=R!Z)+&.>98O<,=TFFT> M6'&05&;@*L=*;798DN65?A^ZEGE$O!R.?R06BZ?:[$-$&9G@C"5CS0.2Q?GA MVUC8!LH7DVAI^ 8BYS8(;Q.2Y$=58-]N%C<8L!8(!OD9^5C%\O"3M7$.F#HC M:@1Z1ZT]G)4FFC_KO+EPJ=.$YP4?Y !(;V)*H<3DB$69G&_S[FWW54"<[]"L M,PS=#KF$;,<)4Q-_!@3Z-/LN^3F2$SA-^1\&@>)24QC\]CND3 ]F(T\$#JIA ML Q2S#]I^8@#!CF5JNL5?N0=@K1_Q7CLP14)#L;GR M=*_\.Q"FK%_63^=*Z MKV+^!;H.#J1'M)TK@23\!;,Z:GLGX?0"$4IQ'HC3Y3:D4VO3IS@5!)B<$.-[ M63< V7CC=CZ2;[S=L?SCM X+O_R5<""(,VF10WN(KB# JH6^Y:6WJ4I1*@4@ M+ ;?:0'S7/(A1$?+=9Z"7?Q!FO,0(Z--F^MRT@;59H X1\&+E2L4@]X]R2H@ M@"^$+LS:WVEH9^'NI)KRB^\2RS+=O4)Y[$$+PD!)9@$6N\4J(V!LNL535ZYN MT.6(ST><9V6]^ MX 5[48G!M@D@3C"M14TB*;'*1%UFMX@K_JG- %4_IA+]<3F*!";'V@I8RT, MN >G8V$0*.IKIHT$=EJA4WF4#X% 85,F(MJ.]-8+QQLWJE2L)(W\6_X($*=0 M\E[*JHC7!IE_"TN9)U2!X*B#CT\OHM*['2:#."72]+;(GI2^*8*A(,!(0Y]K M <^;^,H*PQ-F54(NJ#01!(B4@(JRELVB8WPYH&42#-!R]>[FE+7L07,J!H&SI%(X'FCX% 9. /F(!]5+O@1_8#4 M4\>O#OM![B=5S=C7^P402$N;S(@Y>64 B"W39F5$!OA&BL@]6]_2(JP20;EE MBG'NG@H IRQ+F(@!==;.&P/B/+ZB#U%EE-;J*GW7 'X0XA8>GQ)^F>Y\=R+ M)!P-%IA-$K\%(1'750$J9H *I,IJ!>/O&MO[E'6#%$\' 0XA M-AN.N+CU15&PC1$@3HBUTTRK(,E$">Y $" ,+O_*2=F8O 1MQSV 0#PG*#BU MB4C,"*V30("6.N0S2^TE\M'.E9HVY3- "7K'#*T.9!X$>.R*C-[WF#6N\?; M_1P&'_$;N:667PE[:AEJ_HG)F]MD+M?&$],8 8/L!F;4-:IS/P,,D 1T_&]O=SP'14;+"1+G96I$Y*ZQD_(9O\-$YU(KH M60VO1^67H,Y+AY\A?5_82&H4&]NST?PB"*0^X]6WNXT3L.+80I6)-PX& 'DH M(V5(C?:*8HA4)H( D09N8>07AA-5N# M0-A#&-@(.1&)EKPG; H+,+0, =^&(QAL7C[+_4&25%C.&..O)Q-Z;UU/4/F] M_GL01)-[7:NG1;=.@SZ+:7M8C2@;\L!5!(*76MU0AFP*0 MIYS%CKYA(?P9A8>T7G+3;-<887[3*2W'E\D-1)$A1M;IX"@N[SB4ZJ@9D% MFX_[RA HVWY#GB?U,Y9'F&>Q94=/:D3,^+^DGJC2+!#W@./;8C$MF;>#'4JI M9@*5CQ7=9"I+@4!#IUJ3<$M&BGCN)U7F;-:Z4XGS38.JOB).#6KI0! @9 86 MQ?HDDN$@P-&3G'DO2VC6_ GS3X>TP*U1%=SRRF;&DGU1[LCM,!\$P!)_L["5?=L<\\PK38+> ME?*B2XT.LA8'FR0.#OC"V1O?3PBK8C71\NZO'*.>CF5!G#OI.H_^2#"AWA#/ M$8F@$# (6UY2NJ5&5Y< ).+!ENGG!U!G6QCGY7GN4>&I0\TG= T(/N MY@2I$Y7/"D?Z%@A$LK;!]X)7H/@MB,UJ#.R0"OIC? <$ M.*U5A@3\)Z,R'1 M&! ;O^=$?=PCW^%5C%>=8_XER.+^>9I4M(G_]>;:- @\R]N0O0%;SS&_Z_& M@0]?#<0I(]9[E6Y973.324Z2/_5C!?QPWS72>QX&Z:F!EX9/]X8 M$*/2=9L1B<\C(@P"]U!,5:K*0(@M"VU64!$"#S>,EUDH:)"H6& M]EE&@:,X#T^_7CZ5-U_\% 3F!;U"6$C1T(XCDE5 %^6.MND4O,2*/-+N#8U M8)'[6S%\]>Q(JF-1\ZC)Q.D7'_/X,,K"7:Z"\!@P?A#=^52H9JY*%NN#Q-F] M71<"0$6'Z#E.LLEIW704CQ65!H(=8>W(]R3[)6+1@ M* @P^/W-F_&7K_7X2RS8((_>0.=G]M(TTZM&^P@(U*G6IE49#P(@Y7CZ2;\, MXB9XKE0P' 8[ _2D&2#H!!$B#"W5)"\V.7R=,_?,@T"TS M@XA,1&USC%MMLYK5Y+;6+;;EWX$X@7N.]RIU3UP&81A\8'Z*56G\&[X>UF4^ M"(#5[3W#K$5@R/#_)E88H] [/:(CU@]%%%D;9EXHR5HDE+LCY$$-^"6AT8YW M?BVOLVDEZK6,<==#)TF@KB-HTO@Y&S98VA$ M 2@^#P+=ZNVU.S _SFSCS*\H2A->86ES'X2")*O*$!!G5([U;1>IQ:-! $.O M!;E;(7K#U\M]1TP'("8]?$6P?.HS:<$NIT-A7DW_Q:I6%SY!3(#;W;/UC8>( M<;X$ HEXAPXMCR^K\E8;8_[]OCL<+3=D?AG>(]QXJ=LF@#B+KX$?9'8&1F"I MI9W+,$6#08#2DH4-)="(3@M[\0'01R<#$ QI9%#XTT\J5M$@C0LG+2DF>V-@3$MLN%2+-@DSM\ M(5S+>TA>/=?>[O!K)?!T*D\& 2K/($OON;R]N<(T$.!5Q H)/+QQYJ7PW,M8 M"8YB#1HV424\'6M)G,H5#3%]\(H@3C6ME9#+3J4.Z5M\P_9Y$ VI#/7L'O"0 M[>X)_S3:,:! + F466Q@-9FW43E22! *_(7:GZ5C>\TJ[MUR8?HOAX(A& 59[N[P6SR4(_=Y8\ L>FA M'7)*W$)[((2>3X- LT11E@H9*O- %CNSH/ ]$ C-3_SRE/_UOUS\<(7VV^D>7WY/).2JS80%9*G2 MR6U(JP+9)[&K6V$:"/!TQC2G=J32+S(S4_H2<&,"IMP ")13YW^1N%^IIR+R MF+?- 0$83]VCCG'2AR46N=.[SP8!['C16#_34N]F(L&JWP:!:(Y15O2L"(:" M $.B %V>OEB_!>&59T7"6@,=IINWPM8[4<6DPI#SQ8II 1!NB<'V*>;!HI6! MD$]#V)(C"3S&7(F4 \,DATG-\IZ"78RO&;HF$DQ >55:B$;4V&'XDG6T_']_ M+;""%8K?2[^AOSABL9P(EZGA_O=T1PT414'B._$;_AT6/?]B!P>,J^___KF)W]E[!K&K)XYU-?0L4Y0ZJ__.>?ZAOY4^4 M44H!?^(<>% ]:UI;.,AQ^Q:B'8,DPJ#0DXZ0_9=]\/Y7![D$BA_(7_Y,_O*7 M;Y'S_Y#XRJO@'85U[8;BD,5?5G_/H\(1-L7+S2CMJ?+KB;;$[4Y\.,]IO_XU.PCW6QTVT MR52=*^Z!^&H+ATZ*3VX(?P.;U5&3;[!:N8&[NW3(I%LC05UY\1?JRKYB%9RN M D=\>^2S)@7@V?J6F2M89D,+HD7C)]VTI.E(8\.\L88W^WV'S7YO9+-7I'A1 M^!Q\^&U;+8TTL5%Z>;8AS95!T^+S&TW$___27O_WIXHAY&"&1__P3EKZ3"&\D MH+XCRR._2_VM]PP%PBW2_>&CBQ ="1T=-;-GBH]__&VM^!!87#.\?%H[7AI& MW@PSWY\QT[ J9[CY8:VXJ1FQ,WS\?:WXX-O/,[3\8]UH:=CL,[S\N%:\B-T$ M&6K^N5;4<-T2&5;^XXR5S 26H62U JZ2#R;%TH^K%7M;'#T9?E8K_DI\2AEN M5BL 2UQ8&6Y6*P +/6899E8N"HM<=!EZ5BX2\]V!&7+6*Q=7G(\9.E8K"S<= MGQE*5BX(BQRN&7I6+A37G+LI5OZYF[<-$E\>0&YJ\!W2'%2AQ1(##S7(07RRL7[HQ??2AS2,2+' MX^1)?3LK>J4X35-D6; .\N(H^TD1M<,I$YX^'X*Q?@_)(_^W?(0Z>T>7UEA>,+WJ]*YL0:*VES# MIZ)T'.;/H5F:O&7CD@G&@'C('@NZ.1GI\$8:VW:YYHKO=#X)Y>D&B4N]^&J# MS!2FFGPU:I4G\0G0\A^$?*I*+(D MA$-MMD$>[:,H:W,IEPZY0TV^B4?+=;+&#BF+J4B!XC>R=:8QL)2:3-< DL\Q M]X@XCLO4W0>,[CO_RCJZL>65KK;H!6F?: RHK$8<:ROR;'TK/6IB7MPV"R9W MDU\CI:DP5$<5E='<5C\'@?/A>O6*)(U?&]O@(XHMS/N=K 0MEI>20T(;(6#" M=FU7A&"%B>88;4TB;7W*)1,@:%AM;W=CH+%-2ZK3B3EHRR23FE)&TK(^G?7^ MGDV=J=,J$ BNG=(,7^Z4.I3N=6,L((.5LJ'*K%;GTO:R4:HZ8W:/?%M,)K(9 MAH4&J;0 XNIQS6$]K6B&?6WJSI9J)T:^5R-UORW3+:GD%:ET!U+S0:P(:5*: MXJ-U%=AIM\U7FSARW!&KP%-7CX:@Z_1:B:Q?J[KZU5T%LCJ_ARK^FA1SGQ:- MN=;GL:O#:$58DW-]F0MJ%4CJQO";KJY5(&G(&ZGL;%L%)OL^F.HGL HT=GM* M[[D.T111WR\:4P14_,:K0-N0E[353[TV#*K8 MRY2,B18:5PZ8^!$ \0+KIQ)95(@E7.HJG72,^1B$VP'=RB&?D M?#7E$2Q9[<%%TU(WZN%%0HR")FA$-,S0*@G86061J08$%*6-SL2D? ,;%F:] MR(-&2YH>/T%85U938'SZ,U50H$,M@0=Z&&\H=FTKCYB?1SV!Q6:+5N.!\ EM M0[IAA[H]'U!(RQ0)0%.<# 0X5G!ID\1O^"+^NZAH(06J,0D4,'=1E'0"))T M"@AQGRK561 R8CM>'969$,!2O#2R&7# D%X7T6@XVV^_*%W;N)#;O]BIB2G0B+^,HJ_#(ZD0;K_QG2]6^#LJ;4YDUQ)/, 8$<^'FI-5R"J+1!HMUO",_0;>8!_'BV6Z^ MV5Y"6 CQ;N#_.>*B!'U6,JCH1IC!IEMN.3/^6,-;)R%CU . PG?71M%3X(FM M#,()QH#XBCEWQI#8GAUET\R M5ZP*^7A#'L;LQCFX/FVZ2YHLR*%IFV4.G#"((DPN.V$-J_((&*^;RJL&\"'H M^@#H9BJWF#U0B\?&^0V+,(Q3Y)$O1,&(7"?5(7@,IM-\\_4C,ZU 57L L.4B M>+)MTZ61AO4$LH=,0G;]!.^M4$0OT2X(49Z!@Z*;;YCO8)?;4:.5<1JM6!@57,J*,@!UJ^5$?!*S?=K@(YO=A4.X=:-M*4.%0/2_88 M@9$ @],Z<"L)IE<11=KI+>0X%%:1HM^'GLJ6X#.2%-E[X_(M.^^\ \I&]3"M M(JN],[(Y?J@Q(FWG_7[6?%XI@O[C3$E2/UN*II_.W*W%IY?9(Y9M3^V J8[N MPPQ_RS;H#,>?V">987 "^P[,DAOEQ(I*?3/"\6>:7U'*PV&T0PL?-6JWJ5?B M4%KE')BB&"#;4D;O(0@I0\N/\&8)++Y#_^4QIIQ;BEHZ48[T,9,%$.J@M&! -@/&T]>3D[6+\%HE M+H ZCF9&TW"RC7!)5Q%;H(&@M1WM*KRA&A N9:S3.6QFDIW3G=WC/A#&TPL$'F(J(ITL@E#'R\F^O@8+GUM!7Y6 @UJ;X@HHJ+ M!;':./.D44-EM/GFBI0K^1SSH&#F@JB'H&W_QX!]L1KP4-='8BPOU*#[G':IK3W:7;>$18 MV7+M."VGN/FP0N=G_+/FRSYL+6A'RJ(F;2P8LOIK'<^P.1T:@&EMPMX0QJ9Y6]!R9U!E;80P)2>JJ%M?._;.O)4U; ]6-;>-CCK&P;2/W MG9CJ:=(7*Z=-*F?SVRKU6<=$!\9(6O*3%&=K/BI> M/=M,BXPP_KT$WX$"[P_6B9.?-&0E&!%>1$#T;==#E5?Z.2 G@0%[=_'>+T\O M$8$@OT4;+ >]8Z&RM5OF*)\RAKAKA#FG[?)Z%7&'F,\V*CT&ZEF"S2DFP[_T M$&*/A8P!S2KZ2@+>2@.@G4S::WGXR<@6,GDR-D(.+0Q(;!MXA_AIQIO#&GKR MZKGV=H<%37$(G?I\:.=ZY[\SR^#02'I@] M%C#9\JLF4SZ$Z&BYSG6J'66507WFA*5"I8@%]5S,G,QS(%4H_DW?95)] 6N1 M>Y<(T3(@6R:9)M?;(!24G[YWK5?7P]HPAXO**;CGFKIE\WPSC%V0?Q#6D1^ MC$3[K #H4LH5#O5Y)A]))[&929J&=!1=1*)M>/5FA7LQ%2K-A?8X8("?CU$2T2ME<3F"EWW7A+%V6 M-9O(1&_D\$Q7?+0]34E_GGR2\PSJL_*(UDOK[ZR>4- M^O!?WO"[AQXQ1[W!&H909I]X$R!87)<* .WS '$#7L_&7(A3OOSR58R!>YE$ MY*F)\.5]Q?(H.06!W+H)0T)V5(2XHA2(.=J!B$K"[BTY?)\$:)KJZ^;J7-$+ MNMV5+^W6'\0>F"$\NQ&^]?CFW >63TSNI-L+I36)D"";=";-;.2O/X+3$-7M91T6@!%GTSVJ MHF@#VRNJ06OB*N!<@&[!#SE2^\8?K")=>LP0A7)86=6COPK4JL0&U*(W.R-Z M%8CL'YM01F_9V;^2?@#]0P=JB%/UQ:^9'!4<]Q6L=O"$K^2![RY4SWT;?[_==7%&/;T2UG**A"IY^D?A_;7? !=18AA<30K8='#!(M>\3PK MP:QNR4)D*UAVE9FI1 C%N*95X%R3)"'EUZM I!Y)HDM;! M6C-Q=C0I= G&6P5QCO#L=PK[6T4-L*FD E'0X2J0W%4,F#K(<91#@,9.]+]U M:ZX=J)LYMT1A:JTP"!6G4_'BR8)"QS@U@(ZZKNP=0'#F.BZ45O.G-)YT)150 MIXLW:8EVU5I %2KY3BHVCH-3H%7=]3 &2>3N2@K\3FA3E@88KZL6\!3LX-MA!EUCI40@6FL8]%7?HHHNNJ^*U(J=0CLV>#GM&:T@2I8Q1NY3"-0]&UMQ_6Y%-\01SM3ADY]'&2!0GPV / M[<=5D4@4\;*ZF_R(WI&?H#2TJOCYS"YO"@;QHO$\/RTW676VP9QNZ0;;+K;R M=!A7N^-A5DUHJHA:_DTO+G.Y[\NG>5ULCF^Q[5V63H%4.4==Q%><#./ZJAQ9 MB_OX+&43V&\M-Z3=@[X@B_S[@$H5(>9Q?7,02I)%R_653C%V?7F[:KNU\CDP M+JO* 94O:PL>EG]'"[@_!X'SX7K>O&YDMNN-[]33,4L"@_R*=EO#V)W-MJG^ MSLIFP+BOO8ZO?(&E2%G3]:VC[RN*9R8;K^@JB_?6=J559B[D:BLA:?E7O"9% M7Z/8?V\?MTO)((9.G-X0R ^',).TR!$UK7IO*K#891*>S\EX[ M"..=EH#!$+H=J<@!WXZOU;&$%)D/5AB7&\S.[,:+H&@U=K=,,VCEYN],_;'O ML@*,.ZYZB%4C=P<\+?]RE]S2)'B^B*E_"(-]:!WF=:M9,^*6.UP;9+#A8;V+ M\M<@1NKW57T^C-O*/QQY7VDA1J8L.VC^;E;"-!]02!-X9W8UK=#'\.:[;[ND MHN'FV@O4=M1V/<7C@5S'E@.I),F)85_^$UF3?QECPM<1?\1]1Z3&Y,QDWU)$ M[:Y< " 5C:Z"*([H,;^2$@%9QEW+A1VXJ+E>#JK[OBSON^WR#UT5!HO00RB5 M7,*AV%X^NRFYL/-DE5+F]\S,[-?H-5:VIPL&&^SS4MY/ZYT7C 9REZ4'4^I)5KG+W$_FR-$U6;; RX%U+HY":*W0,6 ME44MGFJ##+)AJB"S$C>/;O0[*\9 _B;DN>(9!EMN?93H(<2L(<&[I"RR"VEU M7D9S;WK2\JK"JBI;^!K$OZ"8%4(B%@T%P'2MJAE.6D#R<^(ZM+%*%"7(N4QB MMI.-@]\DK%.J0M=[+1C20+<4+U7&N8JN--U05V?+J^AET U%TL=@%56)N^&K M^ZNSBC*7:DC4]N"MHBI?!YSV?URG*Q!GWF@KS E^)NTM9J84+CPSF+LK$OV[ M\?/*Y"=Z;NT&H^XKF4Z(?D0'RR5NW0<4TO)"^%IO7SUW3ZF1U',CIW0,> MLMT]X9]&.Q8LI802W5^!P2\'I%?WHK95"-S#<];UT?)TXKOYMZJ#FI,^*0FY]]U_(^?.(9%-.Q" M6:J***#[*Y#./=TWN@[("]3A)E;G:3:$/ED[= Q+4Z&MQ[#"'/ R3?=2UJTAW9:\&@ M[,'A8U 37U^%'J+,WG.;&)?/KA97)5&TC>_5T+KT^SO2\U'B 6/HK9 PV/UN MBB2/Y6OX*J6PYJCO+Z\@5NGA30_'V?KXR4["$)\Q]O+CX)L5NV:(_-84<&?0MK(#TS90M.< >.R M#R[P(T7*FBXQIW;7^3[/Y#[?NKZ+=4WW'34VW-$2J[Z2<; #V69ODYB9URSI$A MGL1ANE2)2C/*R&?$_"H*P!^PFL&,87;7:")[VN^.V-X?0G2T7&)JIU&4 M7>MP#E[6^!N^W95V^!5KTEC7QI=/75YIF0X P(Q*'ZQ32J+X)V&"RMZ5CD): MCR7--6PC!U0<35>@E:?#$ 6ZEY< M'8CL\V2L(M6G/W+5GZ'I\GO,V_RX!03GJ!7-OHQ@R-^)YOT-7:]).X< M6=EM-0#@;_S8=?+.]!!,8RP4X').LG6S7\HLC? @&:^Q2 MM[$WL:U"UNR'27UTNSK[':]TYAP?H7,!32Y'+PHWEO=/BSIOCRSHE^1;J^94 M:E@8 %*P*/J.(GR C_C/T"5I:'3C+[X;]\5'GS4!H.+F6<1NXRYIQNP.]!!)-+\/1BOEOZBK#IN\"H$AC%1WXM/K,)B-2;6 MM;.DZ4Q?0&2Z;;BW_-1/3?0)%-FA>V3(RF.V'<=EH-_Y-#N;_"-UYDXJ^0G\ MEOD^?>>K%5-"VQX1*U<4W0L2.[O,U.QG_9J02'9\&]($>>[6FH,T[T(*.R_? M6G667E$E"N.2F(+_58@H^!^_/I+*VIPDZNKOIM\2/T^R]MM)M_7%]=U#0X-_ M@E349SUKFZ#:;9B>CX +<8>-]*)L:N7->0]*/F:L5XT:U.[\?[VY]MN-CP6# M$WLAY-N231MIIU@V?\E M46:5A![R6QZ,P1&C%JW&=I3:*)ZJ$M*RT<,7O3(TU,2?=:"BGM+=P-'BT= J M6N;L1(>\MVATCB(&YNA786R+1F^;2)G=7PE%+[4,@PXIH1"-%VUU[2DD\ EO MJ44IM$B=,C5GT1&4?4BL"\)7CKQVTNNNMRXZZ%0'2LMJ\_(#2VL^(+6^6&"\ M0+V,=;D$^AD%^] ZXEMB>0*+G7CLI/;%)[2O;T)H%1>/A=-"ZO+TC#\G*7@K MFP$'#+(E:;50V8Q)">B*W& 48LX9G[Y:!Y&!FCML6H\9.B:A_69%:+,/$;UZ M]4T)*5]]KA:0(F3_91^\_Y5RQ_#$H$K_40"5_N#7EZ?:CDN_,$;1$%H%"JS8 MS2\)'=&BH:/OJ"%,R'=U/SB*0#\+>T A^8&U1Y]4>5AY"AQ +K%._X9EE]^[ M,>3Z---7L91%RO4L+8DGX@Z8-*2FC(1*(%YQ!QLB52&+;'>UVA0E/>M>X0TTS"ORN8.7$ M=ZS0B5Z.I%[*]W_[]..G'U2X1LM<# [0_B_=NZ\N?/Q/^.$NG1DS$AMHKE>P('_P@_,XHV8=\CG M\*P/RT-1VISI*XJE:../'>DY?/X(VI_#8M!HVD"#E7[_P]]^$N],;:(YQD0; MNG9D2](Y$S(E*4FH332'>"MZ(R9\_!^27?F.KQ)YI>(K*PQ/F%IHO6/1 2C- M'>L>XE$*@FEYV)0D(=^=ZE2C9'%[?7>%]T6J6V\.A'E(R* Y=J3WBX^OZ+6CN8-Y(]-2=7Y8O7;S_HX>$+#YMKBLZ MO@$KS@\-Q&6$_ZX;%]FRLT+(W8&TG \Q[;-6UAJ1TEC:?&A3JP,N"T61N+V6 M&M_4P656ZT@K=DTM/E9.YMW*8UW5'4M+I2TE3S+!5]EGM6CB4?>#Y6$B0K_4 MHA&EZ@"3\J2*KVF-Z!(V!)-R^T5CJJL_KXPUL%H\=L2KGVRLCD(WVI MHGJ'D,,*,+46FYI M+YNI6A#(\O-BAQE/:U:P9:.KWU-9#HM9/'Y&8F3KP6%/5L8)7%I^_KFB#L1W M6H^!'@@&K=[J<\\PLS$R]P%Y@+J^D1W-KV-@;VY4J"7.+T7D/U;/[20Q7V/@ M:'7$ED=3IMC\<=T4UXKZ-:)).^4UPU93M/YSN05SBEHYJ4FVV=2R:$K!D!K= M^5E+VW0.G%HY'0*;,836'JM/^[R!!H6%5Y9!:8K)3'4:V_6$V0_D MF>KR:<8 2M'*.M8U-]E2TT-U-LCS:JOVT#91/2&5;H+EW/(]TI MM[L:C2@3F<(B, _DSK=#9$7X567_Q1IN-GYC_Y&X&(P[/ZL*>!4<7EV?4ER? M@^S]+9BHNTH."19?W'=T9<7VV\NQ,!0\!^G99Y+A%PPOK:;X$&(5#H/7!W_# M/@@3B;D@F#44ZX.8YB*ZTW5E7\=DC-R]?T5;K=NGN\.Q*2_T707FH?4YHU__ M <2/K2**UUQD+1+OT@,I.XK(9>3)D;UTQ*D+W[GAI9\0O.C RJZJI^KE77K* M8E<-HPUO)?8_!LJ.M)/H4VR%,22JZ_IZ"BN.CHF-&0SE$LM<:'_,00Z9,=IV-GB,K>VNUTW1UF@DE5)7@4ESV3 MG6[\)AW.PM7WB(A 0-RF**0],;!JLWWU7(;WJ/0^)9;GG?"3='#C.)<&HEFZ M!'.\R&"_^79$-H;TV3W@(=O=$_YIM,.(("&4$N>AIL5->^7Z[Y_J$22J0^*4 MU/P1T\A:J@MS\#&U^=(T?@ VDH; #QPTV?$\T-=1U*-!V_(P9!:]STI9LM'- MDY=N=QM@-M=UB*NP"^M_'SH?Q1G3IGG+VNRK (A>ZE^.JNZ9U5W MO>K-JE5/ MM9#"0Q@XB1U'&]]Y0N&[:Z-(2 KBL9H#NI^2U\@.75;[BY0^0*12 B+?38[' M((RSSXLS0+HN85JXG)7LK$93VS#%L8 9\\8<:.-Y+T2M]J>F5[B@T_"(2&GXQ7:A-Q:-LV.D^Q?.!P4 /?D#H32LGJMTXP!1'IFQ"3B\!CX M^*)+H>"/-5BLZ' @Z06!_3O7S"X>9XY\ I):3PO#(I\4F+T\?;5BFOE=_%AZ M(]07 )DNC_Y]9#,,,YJ2Z40&CW.!?R6.V525^DCJ2O =S[5?COIMKY8W]Q# M2=E!R),7)=+%1MH@C%$>O(XUE1U&PQ4X.NZRH&SRY&GH=H=/]#&!P1UNE; MSDTXP1@0N:.G)@5$DM=*/LUAY+!#\' MY$4EQ(2UN#C*JORH@ZBR&"3@TTW)V4;[/,W!%J26BA^Y]GVPQW]XMC@F1##2 M(..R@P/*;_%]8#?*[C4XEW@&-#"D5"*?HYE"7@['/Q*+J8=YNS4QF_4 M]4!4ES?WR ]@4YEA#(P'ZT3[!L 9WZS3=L3G!^E'K2T(IY+&CS9I+9@FS+2<]$Y($-4F:C3$KJCVDL*'_$= MTH:KM+?VK1=\-$QC*E,@'451%O3.P7MV=ZZ5/T"90HN%T!)%X=\EA_)KU68@ MT/TU8^C+=B@17?^%W/T;/NS-.R;-/7J)T"[Q[MV=R,TZ:$G-E-YVRQXL%V_N MOUV_SJ&ZSH:HM>0IQ)M#$,;NOZU*\9:N&HQT-4C7O_1"F:"S>UWJ6CA.^0ODM (G5\ AB;F;HPKX+0UN^FS$HA@!87 !//G4[I? MY&)M=]F+<8-1')\HK;%""2H7M^MJD,"/'L+@EH1FI7%\ZJ V9H($ZRN*F87U M7FR149\/Q]:4QDKC9Y*]C:K&IL8\]7G1-?JX-%3XRX#T5%? M#4:,F)2N67EQ<*6482;VPUZG#IV)*&*58;,32" A>=U)63 M2.?(P@J!R4+VEDY;*H%^961U9WM+Q: @TC!+E:M%^RWZ'G)#"#-$5'"T5&)0 MXB7-V]06V+AHJE&PKLD"(JMX% <9K@*'2@&*98P)9(JEWT^5Z,<6"5TIR' 5 M1*<!+H6 PBI/DP;N+?VFMJM]-=J2QA&NF<#$SZ9BV.(JD->2 M7-IFMJGQO:7?SAY1H64,=A;YEHY/'=;$%AEPJ64T-*H1TB#@510#ZBH?M\<; MKQ5M+9(P-P)Z%;C2P>JDHO08M5X6QN@48]D7736G*\OK%5._"@P.N=$UT_$8 M58F6=G<;R0[3E7*:P37MD6(Q!O[>4?@:P,*@CH>WBZO?EWJ7.ST<&A)G MQL GN&NN@T@[&2=2K/YC[52J*Z-I#'PNDDIY!NX*2?YX)LD^>65C8&^1!"@_ MAA2-_UP[$:JE!HZ!+7!$I^'>ZDE"3+']'PL7V+OB>UC68HK4G\XD''1/=,Q- MMZMSDDHILG<:9H;.99O"-3!485IGAL%EFQY'%"7;Z(K*LI)8X&C9RK6&&$VU!-H,G2VUS(/#,<%" M8M:%MK;3MGYA"G/'KT?9_S*3.!0_SIP,-L)WFG@-\>"LV3K['5;(>01K;"_G MQAO" %X62V(!\_"0+,GGG;CGD"J$'\;,*%NC]2H MX>_OD16A1Q(LL-V]1&SJV,0I__@B"'*%M;0_!X'SX7J> -[\UXLXWPI_W<9O MPM=KY(\"9C$;VPX3Y*0U!LC+0[>< E$:/S:[4=\(8&Q6>>:$V!-_>$D7N6*3 M9B9ZM:+$T^QA$:AN*F)C?07P/6:)I5>>Y1[&OKGE3\' 2&E'BA0R]M=@N"G/ M-8;/E4WGG:RL4E'E'&HP5M($SYNR5J0/J,>R/ER="Y^="Y_-1\3ID^]]+H,F M;2.@XC]<1;6JH0EC$_DQET[5W1_TEE+#RZ;:R=+#ST76>A1J.J?DF>68YX,8 M7?.4.-[/U PT7!S07&<'2J1V6V(_DCJ393KN7$*,\V#Q=N:/"]:828HL*+\A__E8CDXM-^Z RA>PSRH M=_XQB:-[+$MZ/T@SQ&0SC$?.@D_PS7O$N/93X"74(Q12OP$E&B*M^*0VM]7PE8F(3==G0%'HC,IZ:#R( MAF [WID7GS*&N+3XUFT0ME5KO,6R/-ZZO]^0TER\=!,]:QI#!;7HJKX M5)6U*+\X.C9$ *KJ69@3* MOP7$C]!B[:VXQ22&U:4G2'2PQU9R(E3LG:O!71?K*!>+/)OC:K/#Y('W+7;# M56!M+)NCL<3N)6.X8>7C5*3O:Q1;Q5FT^SW+&&VWK:T":2H6.>Y3I(VEK O- M2O;"-@E*(CRL4982.-!;L=@P::Z"%.$GVL\"9>>T3Z-BIY(^NO1TY*FDSV%^ MBE70O)KPV=TML@[D::V3L^S YXF9JU1:77SV_YBL3\J<3FB:((SF<&]\RJX0FK*,0 _:1:(B#&J 8! MM5,JURJ:MTR]>K.PSA_=^?DP_#.Y]VFN/5-+^^>8,%HBE!4GFP\5.F>>G',/ MS[F'J@">+3/+0:!Y\REY;RMO_X=B(FPF[GE''YZSMZ!@+MS M]@Z8^,EEHVMQ:3L@K_.LW5-:C^=(!:VGV ICD-=@CCD3<)G*.7%BL8D3D/BL MWIC>9<<_GQ,FYH?H41Y_%5O@^48L(,I]R0B?\F:4#+SG8YI#9/$Y\!OB+9)' M%I_/#*Q!X->_CQ/_S4P"-WZSC8WYJ-6LM*=FMM@02/97F0AK*+1YS"N[Z3LBCR&27-LAX4\XQ2ZK\^]?O@G273MG?^-(-PX+?Z/8UB&;F.KO MW5<4%[>/\\M9VIMN7=_%M.^^H\;[_L7Z+0AI>;>OUD&NJW==Q5RSG22*@P,* M'Y''[*IO[E'>1TLV X!%2X)Y-2-7ZP+F0NW%.[L\%60E2\CJL()Q]7L%QAO) M>;39NY6F @3L)4*[!+^Q.V&2A\I4[3VYF/S\%.SB#RPHY&T23K)&7"US "(_ M^AP&40^*8M,,-K^,292/]%FJCH&(^XUM)X<$/YK(V1R",';_3=_/[JC,0R& MPM53U*[48):)KZNP1W:7?"OA%UU$RK68W#28=MO/8NG(["+:JE%D67)\IWFT^>UTQ2;:]-XI:PBKLI*.]."NRR^OGCIEJMPH2U" YUG3*=<3)ZZ#,[;/2$DR" M4[MN6_"LYKY56N3LVSS[-GL#5I9SFW$O I!:)L&0'WJ^$&7YH1?77;KA:._H2^/%;#Z)7670FR" ']_P1:,%!MM:<0,=?[AY+ M+%]M1N#?!HD>AI OIKN*A' 7Y,-VS7&XV6']4P#7X.4@'JO.H--E!X,L5GD\ MQQT"T,2UR&6KL,=-@^&FB+?VR":-R,U%QG/8DUZ<,EGT'*FC%:M,%)PN#F5& M2!TN8:=H_<<9K?VCRGX]X'G.B0T M\]+R+-]&3V\(Q1O;QE^)HT(ZS7[RB&SDTM*N6.3%TZE@.^^R$67 :3(:<@K4 M12VF2\7)YB(>&N>&C^DJ"GH.8>E56X5^V1]Y2M=[%6ID=QP.83DCYGHL *D=.-]T60JFY,E'_,>O M6H7*AQ =+==)]4621+.-WU"8XC0UH\Y1I*P"EL'% ,J@D\N5758P)I-=I\1\ M%43YK@3P<(?JKGK"<);E^&*DW;LVI2R)?-(^27=9[3>LT#^C\'"-CD'D-L*. M!8/,5?!A"+KS\:4G=UE.L,4P8QMNWA3!ECD#36-9=M_[!_X>$\MAQ@I957:PCBX^,???R$EIIDHLRG'+0U>%(")_#7R; M70YEL%5GP]!+5]W'E6>ZA,!WQ]#S^0 AT\06?)_(P;T!!4CKF M=I(0380 5!MJ$OB .9%#;LT [KF(R> ?NM7#T0M. M"%TB'^W<-GMRRR3CO7>O@L.KZU/"(9Y83/AX6X1N77R)4WI*.XK+ 1VPH#E9 M]DBWY._O24-[14!;)IDFSXTZ1,H/RCI4U/ZD?PT M6N::%>>&O5'&&GX4]%RVI,((93'D;5. ]#80K3'RU/E-TK5:;NL M90QTP2;O6XK4MDXS"- [\A.AJ3S_-32,2_O:R.?HSE@K,SYQ\W#>,&A(E71' MDLT !\:!:JG;7>EG'<'BK0 COD?U->&74>S$L!L,G\90<#E9XVNZN@L,QB=-N09=6Y-H;W[EVO00CD#MS MEI: "B0MZC]_K#%1N[(=E2V;V^J_D+M_([5!L2!E[='7A @@VQTEFVB;Q%%L M^0ZFVY2\2MV%R*UL.19-BX-'#KV# W' UC &ZHT5^G@7.U)6(DJK/=U*>.S(VM> M";[;N+B0(E>6GCLY78J?H5'4&JX/ML5J%_=T&L0&18=*"X#CSE\LET ML>!0+1!%RJX?NP[!B_N.&C?SYIOM)0Z)8KZR/#OQ4DO%XBP4 G0@.PEIJ$J& MAUM,BA6;39W"U'S^6CYB+@=MV.XO3_P%)%[8,;\(1GF:G9[.1^I7ZX"D40JM MT\R=2)HK^!0']N];^@QP QO:QP,[$^6;TO"9Z+V(]^8#?P9"P!Q$XV G75MS MG,Z+_XXB_%@_XC]#ES2/HN3ZXKMQ) [;49@%0QPJ[V]%(Q(_<:LP%TT@N[;SCO(1K9-(^PLD&CES]I:O@O#!OY/W)N)# MP%T,/O=6%N26'UE32Z.Y^2/!0-[Y-OX(1N2#9_FE--W2*[>Q\>_QT'F:IU(C M+TE1/I 4K)100\O?(]*RZ_)4#'FP3N1'FP\K=!CLI:0B]1Z6XW[37!+/0+ ^ MXX%Q=.=CMN4&3LW#07]Y;<7HUG+#GRTO$9H")][%;-%=LD77H+SYAD)2H>0! M\T*$N8*W"T(R<22,]]C(TI%N%M,S1&^;=4W#PO-#2O/4R1VZG>HRES^V!.0Q M)_OX>$N_ R 9MQ6H2 25FK-NZ/KF&E[DGESH>B:1.7<^5L7\R+7'%/:4/@T7L<+KH2++:A$X-.X +IH[P?@Y M%*:+X5AZ7.'W)B81TS26-=MP$5X=T!'XH2\+\T6;;,P"OSZ]T4@>%HECH\T M$SZJ*F;P36V&\B).5NO'',AV>+]M@ MN^M(QY2];VNZ.KKME5J.IAETL>S;HL"=WCSCO]XQI^2U' 1C3;GKV]N M2%JW1#S>& B$H%KKK=0&:2XO\?P1/+\%283O^\9WGDB'B!@AOY)G_I"$]AMF M%F0GXI(3/5&F"MK0[D0X>6!CW$J)1;^6&-;QQLY!#X]>FDEGN:X M^84!-FW?^VM][QO;1A[IO8BO&-]G3P9MT%(O9RZA;:V MS^GNYDD_0Y^)3)!^1!$*WY&#/TDNL849U2:) V*PL#>^GQ #AAV2UN-WOAN[ M%#!N.L4('Y@?^>"-$T9O[?%;7#*0,97%^N8>DH-N$E+YY+G6J@E:($]]X+@[ MUZ93*)F3WUI>>24BGVFGB0Z?-MC?MEGAZO'I14H?\CF0N"4-329Y(=K99+&R M9G@Q)Z&F:OQI2E$<9(O.I_M\2&=UXSNCG%2VKF98B_>RM*LKZ^CBZ\WV6]KB M;4)2 .64X_!>)WW[5S?E5!?'\0M:P[OQMN"$7%<9 ,20) M@!LIH2<)2Q:?D.71_66YHA6LY-+6H(=U9/R.R4EJ5^F(75E'-N>H MCZ/(VCH&:I=+W-/$'(V1F >/W$<,E^S67O/O>F67U(-L*(N(6_I M ?UCW0>DB26U!--EN-;+EN:'[8G%SE(08'H"/ZX;_P.IO4>88H;WY3_(P&@_ M#ZI,3^"?ZZ;\[M@?%.:9(OT_SDCOAG0]$:@I]G\Z8W\ZV;-SL&MFO3^+1'!/ M2;W9QJ>S_!%5'VUX1]1U?PL\HE(C#'CGTVES"SR<1;P]O_ZT MQ*.IL@[:[Q,*'ZMM9LG^C@G5A',?ZC%S61:;K+6ZO&U(R)\;TQ$%F2S;$SZ3 M7(!EG\(Y6_?,@[AV_G-?4I#'Q/$6C-B^\AD:NYK;<36M_N>NE&:RF#0G5X)[ MR&=[,]2C=;4F_4'5P6=VC'TCK[6FM"T^L0J>2V24!*WS.4[LUSDG? $\PDXN MEE&RQN8I3@([1KFG:,(\,L -STLV0"*ZBQ)7'I%-\.60I%;?(3_!H_PH\%R' M)KUD!?>B[6Y[)#6*"?[GF;21(R0O%X/"=]=& CIE>3_X;]L=0=+>=_^-'$9Q MU,6@%DBO\UO&?+Z8LH(#RFGA/MVL),1>-@.:ZSI'/E:)KSPKBDKE4FY=W_)M MU_**B] 2@*_Y(^8[Q0TBW,8#(>HOI^DK:VOJ8?3^2Y, Y',,MK:/8OPD6AZ* M6EK;U\>98UO(P\OM,>/X8H6_(Y+BFU*$O$5SVS230=(("Z=O>&O7Z!UYP9%0 MB I,*C.-@?49^5A \O#>-L[!]5W"P8DXI@*8VEP@VL*8@E19@9"*'>LHD#^* MQ,(/?=%ZF*LXG9%$I '5!Y:-;P4U1(%]K*H5E)+D5FT)U9"/5H&HR1XU[4QC M%;%4G>FX76@^XTW@\6^7S5?1?J SZA3E_^D*W9NO$I0*H_@>ED)3-H[C,C#O M?%HXE*)UCB;E:_0:%VX*F4&8-]*<#023E1O?6K;K8>J36'$Y XUMFKQXVYWR MUH7#00%P3^@WE-K16J>9JU^#:;JXZFUU:?B#@=P!Z0EPAQHTGKT'WCMFJ=5M MM9C-9'.,$E#!%-M&1!-\ZG"GZS/[@D6JYOXY>YCI?FD=W9?# M\8_$8I_<[$-$GV(NT;0.U[RS>Q3'I-D5^]A3\KJ3D;32%% DD;9\N0S",/@@ M=] ZXM_$IPZT(5P"%*!8SG7#7K1?GZF9PNH?8U+C%RM.B/3-BJ(WB4QA%BCT M7R4A46F&T)EP"1" *@!BTD6*.1**8KFCMS[*Z--;BX'+]O;8O ^JLV H[A*M MK&+IY*@22\_>;5.BROAIUU>6CBVY@E/&%9?DEHX>F0I5-2E*-995N!=:5)VV M>]=0*U:!-%6+2=XL1*KDK )E:JR=?W.7SJ\4Y0+Q&[GT]N)M#%U-75^%7VT@ M/Q?;!%:(/>%-%")YZ=VZ!U)7PQ S!KX )A0JH$W9'K2*=N0#Z4QL<5I%K]^> MV%M)H]T.V&G8SE;1F[4#@EJM==.U]#0?4T+:/[HQBR3Q2;(BB>U"ONVB$2)+ M_CHA8%B6CM ?"0FW>A\G3J8!C8-VKN_68*E-&@PA35;-XZA:TTQINNI;X&&* MCEABZXMO)0XIS&0N=S2/ FMKX-4<:"YO*-N+-%.U.LA3_:EI2R^CCSI%%#922)J)+/F2_A_(J9H)5X)GM?-3B>\ @: \TE MO.:OTX/EDO(!K!6S] ;(YYC-"X^V21S%EN_@UTR$_L8X@U%@6 SPD7-CA3[> MB#R753#8++V3YMS(N<8JM[]GB0VT? ?]75KFX^8;"FTW*F00WG7HM(ZYVV+; MR2&A]:EI,1/"@T+TA@4A]QVQ2'/YS5&>#^U4V:71<*RRA M!AW*8)3. PD2.X,>,*43H1$G176>D47&/*2[)S5T>K =\5K00&Y\Y+.S3 <% *8JV,X M6RVLB5P3>N':)MMTXO]#[)[(^<\_Q2$EU_2'@1^C;_&-1VT-F$6C/?F+R *? M&ZY=/_ZKXQYR [SE>7R[N]B65\D?KAG/)';UWICX6P,3.\LK8H>5076H'>// MAXH"42M5(;.25//_&\8LT*"[!W+] O_/3@4DP9'+S%V5)'T^NF:"B=2>-2(J M;;88NV< M.1H4S[]I)AT#[N\!'K_(W#IS^#O<^V[FVC'P\@- NNA@UITY2@:1BM0&/ 9B M_@X2,7([\1AX^,><\) 9E\= Q(\@$='=(#T&;OXY$]RT6ZS'P,Y_0,'.0+OW M&+CY"0INNAO&1Y'88:IL:G;T41 "3H<9W^H^"A[!Z01C&=M'P1XX,;EF;5<# M.HV\KH;L&@GH+>7$EU@(M9U%QD)T+Y,(HSPJ<[7&&=0<&M(IYGR?>25:SOZB MRU/I7VHM:!27,08P9W^2,%31: #G553JO7,P"W!W+G(V481BMMD0_\MW[EWK ME61/D70%_# ?$.NT_HROYR7>X.^MQZGG*Z!.F^T;26-WV^?I#C&Q=N@8X#< MW=]?B6N1\88M#[F#@Z0%2":R A8?[/M@C__P;#&>!2-GZX96>:_XC1I4GP7( M3BEUUUS/U[",.N$# QE#"L)F?Q+2]%(M#W]\;EF87WAO F@L*,5'M$A@;7>I MAK.9X$,6):$3(>/&2DQH8>E^742O^]P47IK!6FB]VW!O8>:9=6"Z1I$=NA2 MTBLE2][5*T/EG_2=KZ2&!2JW:A7IP%UF:I;YI%_EJ;2JLS3O\VM"J'6[NTJB M.#B@D(O"YB"]PG\4QB7!'_^K$/KQ/WY])%T5.-IR]7?3;XDOQ]=^.^FVOF V M<4@.PHU5?P\38R.EJK9L[R$,G,2FU192VW?$52;E8S5?SB\6D<)(=Q'TE!R/ M01CC3^*O[S"+H&SW*=C%'U:(2EULLAV)E4P-JYHXFFV8;D+ ";C#YD=#8QDA M,AZ^217 #K?R)=9PA M:.'(B9"QT&IZZRBD4SQ415'(X,N(@"^+90#6)$C00$K-/ES%H7*,,X.19\I1 M!7(>J2PM5-LJ7N7,2H?<#!I1K90ODYDS^I#@SC011 >RRGKGS)TC3\GA@.' ,+E[ MW]VYMN7'&]O&JY$X](? K5[9L?;YQ'6P.0H'COMEIG=I+P)H=U1/'9^6S9?U/(JP"J&'S,6^.A& MOU^>GO'G9-VF)3/@@$&V)&\7+)FQ###,N*&N" -$X=$*X]-7ZR#R=7"'3>O. MR],;\QY4]4T)+[3ZW.6!I)>L(F3_91^\_Y6^F^&)09?^HP N_<&O+T^UG9=^ M >?2/F"5CI1YWPN[ZTJGP 'D$JO0;UA,_+T;"ZI/,UG.E=!'](ALY+X32:RM M>BM_.* 3.>7([?9$5Z94$K)7\5C-VDJV^M87 MQ*KP!TT;Y%-& Z^8O6#0_$[7O(!/Y,'M;N,PZX24_W&'FF;>6)=^(H6,K-") M7HZD#EC9D,*2-BW+G$9NL1,+4(JOKK39WK'N(1RDH!>5A4Y*$?'>J4XV2Q>WUW17>5T(R,P^$>4C(H#EV MI/>+AS%,[6Y@\0+ M/!-LR-+V]:%C"432YC3/@^'5G;LS08:(>6C%QDQ(1)XXT!IL1-!2=I+/%=8. M$H2:^QTR(M2"OUO"#Z6H*#-6R)A0*&NBZCFNU?T7^/]!(Z.O3,$-#9#31QV' M,\%+1^EB,&(6\8BT.K1SO8P30P :[E;Y2AQPD,D3$N3,!'21-#4 ]MF3O8H7 MFO-@M,4<@,:&TNO1*P*AC"D^1F>"&-GS,0IF%G.1% +4*^]J6_#$3-'1*]@Z M?UX5HS4@YZWJT%>Y01YS!;JKZ7NB:B33YBDKJ*HBB00R\"-IIX)XG9EBHI^& M48H#F2G<1>1@DI_AY5#2!8BB*[OQKM$,AEF#2.0/+< T.G\:;M?98/MU3 M[8,TJZ+;:AQW+32Z=9JQ>'#!SF3=.Z533!99P#JA'?_+C=]RU2EA6J*\:H1\ M&DB VNI&M$W4G'13ZC1]B[GB)=J[OH_90>WR7EH>J>TK3G?JME E.81&8!W+GVR&R(OP\LO]B328; MGS5-O/.S.J!7P>$5*X9Q2>SM6C\5:X;X 8RZ/"J:/@@3B;E$E[7N[(.8YB*Z4X)E7R?] -V]?Y7@ M.^_;I[O#T6IDNO5=979);5W%W;)V(Y^*#?^51&::RZ+%MD4,EK4G)^* MHE!NH^PG,X+&DVH(NY*>HDH_"PC8'1OGLLP&I5X5X*UH!-F5P AVQW3_BG MT0[#Q Y"ZIK0^ %CMHG!,,C<'9H6GR]RGF(KC(F35N)&T?P1V,@:@@/@H,F. M"$]P T=4W5_;\K,UENEGU67)1Q>/@ZP$*QO@]#)\K6BN<4O(Z%800 '0].P5 M< X5&+K9SU H@=\.BL"9T5@!8J ;MGV++JM0W2;QSLXOT>NUL%6^-*-T;3V M'"T[KVC91FUR5,('T;IIL07#+N,-/B88MZH&F#W6[3 M_VP$MPG_0C-IXC/9H2BB+^E3L(L_K!!=8]"]X$BX2SMA=EM >U T/202V9"* M" \D Y8?^LP?:N!X+T7,\E(3L^S(NW\1\>Y?YJOAK"N2\]RN8$VUM;7'[1K( MZYWHW%O%P3R2I+.,!AHKK?Q )K)E)"%!'FC@QPG%*N3%F?IG.O-!(H9"AG44 M/LB_&)#1H(T%=M0%9HJ3WK&&0F5CIF&^G?G!Y4ART10UI3K+@+_,SW9>F,=I M7'I$OP?34IZ%RY>1EC '/V)XF3 M%(TVMGU",ML=JT9Z:]DT3ERR?^%P4 #<$P8223DE27IZ]63#.(BA]+ MK[KZ D" 3/B19:GRO2.VWDV[KB_7-/20'X<:JOY\> M8P+/8/$[8S1YAY^.@^_NL%I I)3/B15:?BQH5J\XR1@PMT39P*KL.TE-C3%R M72PS;J((Q1&KM>Q94=0L,5R#KNLJ!L\N1IZ':"SK0Q@<$5;+6\Y-.,&<)I$9 MX&NR0"1YL^1S(.D(1;_.[>[G@/!Q<@8ABN(H2Z)65R%4%H,$?+HI^6UKGZ?9 M>4[28_W(M>^#/?[#L\4^?L%(@_?=#@XH)_[[P&XK>RB; 0T,*97(YRP'E,%2 MG8#H7P['/Q*+J8UYX7TQY6J+)(_4G*O")4KU?FZ!7/+#6FG M*V)YS VL;"<;8@:+7 >QJE]8,N?H#5P9?O"BQC6J4FVMRGXQR?D1*V66U?YQ M22U]FQ3^:5,K>RXZ!V2(2E=T6D)WO'E)=2?^:MJWB#9\N_6"CX9M4&4*I*,H M:G'=.7C/[LZU\@(K1+O'MW)W*C#UI2,Z6WW;('R\6;^V_7KW.HKK,A:C%Y6NKF$(2Q M^V^K4GFAJS8C70W2]2\]EZGP=A5$<8<;+5H $I"BMX+9H'-+;"I:^ [YBR3T M1><7@*&)N2OC"CAM327ZK 0B=D,A3L/\^93N%[E8VUWV8MQ@%,%3H1LI@.%=((WVH9 M]T8\+6C0U>[(_]_>D_;&CAOY5X+Y'B2S22;)8+- ^YHUUN_9\#&#? IDB>U6 MHI9Z=-C/\^N7I([6P5--B46U@-V7>:])BE4LUEU%[8S;#I&(=O#R=]MB[ [*6P@@926F8]2'JMH>P@ #2,(U.,VCK35/DU,B$QY8B2H-&4_S6%+"C'/' MT:-K0,C3UI>'$(FIP$R1A]S.:5;N(M2N(6-I'MZB6*O@.*)4N3\%1YRU KHID#& MW^ A8_(BO"GP^'>X>#RM&F\2SQ' 8+QV9=\DB 'L9!Q=$S@)H@#Z2<94#TZ" M&\ VL(;TEQ<=3H(\@!;?2:6(DR )L,725K0G@MX![5J[&G(21 '4M+7J)B=! MB@,:MT+5Y22H :Q$*U1K3A(. J@I&Z_VG 1Q@#7IT76@RWBVYJG8[[WT$\ND M+ O?8G*M[K>-0_LYJ4U[XLFFAGW'H%_?MUG?MSG+]VW.K//[0CJ*FG1B$E

2G) D^PF/'J_Z;'O7/BSC?#G^]SW=@\ M>U@$JH>&V%1? 7R/R^*CR\@+]U/?W/:G8&"DM2-%"IGZ:VL'46Z(!'+I_]I! M%$8AW.R5ZX!S"*8.CRP/G5#JWM>6-FM+&QC](\ZK6-"Q+BUJT3;'$75JCCEF?6[F"E6>4YM'V:,9JZ-#N 6&P,N0#H& M-,^D='^N0.F9%/_;C*B>25^ .<.LY](]P%*4]=QZ$!B/K)Y+;X)I0[+GTL5@ M\C"N:P5^C_B/?QVK_)HBOB]8$."_TXK931"$)0RW\994$I._V*[B:W;:.HAJ MT\$].4_,>S'L%UX69B]Q\IJAE)KUM_&AR,EQQZ2%E\>DE'Y5Q!2?LE8K)OVL'MYP4 "(JZWX$Y8 1/-8@?T[>/'98K0W M*?JUZ+\\R+M6@IGVP6)M35S4JC!SF6 !(L:VS&_^\7]#;!JF_DX?4/X:]D&E M4B:[PU98]"=A&99HAO7T5/!5M$T;_M!_2J*"1NF%Q7KB": 0[E#C@:KUS4V2 MRKJ-W6![""M>\=N&-,9A9=J;6=,:*JCK\&M2MC?NN&:$;$ ZS3Y+N_@<\EO* MKM2T"=%D^\#-)9J 2N/&7%*35:*I:QUVD]C$9%LT]:+J753VO6K0>G23< [@ MI"4-'TP5-6F[J:K B8SG:4]WO_4&9R?M?MZE+[ YN$WP[R++&;76&A,GW&T5 M7_@Y(0GJ91M1\2Z'$T!QP%_"?#?P$F5=-U'7I]2H'V47X]O83TELZPJ5_ZO! M0LU_>RFHK3O=,9J-S/%%Y]"8<:"B:QE&H/A;SA: 3>GV[V2)&_>2NU^R('.$ M=^*\ G>M(Y@0O:YK!A6./&NN5L^B[M)FWC.1;]41[ B?8YX,/8X0D4)2_!AC MGXDLEG?7<>3HETY(?*^0\:%<#S95+/LLZJ!GTJ1.=#X[CF5YV+J-*[EW&C0Z M=!4%!8>U3!@*!(0CJ%+4&J;$U:)5"$ZD7HJL@<\=-&X64H._%J/:*JV?0Y52 M,H(@8Q.06G5:^,IQ)*MI5?IQL.654$-I-F,*"U#YF5 ]@XQ0 "Q-)]8*N0(? M%&WR/=2040B1&AFQ=,<[%LP>1)LVDN]XHP-'3Z,;_'>\20+T,Y!D#KA6=2@I M.&S>%[S<>=C$R6[C9AC^-[$7&< #@VMIHGW$G4=IXEI'YGH=V5IHM19:G74: MON.E58M,!5TKE\ZMC,?)YT[-VK-/*,_+M&4IS9G_X%*0^%#@^^=EW*K1R3ZW M& 0Z4:VRU@JLM0)K.OB:YPPAA#UG5LZ:X P%@ZM/WRD9<,:9OFO6ZIJU>A8I M7FO**D1L+D!0JCAL(*?8027H-6<1'$VW_&=KFIY[.680,VSJ]UR.;RSU[RZR/-FC]!%%93AU%Q[$3?Q%,R">VL7G M$>.B5%B-%0""^9*A;8&EY):;Y:8RU7CW]%(>/R7;_,-+4=-,[U/4,ETR!R#R MLY_2)!M!6.4TBP^:Y"3L([SMW3$0<;_Q_6)?8%Z$@LT^2?/P-\J6]$^#MY#I M!O,E1C@$BTEE\-P;# MG'4YZ:BL;"^47",$;9@K1.+&Z86=9E,B70LR>D9XLE0MA$X04D>)@XROT\A) M>./4-$#0R%'+>M17Z!5)B7U;'7<2G<"=%#7UY2)HY'VKE7[74WQ.EVL].V*Y M"!E+*5P3Q?7LI!.YCIHIM%PDC:6GR7I%S=D][72^,S33%A7DV 1!6&[^-MXF MZ;[LS[H&-Z8.;MS&U=F?$N!06L0:L)+=*;K,=5>!"JY&7&?,2N<)MOTW@ UZ M\>;9<%LW'$:V.=N73#ICEZ0:'W??53*2F;>1-HI3.((YTIYX-8? OTD*,PRA6?G5^47%LZ:UD#O7J7DG]FU<\6-\C$HC!>+YYCND=+^\H+>K0P MAD%#JB#9130#&ACC:<-^U@8/SWM,/GEVOVW]F^9)L59PUC6A*H+8;@DM+N^X MAV(,IHY"89G \QJ'L#@Y: PH)<@H,/ONX0MQY@@^1&DO)A'B1C++B*2-$9JP M M(6T>IZ'$O5D.NN&;-'.Q;;XK@7'MIC %MMB^SF(TM#\"R/A$6-9/;R$?L)4"?MON+3_8" JMN MRB\"0Z,TR5\ZS1I U_M#E'PB])0G_G_NJ200IO3SQR_M3.S;ZR?>H%+^3W,[ MJ[4-N[M>XG>487G\B/],0Q*LH&3V@I4,=J&)ZBQG?1&FE0"VS\*,_%R8D6)2 MJ>AD5$\IB2&?@8+UH\K*V_@42##0V%#RK\R@MLEI=QR(/W2?YI\^&E@YSO#S9YA4S!L_G68G3?M-95/Z$!^;9;5P^@_ + M"M]V)+'N':7>&Z(_7GDY:AY^FPBYNKMP%MTM/WX/RNMOV*H+,_2 A1O"@B': M)BF9.!'&1VQDZ4BWB^E%H)>0R\U<=-O^V!*0][40.*O-?\=9E-77II$7STE. M$G^Q64">>II23BE]&BYBN?J@BA@VPBL-[@ NFK5@%#T*,<67X*)-1AN#RV># M0/4V80_9Q%EPFV5%]YFS,IFDY4EHX.'*:_V%W*4PK$UL44C:I5BE,=UMP$6X M/J 3<4+6EYR-I)ISN[%CJ"?[K1SW_L_BGNJ@?FXGSID?T'@OC,E34W9+G.MI MB=G51%Z+Z#8+\XE+!':8UK;Y#A92[F)^/YVQ\ --W.YY1& .%"BMDD^M2)NW*?@<"C!'>D,L;Y1 M#59J'[NEMDSH)8DQ-0CWSAYK;>MX(_LDIDQ=V&MB.,XN,WB5:^:O@POJ^RC" MIC(VF7]&6-2I9"P;_<[:6>24A$",3X+BW@42M;T1SX&B^0I/@CUV.N7QJ.\- M/0!*.J/" C"32KD*+I^ZQJUFL>?LL/+X\>E%2'_B.7 50IZ25G+BRG&1;=Z] M,"*.B)LDI1$XT\X@V><,7V1,@=0SAR\=W0KC]'@'KC_?=']MBJ+[;4O3P)]' MZ3L*,+K(/2/;VA1Y0CR/_B:."^*)]%.$=WI+'*3T4)A9N!-\P#W2QQLGO-A[ M0_?;EG>\U.F\;^&^V)LF?Y5/.HA((LJ2(-R&/IU":83\ZD7ME2Z3S#@_T?DT MI/N)-;&4YO :OYC'E2'!>QT'DT!;KVL8UB.7:^WJTCN$F*[*_;:V6+W'6VV4 M!>(IRYF7B)A;AWYS43J('P^BD77=8WVU4H_5@H(ZP^[S'4J?=U[,S&,RS?YT M/[]X!,_>[\+X_AQT(Y$_*L?.(P$O.ZHYQEU)HF_9"[E$=%T4L,FH>OR-%XM1 MF[P6MYUE<9M2)T9)\+Z#-WZ4V1$\B-HGFD#$8GH>LD-'3?^]L1%RT%A1:US* MBI";24X4A5<=09RP/:D-S#ER(95(CQ5W;N-O@32C![(CARWGOL(8>!M^1L39 M<= G+)DP&^9>.IY/R (ZFR[F2G'T#C;8%QLR)D:\,& H49K%Z!?Q&H T6U=@ M:TQY>68L)E6W+U22*!Q'QD0R;VR"QM*Q:4BR23) (&,1!D^72,]SK4.5*[*3 MY.HL'=TGWOH1*4&0,0J# _1<0N=:99Y,=)O *0P@;S"C7M%,I)\ _)N04:_Y::47\/R0\Q<_Q2F%\Y";*=M;AU M,S)=:TNE^K:HZ'%5BKUL?7)T;5CEWP"-J=?:&=SY:FUO@X73IDS[\!.6R]#:SEC*OIEX]_=?/5EU2#-D*VZ1I*M1O*7$2>>QAG^.#6]%@[:H>E M)!9GTV?A.<#6)%R;LL/2^3B;S O,^[6FL%J]/7W?G&M): IO([:,.&*H\A+P M'I%/J"<@^>UX;S$=%6=)% 8T>:^N+L[NM_<'TL*%(--VQEI3=X_2]]!''*HI M$Q#Q?]UO"91O4^.&/H*@%PV,R"IY;69_)8UU.$[E>Q1 MONJ/L\=<4(27>]O$ MP1$ M][8)]EA#(0_5$V5!!3"UN&'AA@G4D_8A"(4Y9%2J-+N< MGH;-5O1 #H$K:'T*=+60R+:2>M5MISI08AR/\FFC0*X4.1YXT\:(DE;E>#A, M&RF*.IEKWJFC8^HFC+W8)S>AE3*P"8*PW/YM3!N!4219=BE=H=?\Z#Z4N89X MHZUI]]T-B1PTK)'V[-T485JX\?PPPO0M\*HP!EK;-#GN^ZWRUKG#00%P1^Y^ M*O292*\EG=1[>QS> M!]59SCKT)<9-CO1+P,7 J.!_P4T*'L ML7#\:8P3*8/O[7"\0&\D7IRO?M. >^!K<;RP3-/[(/3;& S]^U[D%Y$W1V5* MDP+!K"FY\"+2QO]IAU">O<1>$9"27$;DO[5CYM&RCXYLMSF^__KC'__4G%U6 M[,MD@]_C#^[9A[?),KRKBATQ56 O(TDLY'](V'*,-PT6*A71+AW6=E61&;535S' 55<,(;W\?4 MGF9DH5V( "Q44^VU6 MZQ;H E9+E*.LUGD=/& ^HWU(DP-*\T]2BYOC@R0'3E->OR*G()3PW?J&_A+F MN\LBRY,]2NLIGU^3V'?O3-6O:?5J59<3.P#A&+;$&G7T/SD$L4BU%Q%SGSLY M #6?.U6E_/';'7G;CCYI=+]]R1"=X1*($O9T56E,96;^L_>M-?ZK6Y"J7=-C M;OV#%Y*F#N6+>BUNY1+,4F,J#-U/:%)3_[W5TZ M8^Q5,ZBYU9D@J,VUF/2L9FX-$J$ETR )-\[B&V*KP!CH+TKRPD^L.\N>[!E M?B-D-!8;%:E>/$A7C>GS9^Z:-=)PX8V&C[ZS1GZOKF7HS,,YGF(;XC25&N M2?RX3(C$=J)=*9-G5O%H_G#8-.+V2WKH>49ETT2']$[B@MV738= M0!@T=?^5;3VSIR0*7$KZ.UZ*&_SOI8%$*;*M8)\L*\AN-W7<(6<_N,J&B*?\"6[[85/W, NLZV6<%" M>A=J.ND;7=??_ C?X/B-L"K\?T$[L.0 ],W95CHPNTTTMV^H2Z#B^YIT*;G7 M1H55_=,9V%ZA'4%U 7B4BV_OI"S1'3QQ!2#U%M_NL;F8$BE^OZU]?&WWGDOI MEC/+0,'M*I 2@=B[(0X!IB3KA!VA7:)5+7%'K:U%7%%% M08?Y607:ML9X!@W\P)EM_IFE0/8K[R-L3A@K MO.#M(.[?SQSH>&2[@L0E'[T6G**,\)V ROA"V_S'@+)HS>P:4G!W$R4? MX/@SQC/9&]9_W[%8#"X^7S*2C]88KQM\2N_<"NW2!>$;Z1]*2\WFZ1SPX\:F#=';QR MH+J-WS$RY;3D?=++\IQL?(SN%'$+5E@X 1L6X2#E^-RG[(+Y" 74*7N;907I M!EH^KQ ]%*]1Z-]C&DOQ,@N@$T6>$:VE./JLL_OTE;V[UKS*G#='Z MOGL*7G;]#:5^F*%@ :A0I(PG?/;HPJ,FYYXX8KOZD /M@TXCA4=TJ.R%^^U= MNS2?A8*%2I^+(B.09Y@"7C'6R++%Q.-'$L H:1RE[M^<)0H)'LI\@9Y^BUFHM%'/T19:OC$T MQ$_5RJ#F*H1*=X/$'A;D@V!\GTB!E M>^QY]HJ .!$#)AR.M@3";MYZ)D+F^#N+&JE (?SR9^9!S9R M,4# #QS+BG#VY\$"2B"L^_;S?XOL8OL5E[5]3$/BDP'&66"S,H MZV5H:YCG)F]Q^!L6]!447F,"5KZRX#K#ZW]<1EZX[X*&AQ5[%+3*RR5Y)"I? MXW_"G51TXZ!/B]W*'][R@+N [!E)^I1/,==O?=^EI/@)Z=HXBJM'#,O8@10/QXBOPW2IM>-2CJM+ MXJVR+^LN8+5Q61T *Z/I!P<2X=PD]XZU5WIR^DV#=9-Y3_'43:\3M_UY$WX- M4E#%!!G*@RRB,NJ MFX7<\*. N;J&B3,M5U??R))(4V35 MS$6I@CV #R$RGM]\\G5=B"E- GWK MT=)VSNWHAC;KZ[,F@:EH4Q><]-D0^'M.%;,!]N@UEI M,X]H[X7X %*,&8Q +_HG\M+S9=5#!'W%%/K\@:)W] 5;\#NGPL53XX;0RO-' MXE(T=Q:48":/7 J^SH&4FZ1(78J\JN.D?"" .YS@P._)T,TV1^D *R +Z\]% M#U27C=IZE.K*CJ!E*!$-8&2PJ"/(:$2@ 1S4:[D$>BGJ3 %/5W,(_))]&X*> M+F;ZW9M3Q-+0JWK*HA3_5\Q\?N'"BTC3@:<=PE9C5=5R-"[E MI4QP/'WT0.4;KCRQ+"5P./EK:SQ\$_)T#+"J7.@"'(=WR8/QP].V@$?XAA2 M?]IA8^$9I?LK=$BRL%6+Y8"#<.0YLT9!]O]I@#GH3R&?:;K[F9QW#J6N?))M MY+?XH C3QV'6F\UTN1AST\RAANF!P6"&YS\<9/=I396[);Y*D-1 HQH@!?LN MB=]R?%P0%;[6N7Q-8E]1W+NDT4DAI'>J53APM&5R!$,Z<2[,R N!-!"J&S'LC ME+/"84DH?F,J1D9]S]M/X=T?HN03U8T 771*C$;!L747:7+5M+-RR--OB@K( M0P,HRRA,-VCHFG(@$VPT"IZ\LJ+O^AOIO?OL?:NZVCGHM#F5#)KNH$,*<,"# M,YX/],8XXIW+&#\3&MDLVV?#XN&B8V&,MVO(L!@QWWIAC#X;DZ5QGQ%O)U@+I7],$O\+ MF_,QW"\.6"9ZH#,*;F6M]!EHT;16[%QL-<\$>P(T22Z'13H/4IVY#LDQP3UM M367F7?U*_GC%:"W_^;__@*'[T3L'I^!<$AY3$&>_I[\5_9CD)":@%O, M&Y[QW[_[75:\XL_D!=G%3VE2'/[Q'3FV\,>*?=#_/M"GZI[+I8JTJO2,PR@B M*L8_OLM34J[OX95(3E3U]S_P@?J"MX#E%Y4AQ>&0I*2U2EL1JZ.D5^@=10EM MN/*$TO?01UD7=A,K@411>9PWGD\I\;H2]U^\O$CQWZ^P%*Y1H#*R!+'<*9'@ M$P.W]:),"-W7@J >*QE5ZEQ6 \/XH;UWIL"GA/?@;^*X\**Z0?\3!BQOTZBIU:#1\1/^JI^&5)%IL2+,@RINQ.9: MVM- LJA*\\<2] $;!CY6A[ @I$?27&?AD/9ADC=2XS?+ %5]9,@RY.Y^11\7 M>"V\+TRYO<8PW?,<,1'DB5II4D?K.TL\VON^8@X%G* M_U[H:\&H]:PZY5LO6/KVKK3*2)#WN*=-7*"W,([Q[>AI$I435JB)*,X%B0;A MVUY8/J'P+2Z%O/])'N#UFXLR9J9#IMDS\G=Q$B5OH?^41'1/V5WD=PE!,@CD MB=?&_^8-GTQ+U@S_':!/0"EXW3TCK2D@3XSHU7'>LO+2),;_Z93U,Z>:4^BO+Z)]NT44MN?+Q?B5^.!,D. ME;R[3.;LR7C1RA-TN"DJI:P<7YT1O5X\K;HD!!V M6.''ID._7%_!DQTS2.9'4N6F*_DKK($W ML)!#:L2XIY9+3(V;ZQ!R3G*-W!(%G&[M@6[7B+]EN&@;G6^TG]65-P\^18@[ M7IFK@K")2O]S& MK;/K-%QHPBF:LUSB=>W$VIX5R/H)Y*DJ5Q5NJB5[+BN=B>#T%:Q1;I-T3P[\ M C-G5H#@\>FE%Q_4F@/RS!^\G+C2\)'A>XBB"'-;;%[4#YSUP%4:"Q),2H\_ M%6% SJHT)"Z*O'0@;H+D0+*Q1([(\?/!NA]+QUNE@EV%V6N19J5?M4I/>TX8 MWA#=60[Q<(T&C1VWF,H$=Y24VMMU;/)'7!/,E.B!ATQI#AB*D.-B7&_%1J<= M,QD*H:AO\@(H1 M$Y]YL[=LD_^R"_T=>7R[=D)M4D2SKO'_H\8U=^(B #,2ZIM\'R/V%6_] /** M'X.13Y@+!EX:9"\'DF)*"L;^^/=!,H7*8)" WJ$\IU4O5!0_%:_;JIJG"Z)T M&$C@KC"IX?_U61=K('T4!X,$U-);\Q93YQW2=T2$-6"0BH-!4F$KL+9IQ]:J M!B347?50I/[.R\1A.:W9(%'1%!-2XKZ-J0R_QC@F0ZRSM#(&UI5U7U_)R0 M?B3$(&2)1,8@F**PS/@+?9H]4X<81F;@F%D+7BH.RV57Z^58??6C(B 9-K5C MLVH&UZIV'34;C$M0+L0:-_90=V+^!%)/JEG]2QR^HS2K2X0ND_205(FA2E:- M_GR+ID[9&RGS=VCO_<__ U!+ P04 " :A*]87\\EG.D' "_*@ #P M '-S=&DM97@S,5\Q+FAT;>U:;7/;N!'^[/L5Z&5R8\^(LB2_))'J9 M-DX==^;Z$2)!$35(\ !0LOKK^RQ ZLUR+,=N[]*3/]@FN< N=A\\NTOP+'.Y M>O\#.\L$3_"7G3GIE'@__"4ZZK:[9X?A$@*'M<392"\: 1'VCF= M0]:).Q=Q)<=%WY!&TD;C&SVQ5MKT7W7\SV":22G-]<7GUB5Q_9Y^'UY=6' MRPMV/?Q\=7W#_O'IP_":?1E>>(&C3@]"C0N_Q?[GFH_J%77?SER'[_#O_)SB]NR(>]3J?W$,Q>9J=Y_"UA2HGTF_?:\[QPV6+77)49 M.V^S"\7-;8O%PCB9SIC+N.MOL]VB-^WN\='KAL_ Y_OI79)(JAUB!X; D$8;!17'&;$6_%N.GPHAZ$EI +JU"88#(LJET M&19H2Q%[ VG>$J;I!,N<8%C"1K-E-^SPRR+%[N5.8AY9Q*I*,">BON3^%A CC9HQV&\);X1#I1: JF-IUU3#V$32 MQ"V2J!0$@"*-4'MUUML3SXMF?7MWU.MUW UOCHJ=?,FZ$#R_")4=*4!B8 M *9&2MJ,Q$DL!S,1.]%U(FVLM*TPCO0;K4*<2Z-CD>"V9?L(:R* DQ"[X5V< M\6(LV#GHX+I2D.@>\:A[LB\._-#N21*NPJ6D*K0(^*+Y&7'&$NP"#,B6K16E M*XI2**)UKH,1$I3\'JP,:@ L8^D/C+E]?K#W05C8 >_[Y/ X-%J4MV)>V>V' M4 (9"82YUA12DJX,)@!53*3U! 0I4?AYJ+A;4-79A*(ETA3EE)S SW9#6;1(WEO08[C<7"IY &(@ MJ,V&@FRD*_>P"=L0.)]+"ZHVT\>K>S9JZEB_IT1P!>P9T.0[#&V%H02D%J)S M/\K4,]:5CW^R&4M/X#+*H#J.*T/!7$I7FZ;-M75X0.\.,9F-,=.O%=(=YMY_ M:$P*7()GUL1KV]$P"-_Q4C-<5'/+#H)=&;?S[$X,Y7$L$D_=WB4UK<[0U]X* M5;>_:_*MYWOIJ^#] R/UY)M;$?_B*6E WEK0!K'8,LP6#$(X>4)VOU?W+6SC M*/Z<-G:>4?T-S)GGTCDAOL;2(XVD30*)A(5^EGV@$:1HB73QEVK09A.)7RN) M!?C]4A6Q[Y0/=CW'UCW'N4)5 TLDL$-M&S6 L10(=IT-Y[7_5/!;2F^ARO$) MSM=G_N59\Y;B21"JR_30-&\@&IY@H!5SGGD8;G59AS& #*JO5DBR%AG65CE" M #_YU=0>3 TV=@MQ%)Z,@ 3_\K*&3"OD&%E,M)H(2C0% M']?O8$W-7R(OE9X)/)UF.I 67P$D /0RB;B]%EKGNX4-X>VTCWK'KPCMYWM.U6AF\5Z_]JJ)_D^Y]> M=4\[@__Q]GFROWZW>V/SOMB$8_REG+?^I5&JQ%T4JG.4393#JKP8H-YVK*9_9)WSSMTON.9W8\ M\UORS&>#_I"Z(]]Y7612I&QX)^**7I2RJ_"V8MF[W]7J]C^'-_=H,>XMZN![ M(]6S0_K\]/T/9X?^P]7_ %!+ P04 " :A*]8FTMGM>(' "V*0 #P M '-S=&DM97@S,5\R+FAT;>U:;7/;N!'^G/L5Z&5R8\^(LB2_))'W25YFOE< M??B.G6:")_C+3KWT2GP8_AP==MN]TX/J$@('M<3IR"0SYOQ,B;]^GW,[EKK/ M>.G-7V1>&.NY]H.")XG4XSY[5]P-O@_+)G(RGR1UE DYSGR_*S7&3P\P&J2* M1B8UVD=._D?TNYW"#RH]D3=%OS,(8RG/I9KU;V0N'/LLINS*Y%PW@B/CO7G]GE)_9E>'5Q^?'B MG%T-OUQ>W;!_?OXXO&+7P_,@<-CI0:AQX=?8_VWFLF]1_<*NN_EIR*[/KGX\ M^SR\CBY__MOP7^SL_(9\V.MT'H39BV$JB"_!2HGTJX_;MSGBHL7.%-?LJLVN MO9ARZULL%M;+=,9\QGU_FR,7O6UWCP[?-%P6T7:>/H?/8:=UA_V[=&3B_\=G MW?:K"Y;QB6!63*28B@2NDHY],C9GW4[T#V92=FU*G=QD4M_"(RUVH>/V8.?+ M>[[LM5_]R!T\:#3+9^Q6FZD2R5BT*I=:07F2)0:+:>,93>12,ZYGK-3>E@+F MYRS'E95EP+X$Q M4*F(@$@'"<32QF4.,8WIL"01EL%%<<9<2;\6\Z?"BGH1VD NG4)Q@,BRJ?09 M-N@*$0<#:=T"IID$VYQ@6L)&LV4W[/!S'S^'C^!'L%1J1(B"O8A("^"!.(;M MTKC4*4XO]Q+K2!VK,L&:B/J2^UM C+1JQF"_([P1#I5: *J.I5M3#6,320NW M2*)4$ "*#$(=U+E@3\Q=QE)EIJZ!F!5CZ;Q%C<@XW:SLAI6M):2XQIA[UN[ M_>'U7:_3?3]P-1[JS$>GTZ2IQ&5P^@7C5H3P(EQRI 2%@0E@ M:J2DRTB=8_WQ'Z8VCU.JJOJ4E(EJBM\T?J,.&,)=A4,R):M%:4K MBE(HHGVN@Q$2E/P>K QJ "QCZ4^,N3V^_^JC<+ #W@_)X6EHM"AOQ;QTVT^A M!#(2"'.MJ4I)IK18 %0QD2X0$*2$#NM0<;>@KF7ZLT+Q@)LZ)RUBWZJID08E M: RV.*-DPGTP=.1D(KF5M %996M &L=@RS!8,0CAY1G:_5_?2>R$>8^F10=(F@43"PK#*'M (4G1$NOA+-6ASB,0OI<0& MPGDI=1PZY?U=S[%USW&F4-7 $@GL4-M L!8)=9\-Y[3\5_);26U7EA 07 MZK/P\*QY2O$L"-5E>M4T;R :GF"B$W.>>1AN=5F'.8 ,JJ]6E60=,JPK'A90V95I5CI)X8-1&4:#0? MU\]@;T=O!B/@2-C@ M/'KQVAF$"9'B,U1]\,<=>LC*-^_?MSMS>01 \<*)OJMZ"%&]K84^VRBC_J5" M;+^1KH4@E312U=I'[]IO>V_"&UV?/"!SW&WWWJW(X!^[KK5Y/TPQWXB+*380 MC7 2;_OA=T0W-AC68#P@N-WI'4F]BOOFYH1R$VJ2&K&0G\LU+TW;G^^/2Z :'IFP%ZGX6<^,[QSGJO GE_X!?>[%WGE]M#!^3N?L>YQB_5@_A(> M-P;W9?W<>\K/]7;^&'X^< ?K+RPWN?MW=$Y6IF\5G%\U-L^*Q@^ONR>=P?\8 M[\_VUV\6S#L@[X#\AP#R>29%RC[-:[/+JF-=]N?O:C][7ZJGM]C*8E/49IPM M'O#6>]Q_[-3B+]66O])71)VO.@(OT"7<.RUK7RVF2MQ%59>/]HMJX3+7@T2Z M D5VGT8':Q\VUDU/HR/(1$(G*U\\9G9Q$,>B(KB(IV@3^EQ-^A"^U_PO4$L#!!0 ( !J$KUC+$2.>308 +PJ / #,R7S$N:'1M[5IM4]LX$/[>7[$'TS;,Q"9.@(*=,I-+PQPS=T!)F.E]5"PY MUF%+/EDFY'[]K?R2-T+A.%(HD ] K-6^/KM>M&J'.HX.WT$[9(3B;VAKKB-V MV/MFM9JVT]XNOB+!=DG1'DHZ@51/(O9Y(R9JQ(4+)-/R%QXG4FDBM)<02KD8 MN;"?7'L;.5O*KZ:;N+!"QD>A=ATN<+V]C:LY55+1!%)H*^7_,-=I)-HKY%A: M)F[#R]<"$O-HX@YXS%(X86,XES$1%>%0:BUCI-7L6ELDXB/A*B/12#/[*SF^ MC*1R-QOYQQN'7#,K38C/W$0Q:ZQ(4H@;%_H.942])=V^JP[J,N94AV[ M>4C M)1-&A]YUR(=<0^%CPP&=D*S=!3Y*9^J9^*#;.Q\<'QUW.X/CTQ,XNSCO7W1. M!C XK1SR#'2$UQH<9Q\N[+[=M:'?Z^8!]OG7Z[??>G]#I#LQ*L]%HOMZ8_96EF@>3 MAP;M_]EZEJDTPW18Q3#IB.3NUX1;( M("?O,S]37'.4U;OV0R)&##J^-LO.06NG#B0%@LPHHW6HF1T?-J^;#8;35AW.292$T+&A&Q%U6822QT8\4,(F6+#"> ZHL,X6(<$>91Q&K(T]W+(4[@4(V/4B<$OX59C(*:Q4H\)>CD\+_1NG[I"D+.*"K0+S#%Q[ M]M[>I_=/B.Y2@"E\S= "IJ()G#/3\ *FSI%4,3@-ZZO)WQPO"5-<4L@S$?X@"@'69L[ M!E*H,3[1!DW= G ^R9,0'Q"M$8^XC9@DGS6*BREPE@O@?JG%7"H$683*^:AW M9& \YCI<+C5IGF73O*\1+#!J]F"W1J<59[YN>";-II@W3?NL=7_#_OVQW_Q) ML,\%PCDN@&E6"&I#S:?]>+=-=UCH/M-9T$0UOR4)-AMB(E)*'4E&FW;M;TO[^ @W^H9;-JTY>##C&Z!1K MJ!BY=/.?EGFP&L,W/7!EWEL^B4J(%,"I_%PED+V;(%IDQ*G1:YWI&;'@(:<[ MMT%P.]V>P]]*K[]L!RPV[X_L"]@,\D^C=9M7G#5ZY3_YX48M>H58>/7)L/2? MY2IGK*JU:ZBOJ_VV_Q*RY3'L,T];3]V']Q$7Q>:.Y\1"_/=?:_AB- MSA-8_)A9\$(C^\"W]ENFW#:[N,_Y_:,FT,_R7\ +#?@M\Y/GE$CHKC4X=>GX MZY'=6CM3'!V:H$=OI,_6VPOHQ]KYPT(]2Z-\5NG[,A.:B]%W(U^E%?XV!YQ/ M=]+_80?V#&??["N(_X?C[2*.;-;&Z0.!T2<@V*16;:7C?302$U M4,9B1B'@$?Z8DG,)P@I(" MIICPS0I2$#$Q4@Q*;QG+XQ.FEL7/;B2T%F\DR!ND=]UB@-HX9+A'04RH&<,' M4C'#AP2Z%$Q1^6I -/7?%CI+E1,G4UYQW1@S8H(I3,&9W<8MV">.,H)*+ RY MT@R]7UAO_VP079Z\?.PB\Z'B'^LI$:F5,L6#>]_'F1M2YG-,RE4Q*38#DBP6 MWN+ =_%ZY\I)*(9VX=YG..T9$@Q#T2=8>81=$HW)),V;@O:VN7MZ^*Z]G=]: M_1=02P$"% ,4 " :A*]8J77L0$(7 @#;9Q@ $0 @ $ M #,Q7S$N:'1M4$L! A0#% @ &H2O6)M+9[7B!P MBD \ M ( !@C\# '-S=&DM97@S,5\R+FAT;5!+ 0(4 Q0 ( !J$KUC+$2.> M308 +PJ / " 9%' P!S XML 73 ssti-20240331_htm.xml IDEA: XBRL DOCUMENT 0001351636 us-gaap:CommonStockMember 2024-03-31 0001351636 ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember 2023-01-01 2023-12-31 0001351636 2025-01-01 2024-03-31 0001351636 ssti:RecognitionFromNewBillingsOfDeferredRevenueMember 2023-01-01 2023-03-31 0001351636 ssti:AcquiredSoftwareTechnologyMember 2024-03-31 0001351636 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-03-31 0001351636 ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember 2017-05-01 2017-05-31 0001351636 us-gaap:CreditConcentrationRiskMember 2024-03-31 0001351636 us-gaap:CommonStockMember 2023-03-31 0001351636 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001351636 ssti:SubscriptionMaintenanceAndSupportServicesMember 2024-01-01 2024-03-31 0001351636 ssti:SafepointeLLCMember us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001351636 ssti:CustomerOneMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001351636 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001351636 ssti:TechnologicSolutionsLlcMember 2023-01-01 2023-03-31 0001351636 2027-01-01 2024-03-31 0001351636 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001351636 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001351636 ssti:ForensicLogicLlcMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-01-01 2023-03-31 0001351636 country:ZA 2023-01-01 2023-03-31 0001351636 us-gaap:PatentsMember 2023-12-31 0001351636 ssti:ForensicLogicLlcMember us-gaap:FairValueInputsLevel3Member 2022-01-31 0001351636 ssti:SoundthinkingMember 2024-01-01 2024-03-31 0001351636 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-01-01 2023-03-31 0001351636 ssti:RecognitionFromBeginningDeferredRevenueBalanceMember 2024-01-01 2024-03-31 0001351636 us-gaap:CostOfSalesMember 2023-01-01 2023-03-31 0001351636 us-gaap:CommonStockMember 2022-12-31 0001351636 ssti:LetterOfCreditSubfacilityMember ssti:UmpquaCreditAgreementMember 2018-09-27 0001351636 ssti:UmpquaCreditAgreementMember 2023-12-31 0001351636 ssti:CustomerTwoMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001351636 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001351636 ssti:PerformanceBasedRestrictedStockUnitRSUMember 2024-01-01 2024-03-31 0001351636 us-gaap:CostOfSalesMember 2024-01-01 2024-03-31 0001351636 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001351636 us-gaap:RetainedEarningsMember 2023-12-31 0001351636 ssti:SafepointeLLCMember 2024-01-01 2024-03-31 0001351636 ssti:SafepointeLLCMember 2023-01-01 2023-03-31 0001351636 srt:MaximumMember ssti:SafepointeLLCMember us-gaap:IndemnificationGuaranteeMember 2023-09-30 0001351636 us-gaap:GeneralAndAdministrativeExpenseMember 2024-01-01 2024-03-31 0001351636 us-gaap:TradeNamesMember 2023-12-31 0001351636 us-gaap:CustomerRelationshipsMember 2024-03-31 0001351636 country:BS 2024-01-01 2024-03-31 0001351636 ssti:TwoThousandSeventeenEquityIncentivePlanMember 2024-01-01 2024-01-01 0001351636 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001351636 us-gaap:RetainedEarningsMember 2024-03-31 0001351636 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-03-31 0001351636 ssti:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001351636 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001351636 us-gaap:CommonStockMember 2023-12-31 0001351636 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001351636 us-gaap:FairValueInputsLevel3Member 2022-01-31 0001351636 us-gaap:RevolvingCreditFacilityMember ssti:UmpquaCreditAgreementMember 2020-08-31 0001351636 ssti:AcquiredSoftwareTechnologyMember 2023-12-31 0001351636 us-gaap:RestrictedStockUnitsRSUMember 2024-03-31 0001351636 ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember 2024-01-01 2024-03-31 0001351636 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-03-31 0001351636 country:BS 2023-01-01 2023-03-31 0001351636 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-03-31 0001351636 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-03-31 0001351636 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001351636 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001351636 ssti:TwoThousandSeventeenEquityIncentivePlanMember 2023-01-01 2023-12-31 0001351636 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001351636 country:US 2023-01-01 2023-03-31 0001351636 ssti:SoundthinkingMember 2023-01-01 2023-03-31 0001351636 ssti:UmpquaCreditAgreementMember 2024-01-01 2024-03-31 0001351636 ssti:LetterOfCreditSubfacilityMember ssti:UmpquaCreditAgreementMember 2022-11-23 0001351636 us-gaap:RetainedEarningsMember 2022-12-31 0001351636 us-gaap:FairValueInputsLevel3Member 2023-08-31 0001351636 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001351636 ssti:SafepointeLLCMember us-gaap:TechnologyBasedIntangibleAssetsMember 2024-03-31 0001351636 ssti:CustomerOneMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001351636 ssti:UnvestedRestrictedStockUnitsMember 2024-01-01 2024-03-31 0001351636 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-03-31 0001351636 country:US us-gaap:CreditConcentrationRiskMember 2024-01-01 2024-03-31 0001351636 us-gaap:OtherNoncurrentLiabilitiesMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001351636 ssti:TwoThousandSeventeenEquityIncentivePlanMember 2017-01-01 2017-12-31 0001351636 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0001351636 us-gaap:RevolvingCreditFacilityMember ssti:UmpquaCreditAgreementMember 2018-09-27 0001351636 2024-05-08 0001351636 2023-01-01 2023-03-31 0001351636 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001351636 ssti:CustomerTwoMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001351636 ssti:CustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001351636 ssti:SafepointeLLCMember us-gaap:IndemnificationGuaranteeMember 2023-07-01 2023-09-30 0001351636 ssti:SubscriptionMaintenanceAndSupportServicesMember 2023-01-01 2023-03-31 0001351636 us-gaap:RevolvingCreditFacilityMember ssti:UmpquaCreditAgreementMember 2022-11-23 2022-11-23 0001351636 ssti:ProfessionalSoftwareDevelopmentServicesMember 2023-01-01 2023-03-31 0001351636 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001351636 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001351636 ssti:SafepointeLLCMember us-gaap:TradeNamesMember 2024-03-31 0001351636 us-gaap:RetainedEarningsMember 2023-03-31 0001351636 ssti:DomesticFinancialInstitutionOneMember us-gaap:CreditConcentrationRiskMember 2024-03-31 0001351636 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-03-31 0001351636 ssti:SafepointeLLCMember us-gaap:ComputerSoftwareIntangibleAssetMember 2023-09-30 0001351636 us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001351636 2024-03-31 0001351636 us-gaap:NonUsMember us-gaap:CreditConcentrationRiskMember 2024-01-01 2024-03-31 0001351636 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001351636 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001351636 2022-12-31 0001351636 us-gaap:RevolvingCreditFacilityMember ssti:UmpquaCreditAgreementMember 2024-03-31 0001351636 us-gaap:SellingAndMarketingExpenseMember 2024-01-01 2024-03-31 0001351636 ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember 2024-03-31 0001351636 country:US 2024-01-01 2024-03-31 0001351636 ssti:SafepointeLLCMember us-gaap:CustomerRelationshipsMember 2024-03-31 0001351636 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001351636 ssti:TwoThousandAndSeventeenEmployeeStockPurchasePlanMember 2024-01-01 2024-01-01 0001351636 us-gaap:RevolvingCreditFacilityMember ssti:UmpquaCreditAgreementMember 2024-01-01 2024-03-31 0001351636 2024-04-01 2024-03-31 0001351636 ssti:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001351636 country:UY 2024-01-01 2024-03-31 0001351636 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001351636 us-gaap:CustomerRelationshipsMember 2023-12-31 0001351636 ssti:UmpquaCreditAgreementMember 2024-03-31 0001351636 us-gaap:RevolvingCreditFacilityMember ssti:UmpquaCreditAgreementMember 2022-11-23 0001351636 ssti:TwoThousandSeventeenEquityIncentivePlanMember 2017-05-01 2017-05-31 0001351636 srt:MinimumMember 2024-01-01 2024-03-31 0001351636 ssti:SafepointeLLCMember 2023-01-01 2023-12-31 0001351636 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001351636 ssti:RecognitionFromNewBillingsOfDeferredRevenueMember 2024-01-01 2024-03-31 0001351636 ssti:SafepointeLLCMember 2023-09-30 0001351636 ssti:PatentsAndIntellectualPropertyMember 2024-03-31 0001351636 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001351636 us-gaap:TradeNamesMember 2024-03-31 0001351636 ssti:ProfessionalSoftwareDevelopmentServicesMember 2024-01-01 2024-03-31 0001351636 ssti:RecognitionFromBeginningDeferredRevenueBalanceMember 2023-01-01 2023-03-31 0001351636 ssti:SafepointeLLCMember us-gaap:TradeNamesMember 2023-09-30 0001351636 ssti:SafepointeLLCMember us-gaap:CustomerRelationshipsMember 2023-09-30 0001351636 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001351636 ssti:CustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001351636 ssti:UmpquaCreditAgreementMember 2023-09-30 0001351636 2023-03-31 0001351636 ssti:SafepointeLLCMember us-gaap:FairValueInputsLevel3Member 2023-08-31 0001351636 ssti:DomesticFinancialInstitutionTwoMember us-gaap:CreditConcentrationRiskMember 2024-03-31 0001351636 ssti:MaintenanceSupportAndProfessionalSoftwareDevelopmentServicesMember 2024-01-01 2024-03-31 0001351636 us-gaap:RevolvingCreditFacilityMember ssti:UmpquaCreditAgreementMember 2023-12-31 0001351636 ssti:DomesticFinancialInstitutionThreeMember us-gaap:CreditConcentrationRiskMember 2024-03-31 0001351636 country:ZA 2024-01-01 2024-03-31 0001351636 2023-12-31 0001351636 ssti:UnvestedRestrictedStockUnitsMember 2023-01-01 2023-03-31 0001351636 2026-01-01 2024-03-31 0001351636 ssti:SafepointeLLCMember 2023-07-01 2023-09-30 0001351636 2024-01-01 2024-03-31 iso4217:USD shares pure ssti:Universities ssti:Financialinstitution shares ssti:Customers ssti:Agencies ssti:City ssti:Subsidiary iso4217:USD ssti:Customer --12-31 false Q1 0001351636 P9M P1Y P1Y 10-Q true 2024-03-31 2024 false 001-38107 SoundThinking, Inc. DE 47-0949915 39300 Civic Center Dr. Suite 300 Fremont CA 94538 510 794-3100 Common stock, par value $0.005 per share SSTI NASDAQ Yes Yes Non-accelerated Filer true false false 12793456 8524000 5703000 35201000 30700000 3507000 3902000 47232000 40305000 21429000 21028000 2078000 2315000 34213000 34213000 35995000 36938000 4025000 3909000 144972000 138708000 2260000 3031000 7101000 8521000 7000000 7000000 44817000 41265000 61178000 59817000 5935000 812000 1267000 1226000 1833000 2096000 70213000 63951000 0.005 0.005 500000000 500000000 12793168 12793168 12761448 12761448 64000 64000 173066000 170139000 -98027000 -95118000 -344000 -328000 74759000 74757000 144972000 138708000 25410000 20620000 10271000 9243000 252000 72000 10523000 9315000 14887000 11305000 7112000 5848000 3560000 2653000 6830000 4616000 0 -6000 17502000 13111000 -2615000 -1806000 -122000 54000 -58000 -38000 -180000 16000 -2795000 -1790000 114000 -2909000 -1790000 -0.23 -0.23 -0.15 -0.15 12770988 12770988 12252517 12252517 -2909000 -1790000 -16000 -17000 -2925000 -1807000 12761448 64000 170139000 -95118000 -328000 74757000 31720 2927000 2927000 -16000 -16000 -2909000 -2909000 12793168 64000 173066000 -98027000 -344000 74759000 12243929 62000 153573000 -92400000 -290000 60945000 10063 127000 127000 35369 1256000 1256000 25157 2220000 2220000 -17000 -17000 -1790000 -1790000 12243780 62000 154664000 -94190000 -307000 60229000 -2909000 -1790000 1573000 1771000 965000 661000 252000 72000 2927000 2220000 -6000 41000 126000 25000 4627000 -4211000 -278000 486000 -886000 219000 -1438000 -1834000 8675000 -6261000 4977000 -1198000 2134000 1537000 6000 23000 -2140000 -1560000 1500000 3000000 127000 1256000 3000000 -2629000 2837000 -5387000 -16000 -17000 5703000 10479000 8524000 5075000 584000 1074000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 1. Organization and Description of Business</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">SoundThinking, Inc. (the “Company”) brings the power of digital transformation to law enforcement and security personnel by providing precision-policing and security solutions, combining data-driven solutions and strategic advisory services for law enforcement and civic leadership. As of March 31, 2024, the Company had approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">250</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers and to date have worked with approximately </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> agencies to help drive more efficient, effective, and equitable public safety outcomes.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In April 2023, the Company introduced its SafetySmart™ platform that includes five data-driven tools consisting of (i) its flagship product, ShotSpotter® (formerly ShotSpotter Respond), the leading outdoor gunshot detection, location and alerting system trusted by </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">171</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> cities and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">18</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> universities and corporations as of March 31, 2024, (ii) CrimeTracer™ (formerly COPLINK X), a leading law enforcement search engine that enables investigators to search through more than one billion criminal justice records across jurisdictions to generate tactical leads and quickly make intelligent connections to solve crimes, (iii) CaseBuilder™ (formerly ShotSpotter Investigate), a one-stop investigative management system for tracking, reporting, and collaborating on cases, (iv) ResourceRouter™ (formerly ShotSpotter Connect) that directs the deployment of patrol and community anti-violence resources in an objective way to help maximize the impact of limited resources and improve community safety, and (v) SafePointe™, an AI-based weapons detection system that the Company added when it acquired SafePointe, LLC (“SafePointe”) in August 2023. The Company offers its solutions on a software-as-a-service subscription model to its customers.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ShotSpotter for Highways, ShotSpotter for Campus and ShotSpotter for Corporate, are typically smaller-scale deployments of ShotSpotter vertically marketed to universities, corporate campuses, highways, and key infrastructure centers to mitigate risk and enhance security by notifying authorities of outdoor gunfire incidents, saving critical minutes for first responders to arrive. In 2019, the Company created a technology innovation unit, SoundThinking Labs, to expand its efforts supporting innovative uses of its technology to help protect wildlife and the environment. Additionally, the Company provides maintenance and support services and professional software development services to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers, through sales channel intermediaries.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company’s principal executive offices are located in Fremont, California. The Company has </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">six</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> wholly-owned subsidiaries.</span></p> 250 2100 171 18 2 6 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 2. Summary of Significant Accounting Policies</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (“U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 (“Annual Report”) filed with the SEC on April 1, 2024.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive loss, stockholders’ equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2024 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. In particular, the Company's contingent consideration liabilities are subject to significant estimates surrounding forecasts of certain revenues and other factors. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company’s financial position and results of operations.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.</span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Risk</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Credit Risk</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its deposits of cash and cash equivalents at </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">three</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> domestic and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">four</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation ("FDIC") and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents. As of March 31, 2024, the Company had approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, deposited with the Company's three domestic financial institutions, for which only $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">250,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per bank is insured under FDIC limits.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Accounts Receivable and Contract Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – At March 31, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">21</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company’s total accounts receivable and contract assets, net. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, respectively, of the Company’s total accounts receivable and contract assets, net.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – For the three months ended March 31, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company’s total revenues. For the three months ended March 31, 2023, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company’s total revenues.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Suppliers</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">–</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company’s proprietary sensors.</span></p></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2024, there were no changes to the Company’s significant accounting policies described in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023, except as follows:</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent Accounting Pronouncements Not Yet Effective</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Improvements to Income Tax Disclosures</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2023-09, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Improvements to Income Tax Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (“ASU 2023-09”). ASU 2023-09 enhances the transparency of income tax disclosures, primarily by requiring public business entities to disclose on an annual basis, specific categories in the rate reconciliation tabular presentation, as well as by providing additional information for reconciling items that meet a quantitative threshold. The ASU also requires disaggregated disclosures of federal, state and foreign income taxes</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">paid. The new guidance is effective for fiscal years beginning after December 15, 2024. The Company does not expect implementation of the new guidance to have a material impact on its condensed consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Improvements to Reportable Segment Disclosures</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In November 2023, the FASB issued ASU No. 2023-07, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which enhances prior reportable segment disclosure requirements in part by requiring entities to disclose significant expenses related to their reportable segments. The guidance also requires disclosure of the Chief Operating Decision Maker's (“CODM”) position for each segment and detail of how the CODM uses financial reporting to assess their segment’s performance. The new guidance is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company does not expect implementation of the new guidance to have a material impact on its consolidated financial statements.</span></p></div> <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Basis of Presentation</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America (“U.S. GAAP”) and applicable rules and regulations of the Securities and Exchange Commission (“SEC”) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated financial statements include the results of the Company and its wholly-owned subsidiaries. All significant intercompany transactions have been eliminated upon consolidation.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The accompanying condensed consolidated financial statements and related financial information should be read in conjunction with the consolidated financial statements filed with the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 (“Annual Report”) filed with the SEC on April 1, 2024.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In the opinion of management, the accompanying condensed consolidated financial statements reflect all normal recurring adjustments necessary to present fairly the financial position, results of operations, comprehensive loss, stockholders’ equity and cash flows for the interim periods, but are not necessarily indicative of the results of operations or cash flows to be anticipated for the full year 2024 or any future period. The Company has evaluated subsequent events occurring after the date of the condensed consolidated financial statements for events requiring recording or disclosure in the condensed consolidated financial statements.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Use of Estimates</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The preparation of condensed consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and reported amounts of revenues and expenses during the reporting period. On an ongoing basis, management evaluates its significant estimates, including the valuation of accounts receivable, the lives and realization of tangible and intangible assets, contingent consideration liabilities, stock-based compensation expense, customer life, accounting for revenue recognition, contingent liabilities related to legal matters, and income taxes including deferred taxes and any related valuation allowance. In particular, the Company's contingent consideration liabilities are subject to significant estimates surrounding forecasts of certain revenues and other factors. Management bases its estimates on historical experience and on various other market-specific and relevant assumptions it believes to be reasonable under the circumstances. Actual results could differ from those estimates and such differences could be material to the Company’s financial position and results of operations.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company records net deferred tax assets to the extent the Company believes these assets will more likely than not be realized. In making such a determination, the Company considers all available positive and negative evidence, including future reversals of existing taxable temporary differences, projected future taxable income, tax-planning strategies, and results of recent operations. In the event the Company determines that it would be able to realize its deferred assets in the future in excess of their net recorded amount, the Company would make an adjustment to the deferred tax asset valuation allowance, which would reduce the provision for income taxes.</span></p> <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentrations of Risk</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Credit Risk</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – Financial instruments that potentially subject the Company to concentration of credit risk consisted primarily of cash and cash equivalents and accounts receivable from trade customers. The Company maintains its deposits of cash and cash equivalents at </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">three</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> domestic and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">four</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> international financial institutions. The Company is exposed to credit risk in the event of default by a financial institution to the extent that cash and cash equivalents are in excess of the amount insured by the Federal Deposit Insurance Corporation ("FDIC") and other local country government agencies. The Company generally places its cash and cash equivalents with high-credit quality financial institutions. To date, the Company has not experienced any losses on its cash and cash equivalents. As of March 31, 2024, the Company had approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, deposited with the Company's three domestic financial institutions, for which only $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">250,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per bank is insured under FDIC limits.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Accounts Receivable and Contract Assets</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – At March 31, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">21</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company’s total accounts receivable and contract assets, net. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">At December 31, 2023, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, respectively, of the Company’s total accounts receivable and contract assets, net.</span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Revenues</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> – For the three months ended March 31, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">26</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company’s total revenues. For the three months ended March 31, 2023, </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">two</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> customers accounted for </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">27</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the Company’s total revenues.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="margin-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;text-decoration:underline;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Concentration of Suppliers</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">–</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company relies on a limited number of suppliers and contract manufacturers. In particular, a single supplier is currently the sole manufacturer of the Company’s proprietary sensors.</span></p> 3 4 7600000 300000 27000000 250000 2 0.25 0.21 2 0.24 0.10 2 0.26 0.10 2 0.27 0.10 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Recent Accounting Pronouncements Not Yet Effective</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Improvements to Income Tax Disclosures</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In December 2023, the Financial Accounting Standards Board (“FASB”) issued Accounting Standards Update (“ASU”) 2023-09, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Improvements to Income Tax Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> (“ASU 2023-09”). ASU 2023-09 enhances the transparency of income tax disclosures, primarily by requiring public business entities to disclose on an annual basis, specific categories in the rate reconciliation tabular presentation, as well as by providing additional information for reconciling items that meet a quantitative threshold. The ASU also requires disaggregated disclosures of federal, state and foreign income taxes</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">paid. The new guidance is effective for fiscal years beginning after December 15, 2024. The Company does not expect implementation of the new guidance to have a material impact on its condensed consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Improvements to Reportable Segment Disclosures</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In November 2023, the FASB issued ASU No. 2023-07, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, which enhances prior reportable segment disclosure requirements in part by requiring entities to disclose significant expenses related to their reportable segments. The guidance also requires disclosure of the Chief Operating Decision Maker's (“CODM”) position for each segment and detail of how the CODM uses financial reporting to assess their segment’s performance. The new guidance is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024, on a retrospective basis, with early adoption permitted. The Company does not expect implementation of the new guidance to have a material impact on its consolidated financial statements.</span></p> <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 3. Revenue Related Disclosures</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span><span style="color:#0000ff;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The changes in deferred revenue were as follows (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:65.84%;"></td> <td style="width:1%;"></td> <td style="width:14.08%;"></td> <td style="width:1%;"></td> <td style="width:2%;"></td> <td style="width:1%;"></td> <td style="width:14.08%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Beginning balance</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">42,077</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,721</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">   New billings</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,242</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,149</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">   Revenue recognized during the year from beginning balance</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,347</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,987</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">   Revenue recognized during the year from new billings</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,220</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,429</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">   Foreign currency impact</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ending balance</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">50,752</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37,459</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2024 (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:65.84%;"></td> <td style="width:16.08%;"></td> <td style="width:2%;"></td> <td style="width:1%;"></td> <td style="width:14.08%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_81d19326-4995-4a44-948c-99ad63f71548;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Remainder of 2024</span></span></span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">59,125</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_448f3ac4-462a-4796-b57e-dc65120d29a1;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></span></span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,158</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_99b07562-9b5e-44fb-a5d7-7d14e76516b1;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></span></span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,135</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_a0925ff8-0cab-48e1-90e6-7e4ad02ed51a;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thereafter</span></span></span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,340</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">113,758</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The timing of certain revenue recognition included in the table above is based on estimates of go-live dates for contracts not yet live. Contractually committed revenue includes deferred revenue as of March 31, 2024 and amounts under contract that will be invoiced after March 31, 2024.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2024, the Company recognized revenues of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">24.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the United States, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the Bahamas, South Africa and Uruguay. During the three months ended March 31, 2023, the Company recognized revenues of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the United States, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from customers in the Bahamas and South Africa.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company recognized revenues of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from monthly subscription, maintenance and support services, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from professional software development services. During the three months ended March 31, 2023, the Company recognized revenues of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">19.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from monthly subscription, maintenance and support services, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million from professional software development services.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The changes in deferred revenue were as follows (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:65.84%;"></td> <td style="width:1%;"></td> <td style="width:14.08%;"></td> <td style="width:1%;"></td> <td style="width:2%;"></td> <td style="width:1%;"></td> <td style="width:14.08%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Beginning balance</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">42,077</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">43,721</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">   New billings</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,242</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,149</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">   Revenue recognized during the year from beginning balance</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,347</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,987</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">   Revenue recognized during the year from new billings</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10,220</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,429</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">   Foreign currency impact</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ending balance</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">50,752</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">37,459</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 42077000 43721000 33242000 14149000 14347000 14987000 10220000 5429000 5000 50752000 37459000 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents remaining performance obligations for contractually committed revenues as of March 31, 2024 (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:65.84%;"></td> <td style="width:16.08%;"></td> <td style="width:2%;"></td> <td style="width:1%;"></td> <td style="width:14.08%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_81d19326-4995-4a44-948c-99ad63f71548;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Remainder of 2024</span></span></span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">59,125</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_448f3ac4-462a-4796-b57e-dc65120d29a1;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></span></span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">33,158</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_99b07562-9b5e-44fb-a5d7-7d14e76516b1;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></span></span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,135</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span><span style="-sec-ix-hidden:F_a0925ff8-0cab-48e1-90e6-7e4ad02ed51a;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thereafter</span></span></span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5,340</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">113,758</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 59125000 33158000 16135000 5340000 113758000 24800000 600000 600000 600000 20200000 400000 400000 25300000 100000 19500000 1100000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 4. Acquisitions</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">SafePointe, LLC</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the third quarter of 2023, the Company completed the acquisition of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the membership interests in SafePointe for purchase consideration of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in cash, subject to working capital adjustments, of which $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is indemnification escrow cash, and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in the form of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">549,579</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of the Company's common stock based on the closing price on the date of acquisition, of which $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is indemnification escrow stock. The purchase consideration also included a contingent earnout payable based on SafePointe’s revenues generated during 2023 through 2025. The Company borrowed $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million under the Umpqua Credit Agreement (See Note 12, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Financing Arrangements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">) to partially fund the purchase consideration. The acquisition date fair value of the contingent earnout was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> m</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">illion, resulting in a total purchase consideration of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million in earnout would be payable based on SafePointe’s revenues generated during the remainder of 2023 and during the years ended December 31, 2024 and 2025. The SafePointe acquisition was accounted for as a business acquisition in accordance with ASC 805, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Business Combinations</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. The acquisition allows the Company to enter the AI-based weapons detection market.</span></p><div style="font-size:11pt;font-family:'Calibri',sans-serif;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the assignment of fair value to the identified assets and liabilities recorded as of the acquisition date (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.94%;"></td> <td style="width:16.92%;"></td> <td style="width:1.22%;"></td> <td style="width:1%;"></td> <td style="width:14.92%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">394</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable and contract assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">370</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">717</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,500</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Software technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,200</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tradename</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,100</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11,242</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued expenses and other current liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">52</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">581</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net assets acquired</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,991</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Escrow claim</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">581</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total estimated consideration</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,572</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The goodwill recognized was primarily attributed to increased synergies that are expected to be achieved from the integration of SafePointe and primarily represents the value of cash flows from future customers and the employee workforce. The Company expects to deduct the amortization of goodwill and intangible assets for tax purposes. A portion of the amortization deduction will commence upon settlement of contingent consideration liabilities. The Company valued the intangible assets using income-based approaches. Significant assumptions included forecasts of revenues, cost of revenues, research and development expense, sales and marketing expense, general and administrative expense, technology lives, royalty rates, working capital rates, customer attrition rates and other estimates. The Company discounted the cash flows at </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20.9</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, reflecting the risk profile of the assets.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company will amortize the acquired customer relationships for </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years, the acquired software technology for </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> years and the acquired tradename for </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">nine years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There were </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> acquisition-related expenses during the three months ended March 31, 2024 and 2023, respectively.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The unaudited pro forma combined revenue and net loss presented below have been prepared as if the Company had acquired SafePointe on January 1, 2023 and is for informational purposes only and is not necessarily indicative of the results of operations that would have been achieved if the acquisition had taken place on January 1, 2023. The unaudited pro forma financial information has been derived from the consolidated statements of operations of the Company and SafePointe for the below period. The historical financial information has been adjusted in the unaudited combined pro forma information based upon currently available information and certain estimates and assumptions. The actual effect of the transactions ultimately may differ from the pro forma adjustments included herein. However, management believes that the assumptions used to prepare the pro forma adjustments provide a reasonable basis for presenting the significant effects of the transactions as currently contemplated and that the pro forma adjustments are factually supportable, give</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">appropriate effect to the expected impact of events that are directly attributable to the transactions, and reflect those items expected to have a continuing impact on the Company.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The unaudited pro forma combined revenue and net loss for the three months ended March 31, 2023 would have been $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, respectively.</span></p> 1 11400000 1100000 11200000 549579 1100000 7000000 3000000 25600000 11500000 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the assignment of fair value to the identified assets and liabilities recorded as of the acquisition date (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.94%;"></td> <td style="width:16.92%;"></td> <td style="width:1.22%;"></td> <td style="width:1%;"></td> <td style="width:14.92%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cash and cash equivalents</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">394</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable and contract assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">370</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Property and equipment, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">717</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,500</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Software technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,200</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tradename</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,100</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Goodwill</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11,242</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other assets</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">101</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accrued expenses and other current liabilities</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">52</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred revenue</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">581</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net assets acquired</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,991</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Escrow claim</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">581</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total estimated consideration</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,572</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> </tr> </table> 394000 370000 717000 2500000 9200000 1100000 11242000 101000 52000 581000 24991000 581000 25572000 0.209 P12Y P11Y P9Y 0 0 21000000 2400000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 5. Fair Value Measurements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In November 2020, the Company estimated the fair value of the contingent consideration liability associated with its acquisition of LEEDS, LLC (“LEEDS”). This fair value measurement was classified as Level III within the fair value hierarchy as prescribed by Accounting Standards Codification 820-10-35-37 ("ASC 820, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measuremen</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">t"). In May 2023, the Company renamed LEEDS to Technologic Solutions, LLC (“Technologic”). During the first quarter of 2023, the Company paid the $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million Technologic contingent consideration balance, in full settlement of its obligations under the purchase agreement.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In January 2022, the Company estimated the fair value of the contingent consideration liability associated with its acquisition of Forensic Logic to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">12.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as of the acquisition date, using a Monte Carlo simulation approach with asset and revenue volatility of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">60.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">28.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, respectively. This fair value measurement is classified as Level III within the fair value hierarchy as prescribed by ASC 820, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurement</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">. During the three months ended March 31, 2023, the fair value of the contingent consideration was decreased by $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.01</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, based upon adjustments to recorded liabilities as a result of revised 2023 forecasted revenues as of March 31, 2023. As a result of actual revenue recognized in the year ended December 31, 2023, the Company did not pay any amounts under the contingent consideration and no further contingent payments remain.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">In August 2023, the Company estimated the fair value of the contingent consideration liability associated with its acquisition of SafePointe to be $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million as of the acquisition date, using a Monte Carlo simulation approach with asset and revenue volatility of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">76.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% and </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%, respectively. This fair value measurement is classified as Level III within the fair value hierarchy as prescribed by ASC 820, </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Fair Value Measurement</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:11pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The changes in the fair value of contingent consideration liabilities for the three months ended March 31, 2024 and 2023 are as follows (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:65.393%;"></td> <td style="width:1.86%;"></td> <td style="width:1%;"></td> <td style="width:13.803%;"></td> <td style="width:1%;"></td> <td style="width:1.14%;"></td> <td style="width:1%;"></td> <td style="width:13.803%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended March 31,</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Beginning balance</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">554</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,747</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of contingent consideration liability</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,500</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Change in fair value of contingent consideration</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ending balance</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">554</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,241</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There were </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> transfers into or out of Level III during the three months ended March 31, 2024 and 2023. As of March 31, 2024,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> the SafePointe contingent consideration of approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million is included in other liabilities in th</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e condensed consolidated balance sheet.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> 1500000 12400000 0.60 0.28 10000.00 3000000 0.761 0.258 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The changes in the fair value of contingent consideration liabilities for the three months ended March 31, 2024 and 2023 are as follows (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:65.393%;"></td> <td style="width:1.86%;"></td> <td style="width:1%;"></td> <td style="width:13.803%;"></td> <td style="width:1%;"></td> <td style="width:1.14%;"></td> <td style="width:1%;"></td> <td style="width:13.803%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended March 31,</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Beginning balance</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">554</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,747</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Payment of contingent consideration liability</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,500</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Change in fair value of contingent consideration</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ending balance</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">554</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,241</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 554000 4747000 -1500000 -6000 554000 3241000 0 0 600000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 6. Goodwill</span></p><div style="font-size:11pt;font-family:'Calibri',sans-serif;"><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change in goodwill is as follows (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.94%;"></td> <td style="width:1%;"></td> <td style="width:14.92%;"></td> <td style="width:1%;"></td> <td style="width:1.22%;"></td> <td style="width:1%;"></td> <td style="width:14.92%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Beginning balance</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,213</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,971</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of SafePointe (Note 4 - Acquisitions)</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11,242</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;word-break:break-word;"> <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ending balance</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,213</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,213</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The change in goodwill is as follows (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.94%;"></td> <td style="width:1%;"></td> <td style="width:14.92%;"></td> <td style="width:1%;"></td> <td style="width:1.22%;"></td> <td style="width:1%;"></td> <td style="width:14.92%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Beginning balance</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,213</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">22,971</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquisition of SafePointe (Note 4 - Acquisitions)</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11,242</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;word-break:break-word;"> <td style="background-color:#cff0fc;white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Ending balance</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,213</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="background-color:#ffffff;white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="border-top:0.5pt solid #000000;background-color:#cff0fc;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">34,213</span></p></td> <td style="border-top:0.5pt solid #ffffff03;background-color:#cff0fc;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> </tr> </table> 34213000 22971000 0 11242000 34213000 34213000 <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 7. Intangible Assets, Net</span></p><div style="font-size:11pt;font-family:'Calibri',sans-serif;"><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consist of the following (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:40.46%;"></td> <td style="width:13.28%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="10" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31, 2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average Amortization Period (in years)</span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Amortization</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,470</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,927</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,543</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired software technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,340</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,627</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,713</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents and intellectual property</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,988</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,273</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">715</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tradename</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,100</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,076</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,024</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  Total intangible assets, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,898</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,903</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,995</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:40.46%;"></td> <td style="width:13.28%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="10" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average Amortization Period (in years)</span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Amortization</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,470</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,467</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,003</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired software technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,340</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,199</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,141</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,966</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,227</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">739</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tradename</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,100</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,045</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,055</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  Total intangible assets, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,876</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,938</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36,938</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible amortization expense was approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million and $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the three months ended March 31, 2024 and March 31, 2023, respectively.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents future intangible asset amortization as of March 31, 2024 (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:40.46%;"></td> <td style="width:13.28%;"></td> <td style="width:14.3%;"></td> <td style="width:1.68%;"></td> <td style="width:14.3%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Remainder of 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,857</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,818</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,801</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,801</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,736</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thereafter</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,982</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,995</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Intangible assets consist of the following (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:40.46%;"></td> <td style="width:13.28%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="10" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31, 2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average Amortization Period (in years)</span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Amortization</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,470</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,927</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20,543</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired software technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,340</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,627</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">13,713</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents and intellectual property</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,988</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,273</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">715</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tradename</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,100</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,076</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,024</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  Total intangible assets, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,898</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,903</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,995</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:40.46%;"></td> <td style="width:13.28%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="10" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31, 2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted Average Amortization Period (in years)</span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Gross</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Accumulated Amortization</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Net</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Customer relationships</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,470</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,467</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,003</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Acquired software technology</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">16,340</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,199</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">14,141</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Patents</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,966</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,227</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">739</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Tradename</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6</span></span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,100</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,045</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,055</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  Total intangible assets, net</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">45,876</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,938</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">36,938</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> P14Y 25470000 4927000 20543000 P9Y 16340000 2627000 13713000 P4Y 1988000 1273000 715000 P6Y 2100000 1076000 1024000 45898000 9903000 35995000 P14Y 25470000 4467000 21003000 P9Y 16340000 2199000 14141000 P4Y 1966000 1227000 739000 P6Y 2100000 1045000 1055000 45876000 8938000 36938000 1000000 700000 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table presents future intangible asset amortization as of March 31, 2024 (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:40.46%;"></td> <td style="width:13.28%;"></td> <td style="width:14.3%;"></td> <td style="width:1.68%;"></td> <td style="width:14.3%;"></td> <td style="width:1.68%;"></td> <td style="width:1%;"></td> <td style="width:12.3%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Remainder of 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,857</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2025</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,818</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2026</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,801</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2027</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,801</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2028</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,736</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Thereafter</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17,982</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">  Total</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,995</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 2857000 3818000 3801000 3801000 3736000 17982000 35995000 <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 8. Details of Certain Condensed Consolidated Balance Sheet Accounts</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounts receivable and contract assets, net (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,961</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,574</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contract assets</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,366</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,225</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Allowance for credit losses</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">99</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,201</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,700</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Prepaid expenses and other current assets (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred commissions</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,385</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,295</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid software and licenses</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">946</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,147</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term deposits</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">467</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">406</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid insurance</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">399</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">806</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">248</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,507</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,902</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other assets (long-term) (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred commissions</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,275</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,205</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Escrow claim (Note 4 - Acquisitions)</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">581</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">581</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">169</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">123</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,025</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,909</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued expenses and other current liabilities (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p> <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Personnel-related accruals</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,818</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,500</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">981</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">964</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Professional fees</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">371</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">407</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sales/use tax payable</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">125</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State income tax payable</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">201</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">605</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">422</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,101</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,521</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div><div style="font-size:11pt;font-family:'Calibri',sans-serif;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other liabilities (long-term) (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,279</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,542</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration liability</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">554</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">554</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,833</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,096</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accounts receivable and contract assets, net (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Accounts receivable</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25,961</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">24,574</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contract assets</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">9,366</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,225</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Allowance for credit losses</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">99</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">35,201</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,700</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> 25961000 24574000 9366000 6225000 126000 99000 35201000 30700000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Prepaid expenses and other current assets (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred commissions</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,385</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,295</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid software and licenses</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">946</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,147</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Short-term deposits</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">467</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">406</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Prepaid insurance</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">399</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">806</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">310</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">248</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,507</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,902</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 1385000 1295000 946000 1147000 467000 406000 399000 806000 310000 248000 3507000 3902000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other assets (long-term) (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Deferred commissions</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,275</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,205</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Escrow claim (Note 4 - Acquisitions)</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">581</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">581</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">169</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">123</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,025</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">3,909</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 3275000 3205000 581000 581000 169000 123000 4025000 3909000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Accrued expenses and other current liabilities (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p> <table style="border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Personnel-related accruals</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,818</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6,500</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">981</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">964</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Professional fees</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">371</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">407</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sales/use tax payable</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">125</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">State income tax payable</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">201</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">128</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Other</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">605</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">422</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7,101</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">8,521</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 4818000 6500000 981000 964000 371000 407000 125000 100000 201000 128000 605000 422000 7101000 8521000 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Other liabilities (long-term) (in thousands):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:64.44%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> <td style="width:1.96%;"></td> <td style="width:1%;"></td> <td style="width:14.8%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">December 31,</span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Operating lease liabilities</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,279</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,542</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Contingent consideration liability</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">554</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">554</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,833</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,096</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> </tr> </table> 1279000 1542000 554000 554000 1833000 2096000 <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 9. Related Party Transactions</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2024, the Company recognized approximat</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">ely $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">33</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> in revenues from SoundThinking Labs projects with charitable organizations that have received donations from one of the Company’s former directors and from one of the Company’s significant stockholders. There were </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> related party transactions in the three months ended March 31, 2023.</span></p> 33000 0 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 10. Net Income (Loss) per Share</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The computation of basic net income (loss) per share is based on the weighted-average number of shares of common stock outstanding during each period. The computation of diluted net income (loss) per share is based on the weighted-average number of shares outstanding during the period plus, when their effect is dilutive, incremental shares consisting of shares subject to stock options, restricted stock units, employee stock purchase plan purchase rights and warrants.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the computation of basic and diluted net income (loss) per share (in thousands, except share and per share data):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:57.2%;"></td> <td style="width:1%;"></td> <td style="width:18.22%;"></td> <td style="width:1%;"></td> <td style="width:2.36%;"></td> <td style="width:1%;"></td> <td style="width:18.22%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended March 31,</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td> <td colspan="2" style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net loss</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,909</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,790</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td> <td colspan="2" style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted-average shares outstanding, basic and diluted</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,770,988</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,252,517</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net loss per share, basic and diluted</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.23</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.15</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> </table></div><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Th</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e following potentially dilutive shares outstanding at the end of the periods presented were excluded in the calculation of diluted net loss per share as the effect would have been anti-dilutive:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:56.731%;"></td> <td style="width:1%;"></td> <td style="width:18.684%;"></td> <td style="width:1%;"></td> <td style="width:1.9%;"></td> <td style="width:1%;"></td> <td style="width:18.684%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options to purchase common stock</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,819,731</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,461,481</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested restricted stock units</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,085,127</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">337,259</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,904,858</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,798,740</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The following table summarizes the computation of basic and diluted net income (loss) per share (in thousands, except share and per share data):</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:57.2%;"></td> <td style="width:1%;"></td> <td style="width:18.22%;"></td> <td style="width:1%;"></td> <td style="width:2.36%;"></td> <td style="width:1%;"></td> <td style="width:18.22%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended March 31,</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Numerator:</span></p></td> <td colspan="2" style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net loss</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,909</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,790</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Denominator:</span></p></td> <td colspan="2" style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Weighted-average shares outstanding, basic and diluted</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,770,988</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">12,252,517</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Net loss per share, basic and diluted</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.23</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">0.15</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> </tr> </table> -2909000 -1790000 12770988 12770988 12252517 12252517 -0.23 -0.23 -0.15 -0.15 <p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Th</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">e following potentially dilutive shares outstanding at the end of the periods presented were excluded in the calculation of diluted net loss per share as the effect would have been anti-dilutive:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:56.731%;"></td> <td style="width:1%;"></td> <td style="width:18.684%;"></td> <td style="width:1%;"></td> <td style="width:1.9%;"></td> <td style="width:1%;"></td> <td style="width:18.684%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">March 31,</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:middle;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Options to purchase common stock</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,819,731</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,461,481</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested restricted stock units</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,085,127</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">337,259</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,904,858</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,798,740</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 1819731 1461481 1085127 337259 2904858 1798740 <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 11. Equity Incentive Plans</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Stock options</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the "2005 Plan") and 2017 Equity Incentive Plan (the “2017 Plan") during the three months ended March 31, 2024 is as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:39.688%;"></td> <td style="width:1.26%;"></td> <td style="width:1%;"></td> <td style="width:13.163%;"></td> <td style="width:1%;"></td> <td style="width:1.72%;"></td> <td style="width:1%;"></td> <td style="width:10.822000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.72%;"></td> <td style="width:1%;"></td> <td style="width:10.822000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.98%;"></td> <td style="width:1%;"></td> <td style="width:10.822000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number<br/>of Options<br/>Outstanding</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Exercise<br/>Price</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Grant Date Fair Value per Option</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate Intrinsic Value Exercised (in thousands)</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding at December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,789,431</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26.83</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51,667</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17.74</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.81</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Canceled</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,367</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25.86</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding at March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,819,731</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26.59</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Under an “evergreen” provision, the number of shares of common stock reserved for issuance under the 2017 Plan will automatically increase on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">January 1</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of each year, beginning on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">January 1, 2018</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> and ending on and including </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">January 1, 2027</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, by </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">of the total number of shares of the Company's common stock outstanding on December 31 of the preceding calendar year or a lesser number of shares determined by the Board. In accordance with the evergreen provision,</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">number of shares of common stock reserved for issuance under the 2017 Plan was increased on January 1, 2024 by </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">638,072</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares, which was equal to </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the total number of shares of common stock outstanding on December 31, 2023.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Restricted stock units</span></p><div style="font-size:11pt;font-family:'Calibri',sans-serif;"><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A summary of restricted stock unit ("RSU") activities under the 2017 Plan during the three months ended March 31, 2024 is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:46.589%;"></td> <td style="width:1.54%;"></td> <td style="width:1%;"></td> <td style="width:15.703%;"></td> <td style="width:1%;"></td> <td style="width:2.02%;"></td> <td style="width:1%;"></td> <td style="width:13.063%;"></td> <td style="width:1%;"></td> <td style="width:2.02%;"></td> <td style="width:1%;"></td> <td style="width:13.063%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number<br/>of RSUs</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Grant Date Fair Value per RSU</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate Fair Value of RSUs Vested (in thousands)</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested RSUs at December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">298,361</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27.58</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">817,408</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17.74</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,642</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29.08</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,897</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested RSUs at March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,085,127</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20.18</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> </tr> </table></div><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Performance-based restricted stock units:</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">During the three months ended March 31, 2024, the Company granted to members of the Company's management team RSU awards with performance-based vesting conditions (“PSUs”)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, totaling </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">544,228</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares at a grant date fair value of $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">17.74</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> per share, the closing stock price on the grant date. These PSUs vest in one installment on the certification date, which shall occur as soon as administratively practicable following the end of 2026, based on </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">the satisfaction of certain Company performance criteria in 2026, as </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">determined by the Compensation and Human Capital Committee of the Board of Directors of the Company. Compensation expense related to the PSUs is estimated each period based on the fair value of the target stock unit at the grant date and the most probable level of achievement of the performance conditions. Compensation expense related to these awards was approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million for the three months ended March 31, 2024.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">2017 Employee Stock Purchase Plan</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">There were </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares of common stock issued under the 2017 Employee Stock Purchase Plan ("2017 ESPP") during the three months ended March 31, 2024. The </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">2017 ESPP contains an “evergreen” provision that provides for an automatic annual share increase on </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">January 1</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> of each year, in an amount equal to the lesser of (1) </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">% of the total number of shares of common stock outstanding on December 31st of the preceding calendar year, (2) </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">150,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares or (3) such number of shares as determined by the Board. In accordance with the evergreen provision, the number of shares of common stock reserved for issuance under the 2017 ESPP was increased on January 1, 2024 by </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">150,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> shares. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The number of shares available for grant under the 2017 ESPP was </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">778,343</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> as of March 31, 2024.</span></p><div style="font-size:10pt;font-family:Times New Roman;"><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:57.2%;"></td> <td style="width:1%;"></td> <td style="width:18.22%;"></td> <td style="width:1%;"></td> <td style="width:2.36%;"></td> <td style="width:1%;"></td> <td style="width:18.22%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of revenues</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">440</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">474</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sales and marketing</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">601</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">439</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">302</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">295</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">General and administrative</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,584</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,012</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,927</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,220</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table></div> <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A summary of option activities under the 2005 Stock Plan, as amended in January 2010 and November 2012 (the "2005 Plan") and 2017 Equity Incentive Plan (the “2017 Plan") during the three months ended March 31, 2024 is as follows:</span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:39.688%;"></td> <td style="width:1.26%;"></td> <td style="width:1%;"></td> <td style="width:13.163%;"></td> <td style="width:1%;"></td> <td style="width:1.72%;"></td> <td style="width:1%;"></td> <td style="width:10.822000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.72%;"></td> <td style="width:1%;"></td> <td style="width:10.822000000000001%;"></td> <td style="width:1%;"></td> <td style="width:1.98%;"></td> <td style="width:1%;"></td> <td style="width:10.822000000000001%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number<br/>of Options<br/>Outstanding</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Exercise<br/>Price</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Grant Date Fair Value per Option</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate Intrinsic Value Exercised (in thousands)</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding at December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,789,431</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26.83</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">51,667</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17.74</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">10.81</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Exercised</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Canceled</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">21,367</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">25.86</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Outstanding at March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,819,731</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">26.59</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> </table> 1789431 26.83 51667 17.74 10.81 21367 25.86 1819731 26.59 --01-01 2018-01-01 2027-01-01 0.05 638072 0.05 <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">A summary of restricted stock unit ("RSU") activities under the 2017 Plan during the three months ended March 31, 2024 is as follows:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:46.589%;"></td> <td style="width:1.54%;"></td> <td style="width:1%;"></td> <td style="width:15.703%;"></td> <td style="width:1%;"></td> <td style="width:2.02%;"></td> <td style="width:1%;"></td> <td style="width:13.063%;"></td> <td style="width:1%;"></td> <td style="width:2.02%;"></td> <td style="width:1%;"></td> <td style="width:13.063%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Number<br/>of RSUs</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Weighted<br/>Average<br/>Grant Date Fair Value per RSU</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Aggregate Fair Value of RSUs Vested (in thousands)</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested RSUs at December 31, 2023</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">298,361</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">27.58</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Granted</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">817,408</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">17.74</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Vested</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">(</span><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">30,642</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">)</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">29.08</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">4,897</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Forfeited</span></p></td> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">—</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Unvested RSUs at March 31, 2024</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,085,127</span></p></td> <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">20.18</span></p></td> <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:11pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:'Calibri',sans-serif;min-width:fit-content;"> </span></p></td> </tr> </table> 298361 27.58 817408 17.74 30642 29.08 4897000 1085127 20.18 544228 17.74 100000 0 --01-01 0.02 150000 150000 778343 <p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:12pt;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Total stock-based compensation expense associated with the 2005 Plan, 2017 Plan and 2017 ESPP is recorded in the condensed consolidated statements of operations and was allocated as follows (in thousands):</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p> <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"> <tr style="visibility:collapse;"> <td style="width:57.2%;"></td> <td style="width:1%;"></td> <td style="width:18.22%;"></td> <td style="width:1%;"></td> <td style="width:2.36%;"></td> <td style="width:1%;"></td> <td style="width:18.22%;"></td> <td style="width:1%;"></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;text-align:left;"> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Three Months Ended March 31,</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:8pt;background-color:#ffffff;word-break:break-word;white-space:pre-wrap;"> <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2024</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">2023</span></p></td> <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Cost of revenues</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">440</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">474</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Sales and marketing</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">601</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">439</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Research and development</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">302</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">295</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#ffffff;word-break:break-word;"> <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">General and administrative</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,584</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">1,012</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"> <td style="text-indent:5pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:5pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Total</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,927</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;min-width:fit-content;"> </span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;min-width:fit-content;">$</span></p></td> <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2,220</span></p></td> <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="min-width:fit-content;"> </span></p></td> </tr> </table> 440000 474000 601000 439000 302000 295000 1584000 1012000 2927000 2220000 <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 12. </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Financing Arrangements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">September 27, 2018</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, the Company entered into a Credit Agreement with Umpqua Bank (the “Umpqua Credit Agreement”), which allowed the Company to borrow up to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">10.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million under a revolving loan facility (the “Revolving Facility”). On November 23, 2022, the Company entered into a Fifth Amendment to the Umpqua Credit Agreement (the “Amendment”), which amended the terms of the Umpqua Credit Agreement to, among other things, (1) extend the maturity date from </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">November 27, 2022</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Times New Roman;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">October 15, 2024</span></span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">, (2) increase the revolving credit commitment from $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">20.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">25.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, (3) increase the letter of credit sub-facility from $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million to $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, (4) remove the minimum profitability covenants and (5) replace the LIBOR index rate with a Term Secured Overnight Financing Rate index rate. On February 7, 2024, the Company entered into a Sixth Amendment to extend the expiration date to October 15, 2025.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Any amounts outstanding under the letter of credit sub-facility reduce the amount available for the Company to borrow under the Revolving Facility. The available loan facility as of March 31, 2024 and December 31, 2023 was approximately $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">18.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, for both periods. As of March 31, 2024 and December 31, 2023, there was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million outstanding on the Company's line of credit, which the Company borrowed in August 2023 to partially fund the acquisition of SafePointe. The interest expense recorded for the three months ended March 31, 2024 was $</span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> million, based on a weighted-average interest rate of </span><span style="font-size:10pt;font-family:Times New Roman;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.33</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">%.</span></p> 2018-09-27 10000000 2022-11-27 2024-10-15 20000000 25000000 6000000 7500000 18000000 18000000 7000000 7000000 100000 0.0733 <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">Note 13. Commitments and Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;">Contingencies</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;font-style:italic;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">On August 28, 2018, Silvon S. Simmons (the “Plaintiff”) amended a complaint against the City of Rochester, New York and various city employees, filed in the United States District Court, Western District of New York, to add the Company and employees as a defendant. The amended complaint alleges conspiracy to violate the Plaintiff’s civil rights, denial of the right to a fair trial, and malicious prosecution. The Plaintiff claims that the Company colluded with the City of Rochester to fabricate and create gunshot alert evidence to secure Plaintiff’s conviction. On the basis of the allegations, the Plaintiff has petitioned for compensatory and punitive damages and other costs and expenses, including attorney’s fees. The Company believes that the Plaintiff’s claims are without merit and has disputed them vigorously. Following a motion for summary judgment by the Company on September 13, 2023, the court removed the Company as a defendant from the litigation. The Plaintiff then lost its case against the City of Rochester, New York at trial and may appeal.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:8pt;font-family:Times New Roman;min-width:fit-content;"> </span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">The Company may become subject to legal proceedings, as well as demands and claims that arise in the normal course of business. Such claims, even if not meritorious, could result in the expenditure of significant financial and management resources. The Company makes a provision for a liability relating to legal matters when it is both probable that a liability has been incurred and the amount of the loss can be reasonably estimated. These provisions are reviewed and adjusted to include the impacts of negotiations, estimated settlements, legal rulings, advice of legal counsel, and other information and events pertaining to a particular matter.</span></p><p style="text-indent:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">An unfavorable outcome on any litigation matters could require payment of substantial damages, or, in connection with any intellectual property infringement claims, could require the Company to pay ongoing royalty payments or could prevent the Company from selling certain of its products. As a result, a settlement of, or an unfavorable outcome on, any of the matters referenced above or other litigation matters could have a material adverse effect on the Company’s business, operating results, financial condition and cash flows.</span></p>