0001628280-24-022690.txt : 20240510 0001628280-24-022690.hdr.sgml : 20240510 20240510171130 ACCESSION NUMBER: 0001628280-24-022690 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 105 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240510 DATE AS OF CHANGE: 20240510 FILER: COMPANY DATA: COMPANY CONFORMED NAME: BIOLIFE SOLUTIONS INC CENTRAL INDEX KEY: 0000834365 STANDARD INDUSTRIAL CLASSIFICATION: ELECTROMEDICAL & ELECTROTHERAPEUTIC APPARATUS [3845] ORGANIZATION NAME: 08 Industrial Applications and Services IRS NUMBER: 943076866 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-36362 FILM NUMBER: 24935972 BUSINESS ADDRESS: STREET 1: 3303 MONTE VILLA PARKWAY STREET 2: SUITE 310 CITY: BOTHELL STATE: WA ZIP: 98021 BUSINESS PHONE: 4254011400 MAIL ADDRESS: STREET 1: 3303 MONTE VILLA PARKWAY STREET 2: SUITE 310 CITY: BOTHELL STATE: WA ZIP: 98021 FORMER COMPANY: FORMER CONFORMED NAME: BIOLIFE SOLUTION INC DATE OF NAME CHANGE: 20030113 FORMER COMPANY: FORMER CONFORMED NAME: CRYOMEDICAL SCIENCES INC DATE OF NAME CHANGE: 19920703 10-Q 1 blfs-20240331.htm 10-Q blfs-20240331
000083436512-312024Q1falseP3YP1YP1YP4YP1Y9191293xbrli:sharesiso4217:USDiso4217:USDxbrli:sharesblfs:reportable_segmentblfs:reporting_unitxbrli:pureblfs:noteblfs:peerblfs:employee00008343652024-01-012024-03-3100008343652024-05-0300008343652024-03-3100008343652023-12-310000834365us-gaap:SeriesAPreferredStockMember2023-12-310000834365us-gaap:SeriesAPreferredStockMember2024-03-310000834365us-gaap:ProductMember2024-01-012024-03-310000834365us-gaap:ProductMember2023-01-012023-03-310000834365us-gaap:ServiceMember2024-01-012024-03-310000834365us-gaap:ServiceMember2023-01-012023-03-310000834365blfs:RentalRevenueMember2024-01-012024-03-310000834365blfs:RentalRevenueMember2023-01-012023-03-3100008343652023-01-012023-03-310000834365us-gaap:PreferredStockMemberus-gaap:SeriesAPreferredStockMember2023-12-310000834365us-gaap:CommonStockMember2023-12-310000834365us-gaap:AdditionalPaidInCapitalMember2023-12-310000834365us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310000834365us-gaap:RetainedEarningsMember2023-12-310000834365us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310000834365us-gaap:CommonStockMember2024-01-012024-03-310000834365us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310000834365us-gaap:RetainedEarningsMember2024-01-012024-03-310000834365us-gaap:PreferredStockMemberus-gaap:SeriesAPreferredStockMember2024-03-310000834365us-gaap:CommonStockMember2024-03-310000834365us-gaap:AdditionalPaidInCapitalMember2024-03-310000834365us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310000834365us-gaap:RetainedEarningsMember2024-03-310000834365us-gaap:PreferredStockMemberus-gaap:SeriesAPreferredStockMember2022-12-310000834365us-gaap:CommonStockMember2022-12-310000834365us-gaap:AdditionalPaidInCapitalMember2022-12-310000834365us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310000834365us-gaap:RetainedEarningsMember2022-12-3100008343652022-12-310000834365us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310000834365us-gaap:CommonStockMember2023-01-012023-03-310000834365us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310000834365us-gaap:RetainedEarningsMember2023-01-012023-03-310000834365us-gaap:PreferredStockMemberus-gaap:SeriesAPreferredStockMember2023-03-310000834365us-gaap:CommonStockMember2023-03-310000834365us-gaap:AdditionalPaidInCapitalMember2023-03-310000834365us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310000834365us-gaap:RetainedEarningsMember2023-03-3100008343652023-03-310000834365us-gaap:CustomerConcentrationRiskMemberblfs:CustomerAMemberus-gaap:AccountsReceivableMember2024-01-012024-03-310000834365us-gaap:CustomerConcentrationRiskMemberblfs:CustomerAMemberus-gaap:AccountsReceivableMember2023-10-012023-12-310000834365us-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMemberblfs:CustomerBMember2024-01-012024-03-310000834365us-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMemberblfs:CustomerBMember2023-01-012023-03-310000834365us-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMemberblfs:CustomerCMember2024-01-012024-03-310000834365us-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMemberblfs:CustomerCMember2023-01-012023-03-310000834365us-gaap:SalesRevenueNetMemberblfs:CryoStorProductsMemberus-gaap:ProductConcentrationRiskMember2024-01-012024-03-310000834365us-gaap:SalesRevenueNetMemberblfs:CryoStorProductsMemberus-gaap:ProductConcentrationRiskMember2023-01-012023-03-310000834365blfs:XLEFreezerLineMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2024-01-012024-03-310000834365blfs:XLEFreezerLineMemberus-gaap:SalesRevenueNetMemberus-gaap:ProductConcentrationRiskMember2023-01-012023-03-310000834365us-gaap:SalesRevenueNetMembercountry:USus-gaap:GeographicConcentrationRiskMember2024-01-012024-03-310000834365us-gaap:SalesRevenueNetMembercountry:USus-gaap:GeographicConcentrationRiskMember2023-01-012023-03-310000834365us-gaap:EMEAMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-03-310000834365us-gaap:EMEAMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-03-310000834365blfs:GeographicOtherMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-03-310000834365blfs:GeographicOtherMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-03-310000834365us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2024-01-012024-03-310000834365us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2023-01-012023-03-310000834365us-gaap:SupplierConcentrationRiskMemberblfs:SupplyPurchaseMemberblfs:OneSupplierMember2024-01-012024-03-310000834365us-gaap:SupplierConcentrationRiskMemberblfs:SupplyPurchaseMemberblfs:OneSupplierMember2023-01-012023-03-310000834365us-gaap:SupplierConcentrationRiskMemberblfs:OneSupplierMemberus-gaap:AccountsPayableMember2024-01-012024-03-310000834365us-gaap:SupplierConcentrationRiskMemberblfs:OneSupplierMemberus-gaap:AccountsPayableMember2023-01-012023-12-310000834365srt:ScenarioPreviouslyReportedMember2023-12-310000834365srt:RestatementAdjustmentMember2023-12-310000834365us-gaap:MeasurementInputDiscountRateMemberblfs:SciSafeHoldingsIncMember2020-10-010000834365us-gaap:MeasurementInputRiskFreeInterestRateMemberblfs:SciSafeHoldingsIncMember2020-10-010000834365blfs:SciSafeHoldingsIncMemberblfs:MeasurementInputAssetPriceVolatilityMember2020-10-010000834365blfs:MeasurementInputRevenueVolatilityMemberblfs:SciSafeHoldingsIncMember2020-10-010000834365blfs:SciSafeHoldingsIncMember2020-10-010000834365blfs:SciSafeHoldingsIncMember2023-01-012023-03-310000834365us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:FairValueInputsLevel1Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:FairValueInputsLevel2Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:OtherDebtSecuritiesMember2024-03-310000834365us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:OtherDebtSecuritiesMember2024-03-310000834365us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:OtherDebtSecuritiesMember2024-03-310000834365us-gaap:FairValueMeasurementsRecurringMemberus-gaap:OtherDebtSecuritiesMember2024-03-310000834365us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:FairValueMeasurementsRecurringMember2024-03-310000834365us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:MoneyMarketFundsMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:FairValueInputsLevel1Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:FairValueInputsLevel2Memberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:OtherDebtSecuritiesMember2023-12-310000834365us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:OtherDebtSecuritiesMember2023-12-310000834365us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:OtherDebtSecuritiesMember2023-12-310000834365us-gaap:FairValueMeasurementsRecurringMemberus-gaap:OtherDebtSecuritiesMember2023-12-310000834365us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365us-gaap:FairValueMeasurementsRecurringMember2023-12-310000834365blfs:ContingentConsiderationLiabilitiesMember2022-12-310000834365blfs:ContingentConsiderationLiabilitiesMember2023-01-012023-03-310000834365blfs:ContingentConsiderationLiabilitiesMember2023-03-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMember2024-03-310000834365us-gaap:CorporateDebtSecuritiesMember2024-03-310000834365us-gaap:OtherDebtSecuritiesMember2024-03-310000834365us-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-12-310000834365us-gaap:CorporateDebtSecuritiesMember2023-12-310000834365us-gaap:OtherDebtSecuritiesMember2023-12-310000834365blfs:SeriesA1AndA2PreferredStockMember2024-03-310000834365blfs:SeriesA1AndA2PreferredStockMember2023-12-310000834365us-gaap:SeriesEPreferredStockMember2023-12-310000834365us-gaap:SeriesEPreferredStockMember2024-03-310000834365blfs:RealEstateLeaseMembersrt:MinimumMember2024-03-310000834365srt:MaximumMemberblfs:RealEstateLeaseMember2024-03-310000834365blfs:VehicleAndOtherEquipmentMembersrt:MinimumMember2024-03-310000834365srt:MaximumMemberblfs:VehicleAndOtherEquipmentMember2024-03-310000834365us-gaap:LeaseholdImprovementsMember2024-03-310000834365us-gaap:LeaseholdImprovementsMember2023-12-310000834365blfs:FurnitureAndComputerEquipmentMember2024-03-310000834365blfs:FurnitureAndComputerEquipmentMember2023-12-310000834365us-gaap:ManufacturingFacilityMember2024-03-310000834365us-gaap:ManufacturingFacilityMember2023-12-310000834365us-gaap:ConstructionInProgressMember2024-03-310000834365us-gaap:ConstructionInProgressMember2023-12-310000834365us-gaap:CustomerRelationshipsMember2024-03-310000834365us-gaap:TradeNamesMember2024-03-310000834365us-gaap:TechnologyBasedIntangibleAssetsMember2024-03-310000834365us-gaap:NoncompeteAgreementsMember2024-03-310000834365us-gaap:CustomerRelationshipsMember2023-12-310000834365us-gaap:TradeNamesMember2023-12-310000834365us-gaap:TechnologyBasedIntangibleAssetsMember2023-12-310000834365us-gaap:NoncompeteAgreementsMember2023-12-3100008343652021-05-012021-05-310000834365blfs:NotesPayableMember2021-05-310000834365blfs:NotesPayableMemberblfs:LondonInterbankOfferedRateLIBOR1Member2021-05-012021-05-310000834365blfs:NotesPayableMember2021-10-310000834365blfs:AdvantageTermNote1Memberblfs:NotesPayableMember2021-10-310000834365blfs:EnhancedTermNoteMemberblfs:NotesPayableMember2021-10-310000834365us-gaap:SubsequentEventMemberblfs:NotesPayableMember2024-04-172024-04-170000834365blfs:The2023TermLoanMember2022-09-200000834365blfs:The2023TermLoanMember2022-09-202022-09-200000834365blfs:The2023TermLoanMemberus-gaap:PrimeRateMember2022-09-202022-09-200000834365blfs:The2023TermLoanMember2024-03-310000834365blfs:GlobalCoolingAmendedTermNotesMember2024-03-310000834365blfs:GlobalCoolingAmendedTermNotesMember2023-12-310000834365blfs:TermLoanMember2023-12-310000834365blfs:TermLoanMember2024-03-310000834365blfs:FinancedInsurancePremiumMember2024-03-310000834365blfs:FinancedInsurancePremiumMember2023-12-310000834365blfs:FreezerEquipmentLoanMember2023-12-310000834365blfs:FreezerEquipmentLoanMember2024-03-310000834365blfs:ManufacturingEquipmentLoansMember2024-03-310000834365blfs:ManufacturingEquipmentLoansMember2023-12-310000834365blfs:FreezerInstallationLoanMember2023-12-310000834365blfs:FreezerInstallationLoanMember2024-03-310000834365blfs:OtherLoansMember2024-03-310000834365blfs:OtherLoansMember2023-12-310000834365blfs:TotalDebtMember2024-03-310000834365blfs:TotalDebtMember2023-12-310000834365blfs:ProductFreezerAndThawMember2024-01-012024-03-310000834365blfs:ProductFreezerAndThawMember2023-01-012023-03-310000834365blfs:ProductCellProcessingMember2024-01-012024-03-310000834365blfs:ProductCellProcessingMember2023-01-012023-03-310000834365blfs:StorageAndStorageServicesProductRevenueMember2024-01-012024-03-310000834365blfs:StorageAndStorageServicesProductRevenueMember2023-01-012023-03-310000834365blfs:StorageAndStorageServicesMember2024-01-012024-03-310000834365blfs:StorageAndStorageServicesMember2023-01-012023-03-310000834365blfs:ServiceFreezerAndThawMember2024-01-012024-03-310000834365blfs:ServiceFreezerAndThawMember2023-01-012023-03-310000834365blfs:StorageAndStorageServicesRentalRevenueMember2024-01-012024-03-310000834365blfs:StorageAndStorageServicesRentalRevenueMember2023-01-012023-03-310000834365blfs:ServiceRevenueMember2024-04-012024-03-310000834365blfs:ServiceRevenueMember2024-03-3100008343652024-04-01blfs:RentalRevenueMember2024-03-310000834365blfs:RentalRevenueMember2025-01-012024-03-310000834365blfs:ServiceRevenueMember2025-01-012024-03-310000834365us-gaap:EmployeeStockOptionMember2024-01-012024-03-310000834365us-gaap:EmployeeStockOptionMember2024-03-310000834365us-gaap:RestrictedStockMember2023-12-310000834365us-gaap:RestrictedStockMember2024-01-012024-03-310000834365us-gaap:RestrictedStockMember2024-03-310000834365us-gaap:PerformanceSharesMember2024-03-082024-03-080000834365us-gaap:PerformanceSharesMember2024-03-080000834365us-gaap:PerformanceSharesMember2024-01-012024-03-310000834365us-gaap:PerformanceSharesMember2024-03-310000834365us-gaap:PerformanceSharesMember2023-01-012023-03-310000834365blfs:MarketbasedRestrictedStockMember2023-12-310000834365blfs:MarketbasedRestrictedStockMember2024-01-012024-03-310000834365blfs:MarketbasedRestrictedStockMember2024-03-310000834365blfs:MarketbasedRestrictedStockMembersrt:ExecutiveOfficerMember2022-02-242022-02-240000834365blfs:MarketbasedRestrictedStockMember2024-03-082024-03-0800008343652022-02-242022-02-240000834365blfs:MarketbasedRestrictedStockMember2022-02-242022-02-240000834365blfs:MarketbasedRestrictedStockMembersrt:ExecutiveOfficerMember2023-01-032023-01-030000834365blfs:MarketbasedRestrictedStockMembersrt:MinimumMember2023-01-032023-01-030000834365srt:MaximumMemberblfs:MarketbasedRestrictedStockMember2023-01-032023-01-0300008343652023-01-032023-01-030000834365blfs:MarketbasedRestrictedStockMember2023-01-032023-01-030000834365srt:RestatementAdjustmentMember2023-01-012023-12-310000834365blfs:MarketbasedRestrictedStockMembersrt:ExecutiveOfficerMember2024-03-082024-03-080000834365blfs:MarketbasedRestrictedStockMembersrt:MinimumMember2024-03-082024-03-080000834365srt:MaximumMemberblfs:MarketbasedRestrictedStockMember2024-03-082024-03-0800008343652024-03-082024-03-080000834365blfs:MarketbasedRestrictedStockMember2023-01-012023-03-310000834365us-gaap:CostOfSalesMember2024-01-012024-03-310000834365us-gaap:CostOfSalesMember2023-01-012023-03-310000834365us-gaap:GeneralAndAdministrativeExpenseMember2024-01-012024-03-310000834365us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-03-310000834365us-gaap:SellingAndMarketingExpenseMember2024-01-012024-03-310000834365us-gaap:SellingAndMarketingExpenseMember2023-01-012023-03-310000834365us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-03-310000834365us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-03-310000834365blfs:ShareBasedPaymentArrangementOptionAndRestrictedStockAwardsMember2024-01-012024-03-310000834365blfs:ShareBasedPaymentArrangementOptionAndRestrictedStockAwardsMember2023-01-012023-03-310000834365us-gaap:SubsequentEventMemberus-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMemberblfs:GCIHoldingsMemberblfs:GlobalCoolingMember2024-04-170000834365us-gaap:SubsequentEventMemberblfs:GlobalCoolingMember2024-04-170000834365us-gaap:SubsequentEventMemberblfs:GlobalCoolingMemberus-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember2024-04-172024-04-170000834365us-gaap:SubsequentEventMemberblfs:GlobalCoolingMemberus-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember2024-04-170000834365blfs:StockCompensationExpenseMemberus-gaap:SubsequentEventMemberblfs:GlobalCoolingMemberus-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember2024-04-172024-04-170000834365blfs:CashExpendituresMemberus-gaap:SubsequentEventMemberblfs:GlobalCoolingMemberus-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember2024-04-172024-04-170000834365us-gaap:SubsequentEventMemberblfs:SecondAmendmentTermLoanMember2024-04-170000834365us-gaap:SubsequentEventMemberblfs:SecondAmendmentTermLoanMember2024-04-172024-04-170000834365blfs:AbyJMatthewMember2024-01-012024-03-310000834365blfs:AbyJMatthewMember2024-03-31
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, DC 20549
____________________________________________________
FORM 10-Q
þ QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended March 31, 2024
o 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-36362
____________________________________________________
BioLife Solutions, Inc.
(Exact name of registrant as specified in its charter)
Img 0.jpg
____________________________________________________
Delaware94-3076866
(State or other jurisdiction of
incorporation or organization)
(IRS Employer
Identification No.)
3303 Monte Villa Parkway, Suite 310, Bothell, Washington, 98021
(Address of registrants principal executive offices, Zip Code)
(425) 402-1400
(Telephone number, including area code)
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading symbolName of exchange on which registered
Common stock, par value $0.001 per shareBLFS
The NASDAQ Stock Market, LLC
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 o
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 (S232.405 of this chapter) during the preceding 12 months (or for such shorter period that the Registrant was required to submit said files). Yes þ No o
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of “large accelerated filer”, “accelerated filer”, “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act.
Large accelerated filer þ Accelerated filer o Non-accelerated filer o Smaller reporting company o Emerging Growth Company o
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. o
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes o No þ
As of May 3, 2024, 46,030,886 shares of the registrant’s common stock were outstanding.
1

BIOLIFE SOLUTIONS, INC.
FORM 10-Q
FOR THE QUARTER ENDED MARCH 31, 2024
TABLE OF CONTENTS
2

PART I. FINANCIAL INFORMATION
Item 1. Financial Statements
BioLife Solutions, Inc.
Unaudited Condensed Consolidated Balance Sheets
March 31,December 31,
(In thousands, except per share and share data)20242023
Assets
Current assets:
Cash and cash equivalents$29,694 $35,407 
Restricted cash31 31 
Available-for-sale securities, current portion15,579 16,288 
Accounts receivable, trade, net of allowance for credit losses of $1,745 and $1,710 as of March 31, 2024 and December 31, 2023, respectively
18,574 18,657 
Inventories43,414 43,456 
Prepaid expenses and other current assets4,408 6,765 
Total current assets111,700 120,604 
Assets held for rent, net6,904 7,713 
Property and equipment, net21,042 21,077 
Operating lease right-of-use assets, net10,779 11,446 
Financing lease right-of-use assets, net65 94 
Long-term deposits and other assets245 273 
Available-for-sale securities, long-term822 548 
Equity investments5,069 5,069 
Intangible assets, net20,235 21,149 
Goodwill224,741 224,741 
Total assets$401,602 $412,714 
Liabilities and Shareholders Equity
  
Current liabilities:  
Accounts payable$4,984 $6,940 
Accrued expenses and other current liabilities8,863 11,932 
Sales taxes payable5,395 5,442 
Warranty liability7,800 7,858 
Lease liabilities, operating, current portion2,645 2,797 
Lease liabilities, financing, current portion352 376 
Debt, current portion8,619 6,833 
Total current liabilities38,658 42,178 
Lease liabilities, operating, long-term12,579 13,205 
Lease liabilities, financing, long-term1,086 1,169 
Debt, long-term15,681 18,311 
Deferred tax liabilities193 188 
Total liabilities68,197 75,051 
Commitments and contingencies (Note 12)
Shareholders’ equity:  
Preferred stock, $0.001 par value; 1,000,000 shares authorized, Series A, 4,250 shares designated, and 0 shares issued and outstanding as of March 31, 2024 and December 31, 2023
- - 
Common stock, $0.001 par value; 150,000,000 shares authorized, 45,689,583 and 45,167,225 shares issued and outstanding, respectively, as of March 31, 2024 and December 31, 2023
46 45 
Additional paid-in capital659,063 652,880 
Accumulated other comprehensive loss, net of taxes(566)(345)
Accumulated deficit(325,138)(314,917)
Total shareholders’ equity333,405 337,663 
Total liabilities and shareholders’ equity$401,602 $412,714 
The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.
3

BioLife Solutions, Inc.
Unaudited Condensed Consolidated Statements of Operations
Three Months Ended
March 31,
(In thousands, except per share and share data)20242023
  
Product revenue$24,803 $31,593 
Service revenue5,088 4,471 
Rental revenue1,836 1,639 
Total product, rental, and service revenue31,727 37,703 
Costs and operating expenses:  
Cost of product revenue (exclusive of intangible assets amortization)14,384 18,397 
Cost of service revenue (exclusive of intangible assets amortization)3,519 3,891 
Cost of rental revenue (exclusive of intangible assets amortization)1,263 1,376 
General and administrative12,934 14,842 
Sales and marketing5,070 6,471 
Research and development3,534 4,152 
Intangible asset amortization914 1,459 
Acquisition costs237  
Change in fair value of contingent consideration 720 
Total operating expenses41,855 51,308 
Operating loss(10,128)(13,605)
Other income (expense):  
Interest expense, net(207)(411)
Other income245 394 
Total other income (expense), net38 (17)
  
Loss before income tax expense(10,090)(13,622)
Income tax expense(131)(92)
Net loss$(10,221)$(13,714)
  
Net loss attributable to common shareholders:  
Basic and Diluted$(10,221)$(13,714)
Net loss per share attributable to common shareholders:  
Basic and Diluted$(0.22)$(0.32)
Weighted average shares used to compute loss per share attributable to common shareholders:  
Basic and Diluted45,432,42643,027,612
The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.
4

BioLife Solutions, Inc.
Unaudited Condensed Consolidated Statements of Comprehensive Loss
Three Months Ended
March 31,
(In thousands)20242023
Net loss$(10,221)$(13,714)
Other comprehensive income (loss):  
Foreign currency translation adjustment, net of tax(203)106 
Unrealized (loss) gain on available-for-sale securities, net of tax(18)39 
Comprehensive loss$(10,442)$(13,569)
The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.
5

BioLife Solutions, Inc.
Unaudited Condensed Consolidated Statements of Shareholders Equity

Three Months Ended March 31, 2024
(In thousands, except share data)Series A
Preferred
Stock
Shares
Series A
Preferred
Stock
Amount
Common
Stock
Shares
Common
Stock
Amount
Additional
Paid-in
Capital
Accumulated
Other
Comprehensive
Income
Accumulated Deficit
Total Shareholders’ Equity
Balance, December 31, 2023-$- 45,167,225$45 $652,880 $(345)$(314,917)$337,663 
Stock-based compensation--6,183 6,183 
Stock issued – on vested RSAs-522,3581 1 
Foreign currency translation--(203)(203)
Unrealized loss on available-for-sale securities--(18)(18)
Net loss--(10,221)(10,221)
Balance, March 31, 2024-$- 45,689,583$46 $659,063 $(566)$(325,138)$333,405 


Three Months Ended March 31, 2023
(In thousands, except share data)Series A
Preferred
Stock
Shares
Series A
Preferred
Stock
Amount
Common
Stock
Shares
Common
Stock
Amount
Additional Paid-in Capital
Accumulated
Other
Comprehensive
Loss
Accumulated
Deficit
Total Shareholders’ Equity
Balance, December 31, 2022-$- 42,832,231$43 $611,739 $(679)$(246,915)$364,188 
Stock-based compensation--7,363 7,363 
Stock option exercises-80,938125 125 
Stock issued – on vested RSAs-376,800
Foreign currency translation--106 106 
Unrealized gain on available-for-sale securities--39 39 
Net loss--(13,714)(13,714)
Balance, March 31, 2023-$- 43,289,969$43 $619,227 $(534)$(260,629)$358,107 
The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.
6

BioLife Solutions, Inc.
Unaudited Condensed Consolidated Statements of Cash Flows
Three Months Ended
March 31,
(In thousands)20242023
Cash flows from operating activities
Net loss$(10,221)$(13,714)
Adjustments to reconcile net loss to net cash used in operating activities
Depreciation1,364 1,721 
Amortization of intangible assets914 1,459 
Amortization of loan costs- 13 
Stock-based compensation6,183 7,363 
Non-cash lease (benefit) expense(83)418 
Deferred income tax expense5 13 
Change in fair value of contingent consideration- 720 
Accretion of available-for-sale investments(182)(390)
(Gain) loss on disposal of property and equipment, net(14)68 
Loss on disposal of assets held for rent, net198 218 
Other- (50)
Change in operating assets and liabilities, net of effects of acquisitions
Accounts receivable, trade, net65 3,612 
Inventories42 (6,425)
Prepaid expenses and other assets2,392 661 
Accounts payable(1,956)157 
Accrued expenses and other current liabilities(2,767)371 
Warranty liability(58)583 
Sales taxes payable20 510 
Other(377)(20)
Net cash used in operating activities(4,475)(2,712)
Cash flows from investing activities
Purchases of available-for-sale securities(6,374)(8,202)
Proceeds from sale of available-for-sale securities973 524 
Maturities of available-for-sale securities6,000 14,900 
Purchases of assets held for rent(464)(1,001)
Purchases of property and equipment(356)(3,295)
Net cash (used in) provided by investing activities(221)2,926 
Cash flows from financing activities
Payments on equipment loans(241)(127)
Proceeds from exercise of common stock options- 125 
Payments on financed insurance premium(727)(569)
Other16 9 
Net cash used in financing activities(952)(562)
Net decrease in cash, cash equivalents, and restricted cash(5,648)(348)
Cash, cash equivalents, and restricted cash – beginning of period35,438 19,473 
7

Effects of currency translation on cash, cash equivalents, and restricted cash(65)11 
Cash, cash equivalents, and restricted cash – end of period$29,725 $19,136 
Non-cash investing and financing activities
Purchase of property and equipment not yet paid$26 $347 
Assets acquired under operating leases$- $880 
Unrealized gains and losses on currency translation$(6)$- 
Unrealized gains and losses on available-for-sale securities$18 $(39)
Cash interest paid$445 $497 
The accompanying notes are an integral part of these Unaudited Condensed Consolidated Financial Statements.
8

BioLife Solutions, Inc.
Notes to Unaudited Condensed Consolidated Financial Statements
1.    Organization and significant accounting policies
Business
BioLife Solutions, Inc. (“BioLife”, “us”, “we”, “our”, or the “Company”) is a developer, manufacturer, and supplier of a portfolio of bioproduction tools and services including proprietary biopreservation media, automated thawing devices, cloud-connected shipping containers, ultra-low temperature mechanical freezers, cryogenic and controlled rate freezers, and biological and pharmaceutical materials storage. Our CryoStor® freeze media and HypoThermosol® hypothermic storage media are optimized to preserve cells in the regenerative medicine market. These novel biopreservation media products are serum-free and protein-free, fully defined, and are formulated to reduce preservation-induced cell damage and death. Our Sexton cell processing product line includes human platelet lysates (“hPL”) for cell expansion, reducing risk and improving downstream performance over fetal bovine serum, human serum, and other chemically defined media, CellSeal® cryogenic vials that are purpose-built rigid containers used in cell and gene therapy (“CGT”) that can be filled manually or with high throughput systems, and automated cell processing machines that bring multiple processes traditionally performed by manual techniques under a higher level of control to protect therapies from loss or contamination. Our ThawSTAR® product line is composed of a family of automated thawing devices for frozen cell and gene therapies packaged in cryovials and cryobags. These products help administer temperature-sensitive biologic therapies to patients by standardizing the thawing process and reducing the risks of contamination and overheating, which are inherent with the use of traditional water baths. Our cryogenic freezer technology provides for controlled rate freezing and cryogenic storage of biologic materials. Our ultra-low temperature mechanical freezers allow biological materials and vaccines to be stored at temperatures which range from negative 20℃ to negative 86℃. Our evo® shipping containers provide cloud-connected passive storage and transport containers for temperature-sensitive biologics and pharmaceuticals. Our biological and pharmaceutical materials storage services provide facilities that allow for real-time tracking of biologic materials and vaccines that can be stored at a wide range of temperatures.
On April 17, 2024, the Company sold all of the issued and outstanding shares of common stock of Global Cooling, Inc., a Delaware corporation and wholly owned subsidiary of the Company (“Global Cooling”), to GCI Holdings Company, LLC, an Ohio limited liability company (“GCI Holdings”) pursuant to a Stock Purchase Agreement (the “Purchase Agreement”), by and between the Company and GCI Holdings (the “Global Cooling Divestiture”). The Global Cooling Divestiture was considered a subsequent event to the financial results presented as of March 31, 2024. Global Cooling is therefore presented as a part of our continuing operations as of the three months ended March 31, 2024. For additional information on the Global Cooling Divestiture, see Note 19: Subsequent events.
Use of estimates
The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.
Significant estimates and assumptions by management affect the Company’s net realizable value of inventory, sales tax liabilities, valuation of market-based stock awards, valuations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, contingent consideration from business combinations, and provision for income taxes.
The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.
Basis of presentation

The Unaudited Condensed Consolidated Financial Statements and related footnote disclosures as of and for the three months ended March 31, 2024 are unaudited, and are not necessarily indicative of the Company’s operating results for a
9

full year. The Unaudited Condensed Consolidated Financial Statements include all normal and recurring adjustments necessary for a fair presentation of the Company’s financial results for the three months ended March 31, 2024 in accordance with U.S. GAAP, however, certain information and footnote disclosures normally included in annual financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to the U.S. Securities and Exchange Commission (the “SEC”) rules and regulations relating to interim financial statements. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company’s Annual Report on Form 10-K as of and for the fiscal year ended December 31, 2023, filed with the SEC on February 29, 2024 (the “Annual Report”).
The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiaries, SAVSU Technologies, Inc. (“SAVSU”), Arctic Solutions, Inc. doing business as Custom Biogenic Systems (“CBS”), SciSafe Holdings, Inc. (“SciSafe”), BioLife Solutions B.V, Global Cooling, Inc. doing business as Stirling Ultracold (“Global Cooling” or “GCI”), and Sexton Biotechnologies, Inc. (“Sexton”). All intercompany accounts and transactions have been eliminated in consolidation.
In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are not necessarily indicative of results to be expected for the entire year.
Foreign currency translation
The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheets, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Comprehensive Loss, Unaudited Condensed Consolidated Statements of Shareholders’ Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company’s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.
Segment reporting
The Company views its operations and makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. The Company’s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.
Significant accounting policies
There have been no significant changes to the accounting policies during the three months ended March 31, 2024, as compared to the significant accounting policies described in our Annual Report.
Liquidity and capital resources

On March 31, 2024 and December 31, 2023, we had $46.1 million and $52.3 million in cash, cash equivalents, and available-for-sale securities, respectively. Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next twelve months from the date of the filing of this Quarterly Report on Form 10-Q (this “Form 10-Q”).
Risks and uncertainties
The preparation of financial statements requires the use of estimates and assumptions that affect the reported amounts of assets and liabilities at the reporting date and revenues and expenses during the reporting periods. These estimates represent management's judgment about the outcome of future events. The global business environment continues to be impacted by cost pressure, the overall effects of economic uncertainty on customers' purchasing patterns, high interest rates, and other
10

factors. It is not possible to accurately predict the future impact of such events and circumstances. Actual results could differ from our estimates.
For additional information, see caption “Risk Factors” identified in Part I, Item 1A of our Annual Report and in Part II, Item 1A of this Form 10-Q.
Concentrations of credit risk and business risk
Significant customers are those that represent more than 10% of the Company’s total revenue or gross accounts receivable balances for the periods and as of each balance sheet date presented. For each significant customer, revenue as a percentage of total revenue and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:
Accounts ReceivableRevenue
March 31,December 31,Three Months Ended
March 31,
2024202320242023
Customer A12 %14 %**
Customer B**10 %14 %
Customer C**11 %10 %
*less than 10%
Revenue from foreign customers is denominated in United States dollars or euros.
The following table represents the Company’s products representing more than 10% of the Company’s total revenue:
Three Months Ended
March 31,
Product revenue concentration20242023
CryoStor41 %44 %
780XLE Freezer13 %14 %
The following table represents the Company’s total revenue by geographic area (based on the location of the customer):
Three Months Ended
March 31,
Revenue by customers geographic locations(1)
20242023
United States(2)
80 %79 %
Europe, Middle East, Africa (EMEA)15 %18 %
Other5 %3 %
Total revenue100 %100 %
(1) During the year ended December 31, 2023, the Company updated its methodology for determining the country of origin for its sales. Sales are now recorded by shipping country rather than billing country. The Company updated the methodology retrospectively, adjusting the prior year presentation for all regions presented.
(2) The line item presented above previously bifurcated sales between the United States and Canada. Due to the updated methodology for determining the country of origin for sales, it was noted that Canada no longer was a material location to separately disclose. Canada sales have been included within the "Other" line item in the table above and United States sales have been retained as a single line item to more accurately reflect origin of sales for material regions.
In the three months ended March 31, 2024, one supplier accounted for 13% of purchases. In the three months ended March 31, 2023, one supplier accounted for 15% of purchases.
11

As of March 31, 2024, one supplier accounted for 11% of our accounts payable. As of December 31, 2023, one supplier accounted for 12% of our accounts payable.
Recent accounting pronouncements
In March 2024, the SEC adopted final rules on the enhancement and standardization of climate-related disclosures of public companies. The final rules require disclosure of, among other things, material climate-related risks and their impact; activities to mitigate or adapt to material climate-related risks; governance and oversight of climate-related risks; and material Scope 1 and/or Scope 2 greenhouse gas emissions with an accompanying assurance report required following an initial transition period, at a limited assurance level, and then following an additional transition period, at a reasonable assurance level. In addition, the effects of severe weather events and other natural conditions, subject to certain thresholds, and amounts related to carbon offsets and renewable energy credits or certificates are required to be disclosed in the notes to the audited financial statements in certain circumstances.
On April 4, 2024, the SEC voluntarily stayed the implementation of the final rules pending the completion of judicial review of the consolidated challenges to the final rules by the Court of Appeals for the Eighth Circuit. The final rules, as originally issued, would be effective for the Company in various fiscal years, starting with its Annual Report on Form 10-K for fiscal year 2025. Disclosures pursuant to the final rules, as originally issued, would be required prospectively, with information for prior periods required only to the extent it was previously disclosed in an SEC filing. The Company is currently evaluating the impact of the final rules on its Consolidated Financial Statements and disclosures.
2.    Correction of immaterial errors
During the three months ended March 31, 2024, we determined that an error existed in our previously issued consolidated financial statements. Specifically, we identified we had not properly accelerated stock compensation expense related to unvested shares of market-based awards of certain employees upon their termination during the fourth quarter of 2023. The error was evaluated under the U.S. Securities and Exchange Commission's ("SEC's") Staff Accounting Bulletin ("SAB") Topic 1M, "Materiality," and SEC SAB Topic 1N, "Considering the Effects of Prior Year Misstatements when Quantifying Misstatements in the Current Year Financial Statements" to determine the materiality of prior period misstatements to the Company’s financial statements. We evaluated the error and concluded that it was not material to the previously issued consolidated financial statements. Although the error was not material to any period, we corrected the accompanying historical consolidated financial statements for the year ended December 31, 2023 to reflect the additional stock compensation expense incurred within each period for comparative purposes.
The following table represents the adjustments to our Consolidated Balance Sheet as of December 31, 2023 in accordance with ASC 250. The adjustments to our Consolidated Statement of Shareholders’ Equity was limited to the adjustments outlined below.
The effect of the adjustments to our Consolidated balance Sheet as of December 31, 2023 was as follows (in thousands):
December 31, 2023
(In thousands)As reportedAdjustmentAs corrected
Additional paid-in-capital$651,305 $1,575 $652,880 
Accumulated deficit(313,342)(1,575)(314,917)
3.    Fair value measurement
In accordance with FASB ASC Topic 820, Fair Value Measurements and Disclosures, (“ASC Topic 820”), the Company measures its financial instruments at fair value on a recurring basis. The carrying values of certain of our financial instruments including cash and cash equivalents, accounts receivable, accounts payable, and accrued liabilities approximate fair value because of their short maturities. The carrying value of our marketable debt securities, which are accounted for as available-for-sale, are classified within either Level 1 or Level 2 in the fair value hierarchy because we use quoted market prices or alternative pricing sources and models utilizing market observable inputs to determine their fair value. The carrying values of our long-term debt, which is classified within Level 2 in the fair value hierarchy, approximates fair value as our borrowings with lenders are at interest rates that approximate market rates for comparable loans. The fair values of investments and contingent consideration classified as Level 3 were derived from management assumptions. The Company also measures certain assets and liabilities at fair value on a non-recurring basis when applying acquisition accounting.
12

ASC Topic 820 clarifies that fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, ASC Topic 820 establishes a three-tier value fair hierarchy, which prioritizes the inputs used in measuring fair value as follows:
Level 1 – Observable inputs that reflect quoted prices (unadjusted) in active markets for identical assets or liabilities.
Level 2 – Observable inputs other than quoted prices included in Level 1 for similar assets or liabilities, quoted prices in markets that are not active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the related assets or liabilities.
Level 3 – Unobservable data points for the asset or liability, and include situations where there is little, if any, market activity for the asset or liability.
The fair value of the SciSafe contingent consideration liability was valued based on unobservable inputs using a Monte Carlo simulation. These inputs included the estimated amount and timing of projected future revenue, a discount rate of 4.5%, a risk-free rate of approximately 0.2%, asset volatility of 60%, and revenue volatility of 15%. Significant changes in any of those inputs in isolation would result in a significant change in the fair value measurement of the liability. Generally, changes used in the assumptions for projected future revenue and revenue volatility would be accompanied by a directionally similar change in the fair value measurement. Conversely, changes in the discount rate would be accompanied by a directionally opposite change in the related fair value measurement. However, due to the contingent consideration having a maximum payout amount, changes in these assumptions would not affect the fair value of the contingent consideration if they increase (decrease) beyond certain amounts. At the acquisition date, the contingent consideration was determined to have a fair value of $3.7 million. Subsequent to the acquisition date, the SciSafe contingent consideration liability was re-measured to fair value with changes recorded in the Change in fair value of contingent consideration in the Unaudited Condensed Consolidated Statements of Operations.
During the most recent re-measurement of the contingent consideration liability as of December 31, 2023, the Company determined it appropriate to write-off the remaining balance of the SciSafe contingent consideration liability. The target revenue required for earnout was not met during the year ended December 31, 2023 and had been determined to not be probable to achieve in future years. The change in fair value of contingent consideration of $0.7 million associated with the contingent consideration liability was included within the Change in fair value of contingent consideration in the Condensed Consolidated Statements of Operations for the three months ended March 31, 2023.
There were no remeasurements to fair value during the three months ended March 31, 2024 of financial assets and liabilities that are not measured at fair value on a recurring basis.
13

The following tables set forth the Company’s financial assets and liabilities measured at fair value on a recurring basis as of March 31, 2024 and December 31, 2023, based on the three-tier fair value hierarchy:
(In thousands)
As of March 31, 2024Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market accounts$16,260 $- $- $16,260 
Available-for-sale securities:    
U.S. government securities5,891 - - 5,891 
Corporate debt securities- 7,847 - 7,847 
Other debt securities- 2,663 - 2,663 
Total$22,151 $10,510 $- $32,661 
As of December 31, 2023
Assets:
Cash equivalents:
Money market accounts$25,034 $- $- $25,034 
Available-for-sale securities:
U.S. government securities5,170 - - 5,170 
Corporate debt securities- 9,674 - 9,674 
Other debt securities- 1,992 - 1,992 
Total$30,204 $11,666 $- $41,870 
There have been no transfers of assets or liabilities between the fair value measurement levels.
The following table presents the changes in fair value of contingent consideration liabilities that are measured using Level 3 inputs for the three months ended March 31, 2023. There was no contingent consideration liability outstanding as of March 31, 2024.
Three Months Ended March 31,
(In thousands)2023
Balance at beginning of period$4,456 
Change in fair value recognized in net loss720 
Balance at end of period$5,176 

14

4.    Investments
Available-for-sale securities
The Company’s portfolio of available-for-sale marketable securities consists of the following:
March 31, 2024
Amortized
Cost
Gross unrealizedEstimated
Fair Value
(In thousands)GainsLosses
Available-for-sale securities, current portion    
U.S. government securities$5,897 $- $(6)$5,891 
Corporate debt securities7,851 1 (5)7,847 
Other debt securities1,842 - (1)1,841 
Total short-term15,590 1 (12)15,579 
     
Available-for-sale securities, long-term    
Other debt securities823 - (1)822 
Total marketable securities$16,413 $1 $(13)$16,401 
December 31, 2023
Amortized
Cost
Gross unrealizedEstimated
Fair Value
(In thousands)GainsLosses
Available-for-sale securities, current portion
U.S. government securities$5,169 $1 $- $5,170 
Corporate debt securities9,673 5 (4)9,674 
Other debt securities1,443 1 - 1,444 
Total short-term16,285 7 (4)16,288 
Available-for-sale securities, long-term
Other debt securities545 3 - 548 
Total marketable securities$16,830 $10 $(4)$16,836 
March 31, 2024
(In thousands)Amortized
Cost
Estimated
Fair Value
Due in one year or less$15,590 $15,579 
Due after one year through five years823 822 
Total$16,413 $16,401 
Equity investments
The Company periodically invests in non-marketable equity securities of private companies without a readily determinable fair value to promote business and strategic objectives. The securities are carried at cost minus impairment, if any, plus or minus changes resulting from observable process changes in orderly transactions for identical or similar transactions of the same issuer. These securities included Series A-1 and A-2 Preferred Stock in iVexSol, Inc. carried at $4.1 million for the periods ending March 31, 2024 and December 31, 2023, and Series E Preferred Stock in PanTHERA CryoSolutions, Inc. carried at $1.0 million as of March 31, 2024 and December 31, 2023.
15

5.    Inventories
Inventories consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Raw materials$24,330 $26,219 
Work in progress6,737 7,128 
Finished goods12,347 10,109 
Total inventories$43,414 $43,456 
6.    Leases
The Company has various operating lease agreements for office space, warehouses, manufacturing, and production locations as well as vehicles and other equipment. Our real estate leases had original lease terms of three to eleven years and have remaining lease terms of one to eight years. We exclude options that are not reasonably certain to be exercised from our lease terms, ranging from one to five years. Our lease payments consist primarily of fixed rental payments for the right to use the underlying leased assets over the lease terms, with all other lease payments consisting of variable lease costs. For certain leases, we receive incentives from our landlords, such as rent abatements, which effectively reduce the total lease payments owed for these leases. Vehicle and other equipment operating leases had original lease terms of four to five years and have remaining terms between one and five years.
Our financing leases relate to research equipment, machinery, and other equipment.
The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company’s leases as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Weighted average discount rate - operating leases4.3 %4.3 %
Weighted average discount rate - finance leases8.4 %8.3 %
Weighted average remaining lease term in years - operating leases6.26.4
Weighted average remaining lease term in years - finance leases3.94.1
The components of lease expense for the three months ended March 31, 2024 and 2023 were as follows:
Three Months Ended
March 31,
(In thousands)20242023
Operating lease costs$804 $897 
Financing lease costs59  
Short-term lease costs442 402 
Total operating lease costs1,305 1,299 
   
Variable lease costs361 259 
Total lease costs$1,666 $1,558 
16

Maturities of our lease liabilities as of March 31, 2024 are as follows:
(In thousands)Operating
Leases
Financing
Leases
2024 (9 months remaining)$2,471 $349 
20253,030 424 
20262,574 389 
20272,280 387 
20282,042 134 
Thereafter4,896 - 
Total lease payments17,293 1,683 
Less: interest(2,069)(245)
Total present value of lease liabilities$15,224 $1,438 
7.     Assets held for rent
Assets held for rent consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Shippers placed in service$9,709 $9,866 
Fixed assets held for rent579 1,468 
Accumulated depreciation(6,080)(6,272)
Subtotal4,208 5,062 
Shippers and related components in production2,696 2,651 
Total$6,904 $7,713 
Shippers and related components in production include shippers complete and ready to be deployed and placed in service upon a customer order, shippers in the process of being assembled, and components available to build shippers. We recognized $0.7 million and $0.8 million in depreciation expense related to assets held for rent during the three months ended March 31, 2024 and 2023, respectively.
8.    Property and equipment
Property and equipment consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Property and equipment  
Leasehold improvements$5,927 $5,913 
Furniture and computer equipment819 820 
Manufacturing and other equipment20,871 19,893 
Construction in-progress4,112 3,953 
Subtotal31,729 30,579 
Less: Accumulated depreciation(10,687)(9,502)
Property and equipment, net$21,042 $21,077 
Depreciation expense for property and equipment was $0.7 million and $0.9 million for the three months ended March 31, 2024 and 2023, respectively.
17

9.    Goodwill and intangible assets
Goodwill
Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination is determined to have an indefinite useful life and is not amortized but instead is tested for impairment at least annually in accordance with ASC 350.
Intangible assets
Intangible assets, net consisted of the following as of March 31, 2024 and December 31, 2023:
(In thousands, except weighted average useful life)March 31, 2024
Intangible assets:
Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted
Average Useful
Life (in years)
Customer relationships$9,936 $(4,353)$5,583 10.4
Tradenames8,134 (2,231)5,903 11.0
Technology - acquired18,372 (9,705)8,667 3.8
Non-compete agreements750 (668)82 0.5
Total intangible assets$37,192 $(16,957)$20,235 7.1
(In thousands, except weighted average useful life)December 31, 2023
Intangible assets:
Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted
Average Useful
Life (in years)
Customer relationships$9,936 $(4,217)$5,719 10.7
Tradenames8,134 (2,077)6,057 11.3
Technology - acquired18,372 (9,123)9,249 4.1
Non-compete agreements750 (626)124 0.8
Total intangible assets$37,192 $(16,043)$21,149 7.3
Amortization expense for definite-lived intangible assets was $0.9 million and $1.5 million for the three months ended March 31, 2024 and 2023, respectively. As of March 31, 2024, the Company expects to record the following amortization expense for definite-lived intangible assets:
(In thousands)Amortization
Expense
For the Years Ending December 31,
2024 (9 months remaining)$2,689 
20253,468 
20263,358 
20272,605 
20281,500 
Thereafter6,615 
Total$20,235 

18

10.    Accrued expenses and other current liabilities
Accrued expenses and other current liabilities consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Accrued expenses$4,253 $6,909 
Accrued taxes667 562 
Accrued compensation3,644 3,800 
Deferred revenue, current299 661 
Total accrued expenses and other current liabilities$8,863 $11,932 
11.    Warranty reserve liability
The Company reserves estimated exposures on known claims, as well as anticipated claims, for product warranty and rework cost, based on historical product liability claims. Claim costs are deducted from the accrual when paid. Factors that could have an impact on the warranty accrual in any given period include the following: changes in manufacturing quality, changes in product costs, changes in product mix and any significant changes in sales volume.
A rollforward of our warranty liability is as follows:
Three Months Ended
March 31,
(In thousands)20242023
Balance at beginning of period$7,858 $8,312 
Provision for warranties767 1,891 
Settlements of warranty claims(825)(1,308)
Balance at end of period$7,800 $8,895 
12.    Commitments and contingencies
Employment agreements
We have employment agreements with certain key employees. None of these employment agreements is for a definitive period, but rather each will continue indefinitely until terminated in accordance with its terms. The agreements provide for a base annual salary, payable in monthly (or shorter) installments. Under certain conditions and for certain of these officers, we may be required to pay additional amounts upon terminating the employee or upon the employee resigning for good reason.
Litigation
From time to time, the Company is subject to various legal proceedings that arise in the ordinary course of business, none of which are currently material to the Company’s business. The Company’s industry is characterized by frequent claims and litigation, including claims regarding intellectual property. As a result, the Company may be subject to various legal proceedings from time to time. The results of any future litigation cannot be predicted with certainty, and regardless of the outcome, litigation can have an adverse impact on the Company because of defense and settlement costs, diversion of management resources and other factors. Management is not aware of any significant pending or threatened litigation that is anticipated to result in unfavorable judgments against the Company.
Indemnification
As permitted under Delaware law and in accordance with the Company’s bylaws, the Company is required to indemnify its officers and directors for certain errors and occurrences while the officer or director is or was serving in such capacity. The Company is also party to indemnification agreements with its directors. The Company believes the fair value of the
19

indemnification rights and agreements is minimal. Accordingly, the Company has not recorded any liabilities for these indemnification rights and agreements as of March 31, 2024 and December 31, 2023.
Purchase obligations
Purchase obligations are defined as agreements to purchase goods or services that are enforceable and legally binding and that specify all significant terms, including fixed or minimum quantities to be purchased, fixed, minimum, or variable pricing provisions and the approximate timing of the transactions. As of March 31, 2024, our total short-term obligations were $10.0 million.
Non-income related taxes
Companies are required to collect and remit sales tax from certain customers if the company is determined to have nexus in a particular state. Upon the determination of nexus, which varies by state, companies are additionally required to maintain detailed record of specific product and customer information within each jurisdiction in which it has established nexus to appropriately determine their sales tax liability, requiring technical knowledge of each jurisdiction’s tax case law. During the year ended December 31, 2023, the Company determined that a sales tax liability related to the periods of 2019 through 2023 was probable and determined an estimated liability. The estimated liability was approximately $5.0 million and $5.4 million as of March 31, 2024 and December 31, 2023, respectively. Due to the variety of jurisdictions in which this estimated liability relates to and our ongoing assessment of sales taxes owed, we cannot predict when final liabilities will be satisfied. We will reevaluate the estimated liability and timing of satisfaction each reporting period.
13.    Long-term debt
Global Cooling Term Notes
In May 2021, the Company assumed three term notes in the acquisition of Global Cooling. At the time of acquisition, these notes carried aggregate outstanding principal balances of $4.4 million. These term notes bore interest at a floating rate equal to the 3-month LIBOR rate plus 6.5%. The term notes included financial covenants tied to the performance of Global Cooling.
In October 2021, the Company entered into amended and restated term notes for all three term notes (the “Global Cooling Term Notes”) with two lenders. As amended, the principal amount borrowed pursuant to the Global Cooling Amended Term Notes” consisted of an aggregate $4.6 million, with one lender providing two term notes in the principal amount of $1.4 million per note and a separate lender providing one term note in the principal amount of $1.8 million. The maturity dates for the Global Cooling Amended Term Notes are July 17, 2024, September 7, 2024, and December 18, 2027, respectively. All three Global Cooling Amended Term Notes bear interest at a fixed rate of 4.0%, were interest-only with one balloon principal payment at maturity, and could be pre-paid without penalty at any time. The Company fully extinguished the Global Cooling Amended Term Notes with maturity dates of September 7, 2024 and July 17, 2024 on September 20, 2022 and July 17, 2023, respectively. All financial covenants included in the original term notes previously in effect were removed upon amendment and restatement pursuant to the Global Cooling Amended Term Notes.
In connection with the Global Cooling Divestiture as of April 17, 2024, the Company fully extinguished the remaining balance of the Global Cooling Amended Term Notes, totaling $2.6 million. For additional information regarding the Global Cooling Divestiture and associated costs incurred by the Company, see Note 19: Subsequent events.
Term Loan
On September 20, 2022, the Company and certain of its subsidiaries entered into a term loan agreement (the “Loan Agreement”), which provides for a term loan in an aggregate maximum principal amount of up to $60 million in the increments and upon the dates and milestones described below (the “Term Loan”). The Term Loan matures on June 1, 2026. The Loan Agreement permitted the Company to borrow up to $30 million upon the initial closing of the transactions contemplated by the Loan Agreement (the “Term Loan Closing”), and provided options to borrow (i) up to $10 million between the Term Loan Closing and June 30, 2023, (ii) up to $10 million upon the achievement of certain revenue milestones by the Company, and (iii) an additional $10 million at the discretion of the lender. The Company borrowed $20 million at the Term Loan Closing and accounts for the Term Loan at cost. As of December 31, 2023, the Company had not drawn additional funding nor had it met the revenue milestones outlined within the Loan Agreement. The Company had until December 31, 2023 to draw an additional $10 million, subject to approval from the lender, and therefore has no
20

additional opportunities under the Loan Agreement. Payments on the borrowing are interest-only through June 2024, with additional criteria allowing for interest-only payments to continue through June 2025. Tranches borrowed under the Loan Agreement bear interest at the Wall Street Journal prime rate plus 0.5%. However, the interest rate is subject to a ceiling that restricts the interest rate for each tranche from exceeding 1.0% above the overall rate applicable to each tranche at their respective funding dates and has a balloon payment due at the earliest of term loan maturity, repayment of the Term Loan in full, or termination of the Loan Agreement at $1.2 million. As of March 31, 2024, the implied interest rate of the Term Loan is 6.6% and the implied value of the Term Loan is $20.4 million. The Loan Agreement contains customary representations and warranties as well as customary affirmative and negative covenants. As of March 31, 2024, the Company is in compliance with the covenants set forth in the Loan Agreement.
On April 17, 2024, the Company entered into a Consent and Second Amendment to the Term Loan (the “Amendment”) by and among Silicon Valley Bank, a division of First-Citizens Bank & Trust Company (“Bank”) and the Company and its subsidiaries. For additional information on the Amendment, see Note 19: Subsequent events.
Long-term debt consisted of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)Maturity DateInterest Rate20242023
Global Cooling Amended Term NotesVarious4.0 %$2,596 $2,596 
Term LoanJun-267.0 %20,000 20,000 
Insurance premium financingJul-24Various622 1,348 
Freezer equipment loanDec-255.7 %279 317 
Manufacturing equipment loansOct-255.7 %147 172 
Freezer installation loanVarious6.3 %736 807 
Other loansVariousVarious1 2 
Total debt, excluding unamortized debt issuance costs24,381 25,242 
Less: unamortized debt issuance costs(81)(98)
Total debt24,300 25,144 
Less: current portion of debt(8,619)(6,833)
Total long-term debt$15,681 $18,311 
As of March 31, 2024, the Term Loan was secured by substantially all assets of BioLife, SAVSU, CBS, SciSafe, Global Cooling, and Sexton, other than intellectual property, and the Global Cooling Term Amended Notes were secured by substantially all assets of Global Cooling, which security interest was effectively subordinated to the security interest established by the Loan Agreement. Equipment loans are secured by the financed equipment.
In connection with the Global Cooling Divestiture as of April 17, 2024, the Company entered into the Amendment as described above to remove Global Cooling as a party to the Loan Agreement and to release Bank's security interest in the assets of Global Cooling and the shares of capital stock of Global Cooling arising under the Loan Agreement.
As of March 31, 2024, the scheduled maturities of loans payable for each of the next five years and thereafter were as follows:
(In thousands)Amount
2024 (9 months remaining)$5,975 
202510,511 
20265,218 
20272,596 
2028- 
Thereafter- 
Total debt$24,300 
21

14.    Revenue
To determine revenue recognition for contractual arrangements that we determine are within the scope of FASB Topic 606, Revenue from Contracts with Customers, we perform the following five steps: (i) identify each contract with a customer; (ii) identify the performance obligations in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to our performance obligations in the contract; and (v) recognize revenue when (or as) we satisfy the relevant performance obligation. We only apply the five-step model to contracts when it is probable that we will collect the consideration we are entitled to in exchange for the goods or services we transfer to the customer. Contracts with customers may contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through past transactions, the Company estimates the standalone selling price, taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. Payment terms and conditions vary, although terms generally include a requirement of payment within 30 to 90 days. As of March 31, 2024 and December 31, 2023, our deferred revenue balance totaled $0.3 million and $0.7 million, respectively. During the three months ended March 31, 2024 and 2023, the Company recognized approximately $0.4 million and $0.2 million, respectively, of revenue that was included in the deferred revenue balance at the beginning of the year.
The Company primarily recognizes product revenues, service revenues, and rental revenues. Product revenues are generated from the sale of cell processing tools, freezers, thawing devices, and cold chain products. We recognize product revenue, including shipping and handling charges billed to customers, at a point in time when we transfer control of our products to our customers, which is upon shipment for substantially all transactions. Shipping and handling costs are classified as part of cost of product revenue in the Condensed Consolidated Statements of Operations. Service revenue is generated from the storage of biological and pharmaceutical materials. We recognize service revenue over time as services are performed or ratably over the contract term. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in ASC Topic 606, the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less. None of the Company’s contracts contained a significant financing component as of and during the three months ended March 31, 2024.
The Company also generates revenue from the leasing of our property, plant, and equipment, operating right-of-use assets, and evo cold chain systems within its biostorage services product line to customers pursuant to service contracts or rental arrangements entered into with the customer. Revenue from these arrangements is not within the scope of FASB ASC Topic 606 as it is within the scope of FASB ASC Topic 842, Leases. All customers leasing shippers currently do so under annual rental arrangements. We account for these rental transactions as operating leases and record rental revenue on a straight-line basis over the rental term.
The Company enters into various customer service agreements (collectively, “Service Contracts”) with customers to provide biological and pharmaceutical storage services. In certain of these Service Contracts, the property, plant, and equipment or operating right-of-use assets used to store the customer product are used only for the benefit of one customer. This is primarily driven by the customer’s desire to ensure that sufficient storage capacity is available in a specific geographic location for a set period of time. These agreements may include extension and termination clauses. These Service Contracts do not allow for customers to purchase the underlying assets.
The Company has assessed its Service Contracts and concluded that certain of the contracts for the storage of customer products met the criteria to be considered a leasing arrangement (“Embedded Leases”), with the Company as the lessor. The specific Service Contracts that met the criteria were those that provided a single customer with the ability to substantially direct the use of the Company’s property, plant, and equipment or operating right-of-use assets.
Applying the practical expedient from ASC Topic 842, consistent with the previous guidance, the Company will continue to recognize operating right-of-use asset embedded lessor arrangements on its Unaudited Condensed Consolidated Balance Sheets in operating right-of-use assets.
22

None of the Embedded Leases identified by the Company qualify as a sales-type or direct finance lease. None of the operating leases for which the Company is the lessor include options for the lessee to purchase the underlying asset at the end of the lease term or residual value guarantees, nor are any such operating leases with related parties.
Embedded Leases may contain both lease and non-lease components. We have elected to utilize the practical expedient from ASC Topic 842 to account for lease and non-lease components together as a single combined lease component as the timing and pattern of transfer are the same for the non-lease components and associated lease component and, the lease component, if accounted for separately, would be classified as an operating lease. Non-lease components of the Company’s rental arrangements include reimbursements of lessor costs.
Total bioproduction tools and services revenue for the three months ended March 31, 2024 and 2023 were composed of the following:
Three Months Ended
March 31,
(In thousands, except percentages)20242023
Product revenue  
Freezer and thaw$8,334 $12,381 
Cell processing16,186 18,993 
Biostorage services283 219 
Service revenue  
Biostorage services4,975 3,825 
Freezer and thaw113 646 
Rental revenue  
Biostorage services1,836 1,639 
Total revenue$31,727 $37,703 
The following table includes estimated rental revenue expected to be recognized in the future related to Embedded Leases as well as estimated service revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied as of the end of the reporting periods. The Company is electing not to disclose the value of the remaining unsatisfied performance obligation with a duration of one year or less as permitted by the practical expedient in ASU 2014-09, Revenue from Contracts with Customers. The estimated revenue in the following table does not include contracts with the original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of March 31, 2024. As of March 31, 2024, we did not have rental revenue expected to be recognized.
The balances in the table below are partially based on judgments involved in estimating future orders from customers pursuant to their respective contracts:
(In thousands)2024 (9 months remaining)Total
Service revenue$18 $18 
23

15.    Stock-based compensation
Service-based vesting stock options
The following is a summary of service-based vesting stock option activity for the March 31, 2024, and the status of service-based vesting stock options outstanding as of March 31, 2024:
Three Months Ended
March 31, 2024
Options
Wtd. Avg. Exercise Price
Outstanding as of beginning of period217,250 $2.21 
Exercised  
Outstanding as of March 31, 2024217,250 $2.21 
Stock options exercisable as of March 31, 2024217,250 $2.21 
As of March 31, 2024, there was $3.6 million of aggregate intrinsic value of outstanding and exercisable service-based vesting stock options. Intrinsic value is the total pretax intrinsic value for all “in-the-money” options (i.e., the difference between the Company’s closing stock price on the last trading day of the reporting period and the exercise price, multiplied by the number of shares) that would have been received by the option holders had all option holders exercised their options on March 31, 2024. This amount will change based on the fair market value of the Company’s stock. We did not recognize stock compensation expense related to service-based options during the three months ended March 31, 2024. There were no service-based vesting options granted during the three months ended March 31, 2024. The weighted average remaining contractual life of service-based vesting stock options outstanding and exercisable as of March 31, 2024 is 1.8 years. There were no unrecognized compensation costs for service-based vesting stock options as of March 31, 2024.
Restricted stock
Service-based vesting restricted stock
The following is a summary of service-based vesting restricted stock activity for the three months ended March 31, 2024, and the status of unvested service-based vesting restricted stock outstanding as of March 31, 2024:
Three Months Ended
March 31, 2024
Shares
Wtd. Avg. Grant Date Fair Value
Outstanding as of beginning of period2,312,898 $18.32 
Granted186,272 17.36 
Vested(221,829)24.02 
Forfeited(51,340)17.69 
Non-vested as of March 31, 20242,226,001 $17.66 
The aggregate fair value of the service-based vesting awards granted was $3.2 million during the three months ended March 31, 2024. The aggregate fair value of the service-based vesting awards that vested was $3.7 million during the three months ended March 31, 2024.
We recognized stock compensation expense related to service-based vesting awards of $4.7 million during the three months ended March 31, 2024. As of March 31, 2024, there was $35.4 million in unrecognized compensation costs related to service-based vesting awards. We expect to recognize those costs over 2.6 years.
24

Performance-based restricted stock
On March 8, 2024, the Company granted 109,512 shares of performance-based stock to an executive in the form of restricted stock. The shares granted contain performance conditions based on several Company metrics related to future performance. The grant date fair value of this award was $17.36 per share. The fair value of this award is being expensed on a straight-line basis over the requisite service period ending on December 31, 2025.
We recognized stock compensation expense of $0.2 million related to performance-based restricted stock awards for the three months ended March 31, 2024. As of March 31, 2024, there was $1.7 million in unrecognized non-cash compensation costs related to performance-based restricted stock awards expected to vest. We expect to recognize those costs over 1.8 years. Non-cash compensation costs are expensed over the period for which performance was measured.

The aggregate fair value of the performance-based awards granted during the three months ended March 31, 2024 was $1.9 million. No performance-based awards vested during the three months ended March 31, 2024.

No performance-based restricted stock awards were granted or vested during the three months ended March 31, 2023.
Market-based restricted stock
The following is a summary of market-based restricted stock activity under our stock option plan for the three months ended March 31, 2024 and the status of market-based restricted stock outstanding as of March 31, 2024:
Three Months Ended
March 31, 2024
Shares
Wtd. Avg. Grant
Outstanding as of beginning of period509,166 $26.50 
Granted299,565 23.20 
Vested(300,529)27.97 
Non-vested as of March 31, 2024508,202 $25.70 
On February 24, 2022, the Company granted 240,428 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on total shareholder return ("TSR"). The TSR market condition measures the Company’s performance against a peer group. On March 8, 2024, the Company’s Compensation Committee determined the TSR attainment was 125% of the targeted shares and 300,529 shares were granted and immediately vested to the executives of the Company based on our TSR during the period beginning on January 1, 2022 through December 31, 2023 as compared to the TSR of 20 of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 63%, 0% dividend yield and a risk-free interest rate of 1.5%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a 0% dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $6.7 million is being expensed on a straight-line basis over the grant date to the vesting date of December 31, 2023.
On January 3, 2023, the Company granted 268,738 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company’s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our TSR during the period beginning on January 1, 2023 through December 31, 2024 as compared to the TSR of 20 of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 78%, 0% dividend yield and a risk-free interest rate of 4.4%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a 0% dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this
25

award of $6.8 million is being expensed on a straight-line basis over the grant date to the vesting date of December 31, 2024, excluding $1.6 million of expense recognized in 2023 to reflect accelerations in the vesting period of certain awards.
On March 8, 2024, the Company granted 239,464 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company’s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our TSR during the period beginning on January 1, 2024 through December 31, 2025 as compared to the TSR of 20 of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 80%, 0% dividend yield and a risk-free interest rate of 4.6%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a 0% dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $6.3 million is being expensed on a straight-line basis over the grant date to the vesting date of December 31, 2025.
We recognized stock compensation expense of $1.1 million and $1.3 million related to market-based restricted stock awards for the three months ended March 31, 2024 and 2023, respectively. As of March 31, 2024, there was $8.6 million in unrecognized non-cash compensation costs related to market-based restricted stock awards expected to vest. We expect to recognize those costs over 1.5 years.
The aggregate fair value of the market-based awards granted was $6.3 million and $6.5 million during the three months ended March 31, 2024 and 2023, respectively. The aggregate fair value of the market-based awards that vested was $5.1 million and $0.7 million during the three months ended March 31, 2024 and 2023, respectively.
Total stock compensation expense
Compensation expense associated with equity-based awards is recognized on a straight-line basis over the requisite service period, with awards generally vesting over a 4-year period, and forfeitures recognized as incurred. We recorded total stock compensation expense for the three months ended March 31, 2024 and 2023, as follows:
 Three Months Ended
March 31,
(In thousands)20242023
Cost of revenue$1,120 $1,631 
General and administrative costs3,130 3,293 
Sales and marketing costs1,186 1,256 
Research and development costs747 1,183 
Total$6,183 $7,363 
16.    Income taxes
The Company accounts for income taxes under ASC Topic 740 – Income Taxes. Under this standard, deferred tax assets and liabilities are recognized for future tax benefits or consequences attributable to temporary differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled.
The Company’s tax provision for interim periods is determined using an estimate of the annual effective income tax rate, adjusted for discrete items, if any, that occur in the relevant period. The income tax expense of $0.1 million for the three months ended March 31, 2024 resulted in an effective income tax rate of negative 1.2%. Included in the $0.1 million was a discrete tax expense of $0.6 million related to a stock compensation shortfall, which was offset by a change in the valuation allowance.
26

The Company’s U.S. projected effective income tax rate without discrete items was negative 1.8%, which is lower than the U.S. federal statutory rate of 21% primarily due to the increase in the valuation allowance on US deferred tax assets and non-deductible executive compensation offset by state tax benefits and research tax credits.
Realization of deferred tax assets is dependent upon the generation of future taxable income, the timing and amount of which are uncertain. In determining the need for a valuation allowance, the Company’s management evaluates both positive and negative evidence when concluding whether it is more likely than not that deferred tax assets are realizable. After reviewing the evidence available, the Company’s management believes there is uncertainty regarding the future realizability of the U.S. net operating loss carryforward and is projecting a full valuation allowance of $54.7 million by year end. If operating results improve and projections indicate future utilization of the tax attributes, all or a portion of the valuation allowance would be released, resulting in a corresponding non-cash income tax benefit.
17.    Net loss per common share
The Company considers its unvested restricted shares, which contain non-forfeitable rights to dividends, as participating securities, and includes such participating securities in its computation of earnings per share pursuant to the two-class method. Basic earnings per share is calculated by dividing net loss by the weighted average number of shares of common stock outstanding during the reporting period. Diluted earnings per share is calculated using the weighted average number of shares of common stock plus the potentially dilutive effect of common equivalent shares outstanding determined under both the two-class method and the treasury stock method, whichever is more dilutive. In periods when we have a net loss, common stock equivalents are excluded from our calculation of earnings per share as their inclusion would have an antidilutive effect.
The following table presents computations of basic and diluted earnings per share:
Three Months Ended
March 31,
(In thousands, except share and earnings per share data)20242023
Basic earnings (loss) per common share
Numerator:
Net loss$(10,221)$(13,714)
Net loss allocated to common shareholders(10,221)(13,714)
Denominator:
Weighted-average common shares issued and outstanding45,432,42643,027,612
Basic and diluted loss per common share$(0.22)$(0.32)
The following table sets forth the number of weighted-average shares of common stock excluded from the computation of diluted loss per share, as their inclusion would have been anti-dilutive:
Three Months Ended
March 31,
20242023
Stock options and restricted stock awards3,766,8243,153,029
Total3,766,8243,153,029
18.    Employee benefit plan
The Company sponsors 401(k) defined contribution plan for its employees. This plan provides for pre-tax and post-tax contributions for all employees. Employee contributions are voluntary. Employees may contribute up to 100% of their annual compensation to this plan as limited by an annual maximum amount as determined by the Internal Revenue Service. The Company matches employee contributions in amounts to be determined at the Company’s sole discretion. The Company made $0.3 million in contributions to this plan for the three months ended for both March 31, 2024 and 2023.
27

19.    Subsequent events
Stock Purchase Agreement for Global Cooling Divestiture
The Company has evaluated events subsequent to March 31, 2024 through the date of this filing to assess the need for potential recognition or disclosure.
On April 17, 2024, the Company entered into the Purchase Agreement by and between the Company and GCI Holdings, which is wholly owned by an consulting contractor of Global Cooling, for the sale of all of the issued and outstanding shares of common stock of Global Cooling to GCI Holdings for an aggregate purchase price of $1.00. In addition, at the closing of the GCI Divestiture, Global Cooling was required to have $7.0 million in cash on its balance sheet, of which, $4.9 million in cash funded by the Company, and the Company was required to repay approximately $2.6 million of outstanding indebtedness of Global Cooling, and assume certain other liabilities of Global Cooling. Following the execution of the Purchase Agreement, the GCI Divestiture was consummated on April 17, 2024. The Company expects to recognize a loss on the GCI Divestiture, calculated as follows:
(In thousands)April 17, 2024
Selling price: $1
$ 
Cash to Global Cooling funded by Company(4,910)
Approximate costs to sell Global Cooling(1)
(2,409)
Negative selling price(7,319)
Global Cooling carrying basis as of December 31, 2023(2)
(963)
Estimated net loss on disposal$(8,282)
(1) Represents the costs incurred in connection with the GCI Divestiture, including fees to be paid to the broker, attorneys, and other external parties.
(2) The Company is utilizing the carrying basis of Global Cooling as of December 31, 2023 as an estimate for its carrying basis as of the date of divestiture. The carrying basis to calculate the loss on disposal will utilize the carrying basis as of the date of divestiture on April 17, 2024, and may differ from the estimate noted here upon disclosure in the second quarter of 2024.
The Company’s estimates are subject to a number of assumptions, and actual results may differ.
In connection with the Company’s entry into the Purchase Agreement, the Company implemented a reduction in force (the “RIF”) related to the business of Global Cooling, which reduced the Company’s workforce by 47 employees (representing approximately 11% of its full-time employees). The Company’s Board of Directors approved the RIF on March 29, 2024, and all affected employees were informed by April 18, 2024, following the execution of the Purchase Agreement. The Company expects to recognize approximately $1.6 million of charges in connection with the RIF, comprised of approximately $1.3 million of stock compensation expense and approximately $0.3 million in cash expenditures, substantially all of which are expected to be related to employee severance costs. The Company expects to recognize most of these expenditures in the second quarter of 2024. The Company’s estimates are subject to a number of assumptions, and actual results may differ. The Company may also incur additional costs not currently contemplated due to events that may occur as a result of, or that are associated with, the RIF. In addition, the Company expects to recognize approximately $4.5 million in stock compensation expense in connection with the acceleration of unvested shares for all former employees of the Company that remained with Global Cooling upon the closing of the GCI Divestiture.
The following table summarizes the additional costs incurred by the Company in connection with closing the GCI Divestiture and expected to be recorded during the second quarter of 2024:
28

(In thousands)April 17, 2024
Global Cooling Term Notes payoff(1)
$2,596 
Assumed liabilities from Global Cooling(2)
2,353 
RIF compensation expenses(3)
1,595 
Global Cooling employee stock based compensation expense(4)
4,106 
Total$10,650 
(1) As a condition to close the GCI Divestiture, the Company repaid the balance of the Global Cooling Amended Term Notes. For additional information on the terms of the Global Cooling Term Notes, see Note 13: Long-term debt.
(2) As a condition to close the GCI Divestiture, the Company assumed certain accounts payable and accrued expenses from Global Cooling, totaling to approximately $1.8 million and $0.6 million, respectively.
(3) The Company expects to recognize approximately $1.6 million of charges in connection with the RIF, comprised of approximately $1.3 million of stock compensation expense and approximately $0.3 million in cash expenditures, substantially all of which are expected to be related to employee severance costs.
(4) The Company expects to recognize approximately $4.5 million in stock compensation expense in connection with the acceleration of unvested shares for all former employees of the Company that remained with Global Cooling upon the closing of the GCI Divestiture.
In addition, upon the closing of the Transaction, the Company and Global Cooling entered into a transition services agreement, pursuant to which the Company will provide certain transition services to Global Cooling for up to 90 days following the Closing Date.
Second Amendment to Loan and Security Agreement with Silicon Valley Bank

Additionally, on April 17, 2024, the Company entered into the Amendment by and among Bank and Borrower. Pursuant to the Amendment and subject to the conditions set forth therein, Bank consented to the GCI Divestiture and released its security interests in the assets of Global Cooling and the shares of capital stock of Global Cooling arising under the Loan Agreement. In addition, effective as of the closing of the GCI Divestiture, the Amendment amended the Loan Agreement to remove Global Cooling as a party to the Loan Agreement and provide for a non-refundable termination fee in the amount of $500,000 payable by Borrower to Bank in the event that the Loan Agreement is terminated prior to the Term Loan Maturity Date (as defined in the Loan Agreement) for any reason. The Amendment additionally contained a financial covenant requiring the Company to limit cash outflows and unsecured indebtedness in connection with the Transaction to $15 million or less. The Amendment also contains customary representations and warranties of Borrower and provides for a release of Bank by Borrower for any claims existing or arising through the date of the Amendment, including, without limitation, those arising out of or in any manner connected with or related to the Loan Agreement.
29

Item 2. Managements discussion and analysis of financial condition and results of operations
Forward looking statements

Certain statements contained in this Quarterly Report on Form 10-Q are not historical facts and may be forward-looking statements within the meaning of the Private Securities Litigation Reform Act of 1995. Words such as “plans,” “expects,” “believes,” “anticipates,” “designed,” and similar words are intended to identify forward-looking statements. Forward-looking statements are based on our current expectations and beliefs, and involve a number of risks and uncertainties that are difficult to predict and that could cause actual results to differ materially from those stated or implied by the forward-looking statements. A description of certain of these risks, uncertainties and other matters can be found in filings we make with the U.S. Securities and Exchange Commission (the “SEC”), all of which are available at www.sec.gov, including our Annual Report on Form 10-K as of and for the fiscal year ended December 31, 2023, filed with the SEC on February 29, 2024, (the "Annual Report"). Because forward-looking statements involve risks and uncertainties, actual results and events may differ materially from results and events currently expected by us. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of the date hereof. We undertake no obligation to publicly update these forward-looking statements to reflect events or circumstances that occur after the date hereof or to reflect any change in its expectations with regard to these forward-looking statements or the occurrence of unanticipated events.

Overview
Management’s discussion and analysis provides additional insight into the Company and is provided as a supplement to, and should be read in conjunction with, our Annual Report.
We are a life sciences company that develops, manufactures and supplies bioproduction tools and services which are designed to improve quality and de-risk biologic manufacturing, storage, distribution, and transportation in the cell and gene therapy industry and the broader biopharma market. Our products are used in basic and applied research and commercial manufacturing of biologic-based therapies. Customers use our products to maintain the health and function of biologic material during sourcing, manufacturing, storage, and distribution.
We currently operate as one bioproduction tools and services business which supports several steps in the biologic material manufacturing and delivery process. We have a diversified portfolio of tools and services that focus on biopreservation, cell processing, frozen biologic storage products and services, cold-chain transportation, and thawing of biologic materials. We have in-house expertise in cryobiology and continue to capitalize on opportunities to maximize the value of our product platform for our extensive customer base through both organic growth innovations and acquisitions.

On April 17, 2024, the Company sold all of the issued and outstanding shares of common stock of Global Cooling, Inc., a Delaware corporation and wholly owned subsidiary of the Company (“Global Cooling”), to GCI Holdings Company, LLC, an Ohio limited liability company (“GCI Holdings”), pursuant to a Stock Purchase Agreement, by and between the Company and GCI Holdings (the “Global Cooling Divestiture”). The Global Cooling Divestiture was considered a subsequent event of the financial results presented as of March 31, 2024. Global Cooling is therefore presented as a part of our continuing operations as of the three months ended March 31, 2024. For additional information on the details of the Purchase Agreement, see Note 19: Subsequent events, to the Unaudited Condensed Consolidated Financial Statements in this Quarterly Report on Form 10-Q.
Our products
Our bioproduction tools and services are composed of three revenue lines that contain seven main offerings:
Cell processing
Biopreservation media
Human platelet lysate media (“hPL”), cryogenic vials, and automated cell-processing fill machines
Freezers and thaw systems
Ultra-low temperature freezers
Cryogenic freezers and accessories
Automated thawing devices
Biostorage services
Biological and pharmaceutical material storage
30

Cloud connected “smart” shipping containers
Critical accounting policies and estimates
A “critical accounting policy” is one which is both important to the portrayal of our financial condition and results and requires management’s most difficult, subjective or complex judgments, often as a result of the need to make estimates about the effect of matters that are inherently uncertain. For a description of our critical accounting policies that affect our more significant judgments and estimates used in the preparation of our Unaudited Condensed Consolidated Financial Statements, refer to Management’s Discussion and Analysis of Financial Condition and Results of Operations and our significant accounting policies in Note 1 to the Consolidated Financial Statements included in our Annual Report and Part I, Note 1 to the Unaudited Condensed Consolidated Financial Statements in this Quarterly Report on Form 10-Q.
Results of operations
The following discussion of the financial condition and results of operations should be read in conjunction with the accompanying Unaudited Condensed Consolidated Financial Statements and the related footnotes thereto.
Revenues
Total revenue for three and three months ended March 31, 2024 and 2023 consisted of the following:
Three Months Ended
March 31,
(In thousands, except percentages)20242023$ Change% Change
Product revenue
Freezer and thaw$8,334 $12,381 $(4,047)(33)%
Cell processing16,186 18,993 $(2,807)(15)%
Biostorage services283 219 $64 29 %
Service revenue
Biostorage services4,975 3,825 $1,150 30 %
Freezer and thaw113 646 $(533)(83)%
Rental revenue
Biostorage services1,836 1,639 $197 12 %
Total revenue$31,727 $37,703 $(5,976)(16)%
Product revenue
Product revenue was $24.8 million for the three months ended March 31, 2024, representing a decrease of $6.8 million, or 21%, compared with the same period in 2023. The decrease for the three months ended March 31, 2024 is primarily driven by decreases in sales within our ULT freezer and thaw and cell processing product lines compared to the same period in 2023. Decreases in cell processing product revenues are largely driven by an overall decrease in capital expenditure investment from the broader biopharma markets in addition to our customers destocking inventory levels compared to the prior year.
Product revenue from our freezer and thaw products decreased by $4.0 million, or 33%, in the three months ended March 31, 2024 compared with the same period in 2023. The decrease can be attributed to a decrease in sales of our ULT freezer line compared to the prior year by our biggest distributor.
Product revenue from our cell processing products decreased by $2.8 million, or by 15%, during the three months ended March 31, 2024 compared with the same period in 2023. The decrease in revenue from cell processing products is driven by customers reducing safety stock levels and a decrease in biotech funding that began in the later part of 2023.
Product revenue from our biostorage services increased by $0.1 million, or 29%, in the three months ended March 31, 2024, compared with the same period in 2023. The increase relates to larger volumes of consumables sold from our evo product line.
31

Service revenue
Service revenue was $5.1 million for the three months ended March 31, 2024, representing an increase of $0.6 million, or 14%, compared with the same period in 2023. The increase relates primarily to the expansion of service revenue generated by SciSafe storage services.
Rental revenue
Rental revenue was $1.8 million for the three months ended March 31, 2024, representing an increase of $0.2 million, or 12%, compared with the same period in 2023. The increase is associated with revenue from new customers.
Costs and operating expenses
Total costs and operating expenses for three months ended March 31, 2024 and 2023 were composed of the following:
Three Months Ended
March 31,
(In thousands, except percentages)20242023$ Change% Change
Cost of product, rental, and service revenue$19,166 $23,664 $(4,498)(19)%
General and administrative12,934 14,842 $(1,908)(13)%
Sales and marketing5,070 6,471 $(1,401)(22)%
Research and development3,534 4,152 $(618)(15)%
Intangible asset amortization914 1,459 $(545)(37)%
Acquisition costs237 — $237 — %
Change in fair value of contingent consideration— 720 $(720)NM
Total operating expenses$41,855 $51,308 $(9,453)(18)%
Cost of product, rental, and service revenue
Cost of revenue decreased $4.5 million for the three months ended March 31, 2024, or 19%, compared to the same period in 2023, due primarily to decreases in sales across multiple product lines compared to the prior year.
Cost of revenue inclusive of intangible amortization related to acquired technology was 62% as a percentage of revenue for the three months ended March 31, 2024, compared to 65% as a percentage of revenue for the three months ended March 31, 2023. The decrease in cost of revenue inclusive of intangible amortization related to acquired technology for the three months ended March 31, 2024 is a result of a favorable product mix in our media product line and a greater concentration of higher margin revenue as a percentage of total revenue, in addition to decreases in personnel expenses, including stock-based compensation expenses.
General and administrative expenses
General and administrative (“G&A”) expense consists primarily of personnel-related expenses, stock-based compensation, professional fees, such as accounting and consulting fees, and corporate insurance.
G&A expenses for the three months ended March 31, 2024 decreased $1.9 million, or 13%, compared with the same period in 2023. The decrease reflects a decrease in headcount compared to the prior year, driving decreases in personnel expenses from stock-based compensation.
Sales and marketing expenses
Sales and marketing expense (“S&M”) consists primarily of personnel-related costs, stock based compensation, consulting, advertising, and travel expense.
32

S&M expense for the three months ended March 31, 2024 decreased $1.4 million, or 22%, compared with the same period in 2023. The decrease is primarily due to a decrease in headcount compared to the prior year, driving decreases in personnel expenses from stock-based compensation.
Research and development expenses
Research and development (“R&D”) expense consists primarily of personnel-related costs, consulting, research supplies, and milestone expenses related to third party research agreements.
R&D expense for the three months ended March 31, 2024 decreased $0.6 million, or 15%, compared with the same period in 2023. The decrease is primarily due to a decrease in headcount compared to the prior year, driving decreases in personnel expenses from stock-based compensation, offset by research milestone payments in relation to our equity investment in PanTHERA.
Intangible asset amortization expense
Intangible asset amortization expense consists of charges related to the amortization of intangible assets associated with the acquisitions of Astero, SAVSU, CBS, SciSafe, Global Cooling, and Sexton in which we acquired definite-lived intangible assets.
Change in fair value of contingent consideration
Change in fair value of contingent consideration consists of changes in estimated fair value of our potential earnouts related to our SciSafe acquisition. The benefit recognized in the three months ended March 31, 2023 relates primarily to changes in our estimated probability of achieving earnout targets set forth within the purchase agreements.
Other income (expense)
Total other income and expenses for the three months ended March 31, 2024 and 2023 were composed of the following:
Three Months Ended
March 31,
(In thousands, except percentages)20242023$ Change% Change
Interest expense, net$(207)$(411)$204 50 %
Other income245 394 $(149)NM
Total other income (expense), net$38 $(17)$55 324 %
Interest expense, net
Interest expense, net incurred during the three months ended March 31, 2024 related primarily to the Term Loan (as defined in Note 13: Long-term debt, to the Unaudited Condensed Consolidated Financial Statements in this Quarterly Report on Form 10-Q) obtained in September 2022, financed insurance premiums, and the Global Cooling Amended Term Notes (as defined in Note 13: Long-term debt, to the Unaudited Condensed Consolidated Financial Statements in this Quarterly Report on Form 10-Q). We also earn interest on cash held in our money market account. Decreases in interest expense, net during the three months ended March 31, 2024 can be attributed to the increases in interest income generated by our cash management strategy while interest expenses remained consistent compared to the same period in 2023.
Liquidity and capital resources
On March 31, 2024 and December 31, 2023, we had $46.1 million and $52.3 million in cash, cash equivalents, and available-for-sale securities, respectively.
On April 17, 2024, the Company consummated the Global Cooling Divestiture. The Company provided $4.9 million in cash funding to effectuate the transaction and estimates it will pay $2.4 million to the brokers, attorneys, and other external parties. In addition, the Company expects to recognize $10.7 million in expenses in connection with the Global Cooling Divestiture, of which $5.2 million will be paid from cash from operations in the second quarter, for meeting certain post-closing requirements, costs to sell Global Cooling, the assumption of certain liabilities and debt, and severance expenses
33

related to the RIF implemented on the business of Global Cooling, which reduced the Company’s workforce by 47 employees. These expenses are expected to be recognized during the second quarter of 2024. For additional information on the details of the Transaction and its related costs, see Item I, Note 19: Subsequent events to the Unaudited Condensed Consolidated Financial Statements in this Quarterly Report on Form 10-Q.
Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next twelve months from the date of the filing of this Quarterly Report on Form 10-Q. However, the Company may choose to raise additional capital through a debt or equity financing for strategic purposes. Additional capital, if required, may not be available on reasonable terms, if at all.
Cash flows
Three Months Ended
March 31,
(In thousands, except percentages)20242023$ Change
Operating activities$(4,475)$(2,712)$(1,763)
Investing activities(221)2,926 $(3,147)
Financing activities(952)$(562)$(390)
Net decrease in cash and cash equivalents$(5,648)$(348)$(5,300)
Net cash used in operating activities
Net cash used by operating activities was $4.5 million during the three months ended March 31, 2024 compared to $2.7 million during the three months ended March 31, 2023. The increase in cash used by operating activities was primarily due to a decline in revenue in addition to the timing of collection and disbursement of working capital related items in accounts receivable, inventories, accounts payable, and accrued expenses.
Net cash used in (provided by) investing activities
Net cash used by investing activities totaled $0.2 million during the three months ended March 31, 2024 compared to $2.9 million provided by investing activities for the three months ended March 31, 2023. The increase in cash used by investing activities was primarily driven by a decrease of $8.9 million in maturities of our investments in available-for-sale marketable securities compared to the prior year. This was offset by a decrease of $3.5 million in property and equipment and assets held for rent purchases and a decrease of $1.8 million in investments made in available-for-sale marketable securities.
Net cash used in financing activities
Net cash used by financing activities totaled $1.0 million during the three months ended March 31, 2024, compared to $0.6 million used in financing activities during the three months ended March 31, 2023. The increase in cash used by financing activities was primarily the result of increases in payments on the Company's equipment loans and financed insurance premiums compared to the prior year.
Contractual obligations
Our material cash requirements include contractual and other obligations which we previously disclosed within the financial statements and Management Discussion and Analysis of Financial Condition and Results of Operations in our Annual Report. Other than the contractual obligation listed below, there have been no significant changes to these obligations in the three months ended March 31, 2024.
Purchase obligations
Purchase obligations are defined as agreements to purchase goods or services that are enforceable and legally binding and that specify all significant terms, including fixed or minimum quantities to be purchased, fixed, minimum, or variable
34

pricing provisions and the approximate timing of the transactions. As of March 31, 2024, our total short-term obligations were $10.0 million.
Item 3. Quantitative and qualitative disclosures about market risk
Interest rate risk
Our exposure to market risk for changes in interest rates relates primarily to our long-term debt. Our long-term debt primarily bears interest at a fixed rate, with a variable component subject to an interest rate ceiling. Fluctuations in interest rates therefore do not materially impact our consolidated financial statements from long-term debt. For additional information, see Note 13, Long-term debt to the Unaudited Condensed Consolidated Financial Statements in this Quarterly Report on Form 10-Q.
Foreign currency exchange risk
For a discussion of market risks related to foreign currency exchange rates, refer to Item 7A, “Quantitative and Qualitative Disclosures about Market Risk” in our Annual Report. During the three months ended March 31, 2024, there were no material changes or developments that would materially alter the market risk assessment of our exposures to foreign currency exchange rates performed as of December 31, 2023.
Item 4. Controls and procedures
Evaluation of Disclosure Controls and Procedures
Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act) as of the end of the period covered by this Quarterly Report on Form 10-Q. Based on that evaluation, our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures as of the end of the period covered by this Quarterly Report on Form 10-Q were not effective, due to the material weaknesses in our internal control over financial reporting. As previously reported, we identified material weaknesses in our internal control over financial reporting as of December 31, 2023 with regard to (i) inappropriately designed entity-level controls impacting the control environment, risk assessment procedures, and monitoring activities to prevent or detect material misstatements to the consolidated financial statements attributed to an insufficient number of qualified resources and inadequate oversight and accountability over the performance of controls, ineffective identification and assessment or risks impacting internal control over financial reporting, and ineffective monitoring controls; (ii) information system logical access within certain key financial systems; (iii) ineffective accounting procedures and related controls over certain financial statement areas; (iv) inadequate risk assessment, accounting policies, procedures and related controls performed over the procure to pay and revenue recognition processes in the consolidated financial statements in accordance with the applicable financial reporting requirements.
Changes in Internal Control Over Financial Reporting
There were no changes in our internal control over financial reporting that occurred during the quarter ended March 31, 2024 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.
Limitations on Effectiveness of Control
Our management, including our Chief Executive Officer and Chief Financial Officer, does not expect that our disclosure controls and procedures or our internal controls will prevent all error 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. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. 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.
35

Remediation
We are continuing to implement remediation plans outlined in our Part II, Item 9A of Annual Report. We also may implement additional changes to our internal control over financial reporting as may be appropriate in the course of remediating the material weaknesses. Management, with the oversight of the Audit Committee of the Board, will continue to take steps necessary to remedy the material weaknesses to reinforce the overall design and capability of our control environment.
36

PART II: Other information
Item 1. LEGAL PROCEEDINGS
From time to time, we may be subject to legal proceedings and claims in the ordinary course of business. We are not currently aware of any such proceedings or claims that we believe will have, individually or in the aggregate, a material adverse effect on our business, financial condition or results of operations.
Item 1A. RISK FACTORS
During the three months ended March 31, 2024, there were no material changes to the risk factors described in Part I, Item 1A of our Annual Report.
Item 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS
None.
Item 3. DEFAULTS UPON SENIOR SECURITIES
None.
Item 4. MINE SAFETY DISCLOSURES
None.
Item 5. OTHER INFORMATION
Rule 10b5-1 Trading Plans

During our fiscal quarter ended March 31, 2024, certain of our officers (as defined in Rule 16a-1(f) under the Exchange Act) and directors entered into contracts, instructions, or written plans for the purchase or sale of our securities that are intended to satisfy the conditions specified in Rule 10b5-1(c) under the Securities and Exchange Act of 1934, as amended (“Rule 10b5-1(c)”), for an affirmative defense against liability for trading in securities on the basis of material nonpublic information. We refer to these contracts, instructions, and written plans as “Rule 10b5-1 trading plans” and each one as a “Rule 10b5-1 trading plan.” The following table identifies and provides the material terms of the Rule 10b5-1 trading plans intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) adopted or terminated by our officers and directors during the three months ended March 31, 2024.
Name and PositionPlan Adoption / TerminationPlan Adoption / Termination DateExpiration DateNumber of Shares to be Purchased (Sold) under Plan
Aby J. Mathew, EVP & Chief Scientific Officer
AdoptionMarch 13, 2024December 31, 2024(123,404)

37

Item 6. Exhibits
Exhibit No.Description
31.1
31.2
32.1#
32.2#
101.INS**XBRL Instance Document – the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document
101.SCH**Inline XBRL Taxonomy Extension Schema Document
101.CAL**Inline XBRL Taxonomy Extension Calculation Linkbase Document
101.DEF**Inline XBRL Taxonomy Extension Definition Linkbase Document
101.LAB**Inline XBRL Taxonomy Extension Label Linkbase Document
101.PRE**Inline XBRL Taxonomy Extension Presentation Linkbase Document
104Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101)
#The information in Exhibits 32.1 and 32.2 shall not be deemed “filed” for purposes of Section 18 of the Exchange Act, or otherwise subject to the liabilities of that section, nor shall it be deemed incorporated by reference in any filing under the Securities Act or the Exchange Act (including this Quarterly Report on Form 10-Q), unless the Company specifically incorporates the foregoing information into those documents by reference.
**In accordance with Rule 402 of Regulation S-T, this interactive data file is deemed not filed or part of this Quarterly Report on Form 10-Q for purposes of Sections 11 or 12 of the Securities Act or Section 18 of the Exchange Act and otherwise is not subject to liability under these sections.
38

SIGNATURES
Pursuant to the requirements of the Securities Exchange Act of 1934, as amended, the Registrant has duly caused this Report to be signed on its behalf by the undersigned, thereunto duly authorized.
BIOLIFE SOLUTIONS, INC.
Date: May 10, 2024
/s/ Troy Wichterman
Troy Wichterman
Chief Financial Officer
(Duly authorized officer and principal
financial and accounting officer)
39
EX-31.1 2 exhibit311-q12024.htm EX-31.1 Document

EXHIBIT 31.1
CERTIFICATION PURSUANT TO
RULE 13a-14(a) or RULE 13d-14(a) OF THE
SECURITIES EXCHANGE ACT OF 1934
I, Roderick de Greef, certify that:
1.I have reviewed this quarterly report on Form 10-Q of BioLife Solutions, 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 controls 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.
Date: May 10, 2024
/s/ Roderick de Greef
Roderick de Greef
Chief Executive Officer and Chairman of the Board

EX-31.2 3 exhibit312-q12024.htm EX-31.2 Document

EXHIBIT 31.2
CERTIFICATION PURSUANT TO
RULE 13a-14(a) or RULE 13d-14(a) OF THE
SECURITIES EXCHANGE ACT OF 1934
I, Troy Wichterman, certify that:
1.I have reviewed this quarterly report on Form 10-Q of BioLife Solutions, 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 controls 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.
Date: May 10, 2024
/s/ Troy Wichterman
Troy Wichterman
Chief Financial Officer

EX-32.1 4 exhibit321-q12024.htm EX-32.1 Document

EXHIBIT 32.1
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report of BioLife Solutions, Inc. (the “Company”) on Form 10-Q for the period ending March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Roderick de Greef, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
1.The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and
2.The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date: May 10, 2024
/s/ Roderick de Greef
Roderick de Greef
Chief Executive Officer and Chairman of the Board

EX-32.2 5 exhibit322-q12024.htm EX-32.2 Document

EXHIBIT 32.2
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
In connection with the Quarterly Report of BioLife Solutions, Inc. (the “Company”) on Form 10-Q for the period ending March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Troy Wichterman, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
1.The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and
2.The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date: May 10, 2024
/s/ Troy Wichterman
Troy Wichterman
Chief Financial Officer

EX-101.SCH 6 blfs-20240331.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - Unaudited Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Unaudited Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Unaudited Condensed Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Loss link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Unaudited Condensed Consolidated Statements of Shareholders' Equity link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - Unaudited Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Organization and significant accounting policies link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Correction of immaterial errors link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Fair value measurement link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Investments link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Inventories link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Assets held for rent link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Property and equipment link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Goodwill and intangible assets link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Accrued expenses and other current liabilities link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Warranty reserve liability link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Commitments and contingencies link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Long-term debt link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Stock-based compensation link:presentationLink link:calculationLink link:definitionLink 0000023 - Disclosure - Income taxes link:presentationLink link:calculationLink link:definitionLink 0000024 - Disclosure - Net loss per common share link:presentationLink link:calculationLink link:definitionLink 0000025 - Disclosure - Employee benefit plan link:presentationLink link:calculationLink link:definitionLink 0000026 - Disclosure - Subsequent events link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Organization and significant accounting policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - Organization and significant accounting policies (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Correction of immaterial errors (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Fair value measurement (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Investments (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Inventories (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Assets held for rent (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Property and equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Goodwill and intangible assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Accrued expenses and other current liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - Warranty reserve liability (Tables) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Long-term debt (Tables) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - Stock-based compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Net loss per common share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Subsequent events (Tables) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Organization and significant accounting policies - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Organization and significant accounting policies - Schedule of Concentrations of Credit Risk and Business Risk (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Organization and significant accounting policies - Schedule of Product Revenue Concentration (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Correction of immaterial errors - Schedule of Effect of Adjustments to Financial Statements (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Fair value measurement - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Fair value measurement - Schedule of the Company's Financial Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Fair value measurement - Schedule of the Changes in Fair Value of Contingent Consideration Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Investments - Schedule of Available-for-Sale Marketable Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Investments - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Inventories - Schedule of Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Leases - Schedule of Operating and Finance Lease Terms and Discount Rates (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Leases - Schedule of Lease Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Leases - Schedule of Maturities Operating and Finance Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Leases - Schedule of Maturities Operating and Finance Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Assets held for rent - Schedule of Assets Held for Rent (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - Assets held for rent - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - Property and equipment - Schedule of Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 9954505 - Disclosure - Property and equipment - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954506 - Disclosure - Goodwill and intangible assets - Schedule of Finite-Lived Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954507 - Disclosure - Goodwill and intangible assets - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954508 - Disclosure - Goodwill and intangible assets - Schedule of Amortization Expense for Finite-Lived Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954509 - Disclosure - Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954510 - Disclosure - Warranty reserve liability - Schedule of Product Warranty Liability (Details) link:presentationLink link:calculationLink link:definitionLink 9954511 - Disclosure - Commitments and contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 9954512 - Disclosure - Long-term debt - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954513 - Disclosure - Long-term debt - Schedule of Debt (Details) link:presentationLink link:calculationLink link:definitionLink 9954513 - Disclosure - Long-term debt - Schedule of Debt (Details) link:presentationLink link:calculationLink link:definitionLink 9954514 - Disclosure - Long-term debt - Schedule of Maturities of Long-Term Debt (Details) link:presentationLink link:calculationLink link:definitionLink 9954515 - Disclosure - Revenue - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954516 - Disclosure - Revenue - Schedule of Bioproduction Tools and Service Revenues (Details) link:presentationLink link:calculationLink link:definitionLink 9954517 - Disclosure - Revenue - Schedule of Remaining Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954517 - Disclosure - Revenue - Schedule of Remaining Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954518 - Disclosure - Stock-based compensation - Schedule of Service Vesting-Based Stock Option Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954519 - Disclosure - Stock-based compensation - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954520 - Disclosure - Stock-based compensation - Schedule of Service Vesting-Based and Market Based Restricted Stock Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954521 - Disclosure - Stock-based compensation - Schedule of Stock Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954522 - Disclosure - Income taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9954523 - Disclosure - Net loss per common share - Schedule of Earnings Per Share, Basic and Diluted, Two Class Method (Details) link:presentationLink link:calculationLink link:definitionLink 9954524 - Disclosure - Net loss per common share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954525 - Disclosure - Employee benefit plan (Details) link:presentationLink link:calculationLink link:definitionLink 9954526 - Disclosure - Subsequent events - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954527 - Disclosure - Subsequent events - Disposal Groups, Including Discontinued Operations (Details) link:presentationLink link:calculationLink link:definitionLink 9954528 - Disclosure - Subsequent events - Schedule of Additional Costs Incurred (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 blfs-20240331_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 blfs-20240331_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 blfs-20240331_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Thereafter Lessee Operating Lease Liability Payments Due After Year Four Amount of lessee's undiscounted obligation for lease payment for operating lease due 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). Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Variable Rate [Domain] Variable Rate [Domain] Manufacturing and other equipment Manufacturing Facility [Member] Pay vs Performance Disclosure [Line Items] Proceeds from sale of available-for-sale securities Proceeds from Sale of Debt Securities, Available-for-Sale Accrued expenses Accrued Liabilities, Current Cash Expenditures Cash Expenditures [Member] Cash Expenditures Statistical Measurement [Domain] Statistical Measurement [Domain] Research and development Research and Development Expense Underlying Security Market Price Change Underlying Security Market Price Change, Percent Schedule of Product Revenue Concentration Revenue from External Customers by Products and Services [Table Text Block] Award Type [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Revenue, remaining performance obligation, expected timing of satisfaction, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Assets held for rent Assets Held For Rent [Text Block] The entire disclosure for assets held for rent. Outstanding as of beginning of period (in shares) Outstanding as of end of period (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Operating lease, remaining lease term Lessee, Operating Lease, Remaining Lease Term Global Cooling carrying basis as of December 31, 2023(2) Disposal Group, Including Discontinued Operation, Carrying Basis Disposal Group, Including Discontinued Operation, Carrying Basis Debt and Equity Securities, FV-NI [Line Items] Debt and Equity Securities, FV-NI [Line Items] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Investments, Debt and Equity Securities [Abstract] Defined contribution plan, employer discretionary contribution amount Defined Contribution Plan, Employer Discretionary Contribution Amount Deferred tax liabilities Deferred Income Tax Liabilities, Net MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Performance Shares Performance Shares [Member] Accounts payable Accounts Payable, Current Contingent Consideration Liabilities Contingent Consideration Liabilities [Member] Information pertaining to contingent consideration liabilities. Sales taxes payable Increase (Decrease) in Accrued Taxes Payable Restatement Determination Date: Restatement Determination Date [Axis] Corporate debt securities Corporate Debt Securities [Member] Total other income (expense), net Nonoperating Income (Expense) Effective income tax rate reconciliation, at federal statutory income tax rate, percent Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Commitments and contingencies (Note 12) Commitments and Contingencies Operating Leases Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract] As reported Previously Reported [Member] Insider Trading Policies and Procedures [Line Items] Stock options exercisable at end of period (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Series E Preferred Stock Series E Preferred Stock [Member] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Supplier [Axis] Supplier [Axis] Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Error Corrections and Prior Period Adjustments Restatement [Line Items] Error Corrections and Prior Period Adjustments Restatement [Line Items] Geographical [Axis] Geographical [Axis] Income taxes Income Tax Disclosure [Text Block] Global Cooling Amended Term Notes Global Cooling Amended Term Notes [Member] Global Cooling Amended Term Notes Settlements of warranty claims Standard and Extended Product Warranty Accrual, Decrease for Payments Dividend yield (percent) Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate Biostorage services Storage and Storage Services Rental Revenue [Member] Related to storage and storage services rental revenue. Provision for warranties Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Stock issued - on vested RSAs (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Concentration Risk [Line Items] Concentration Risk [Line Items] Loss on disposal of assets held for rent, net Gain (Loss) On Disposition Of Assets, Held For Rent Amount of gain (loss) on sale or disposal of assets held for rent. Customer [Axis] Customer [Axis] Current liabilities: Liabilities, Current [Abstract] Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost [Abstract] Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Preferred stock, $0.001 par value; 1,000,000 shares authorized, Series A, 4,250 shares designated, and 0 shares issued and outstanding as of March 31, 2024 and December 31, 2023 Preferred Stock, Value, Issued Wtd. Avg. Grant Date Fair Value Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Subsequent Event Type [Domain] Subsequent Event Type [Domain] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Diluted (in dollars per share) Loss per common share, diluted (in dollars per share) Earnings Per Share, Diluted Gross unrealized Losses, current portion Debt Securities, Available-for-Sale, Unrealized Loss, Current Current portion of amount of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). PEO Total Compensation Amount PEO Total Compensation Amount Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Subtotal Shippers Placed In Service, Net The carrying value of shippers placed in service, net of accumulated depreciation. Accounts receivable, trade, net of allowance for credit losses of $1,745 and $1,710 as of March 31, 2024 and December 31, 2023, respectively Accounts Receivable, after Allowance for Credit Loss, Current Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Extinguishment of debt, amount Extinguishment of Debt, Amount Level 3 Fair Value, Inputs, Level 3 [Member] Total Shippers Placed In Service And Fixed Assets Held For Rent, Net Represents shippers placed in service and fixed assets held for rent, net Outstanding as of beginning of period (in shares) Outstanding as of end of period (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Accelerated cost Share-Based Payment Arrangement, Accelerated Cost Stock option exercises Stock Issued During Period, Value, Stock Options Exercised Trading Symbol Trading Symbol U.S. government securities US Government Agencies Debt Securities [Member] Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Freezer and thaw Service, Freezer and Thaw [Member] Represents Freezer and Thaw service. Non-compete agreements Noncompete Agreements [Member] Net loss Net loss Net Income (Loss) Schedule of Earnings Per Share, Basic and Diluted, Two Class Method Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table Text Block] Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] 2026 Finance Lease, Liability, to be Paid, Year Two Foreign currency translation Foreign Currency Transactions and Translations Policy [Policy Text Block] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Leases Lessee, Operating Leases [Text Block] Intangible assets, gross Intangible Assets, Gross (Excluding Goodwill) Liabilities and Shareholders’ Equity Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Amortized Cost, current portion Due in one year or less Debt Securities, Available-for-Sale, Amortized Cost, Current Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Shareholders’ equity: Equity, Attributable to Parent [Abstract] Total marketable securities, Gross Unrealized Losses Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Deferred revenue Contract with Customer, Liability Stock option exercises (in shares) Exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Cost of goods and services sold (exclusive of intangible assets amortization) Cost of Goods and Services Sold Vesting period (year) Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Number of peers Number Of Peers Number Of Peers Non-cash lease (benefit) expense Non-cash lease expense Amount of noncash lease expense. Executive Category: Executive Category [Axis] Long-term deposits and other assets Deposits Assets, Noncurrent Biostorage services Storage and Storage Services [Member] Related to storage and storage services. Effects of currency translation on cash, cash equivalents, and restricted cash Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations Shares Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Exercised (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Level 1 Fair Value, Inputs, Level 1 [Member] Guarantees and Product Warranties [Abstract] Name Measure Name Name Forgone Recovery, Individual Name Biostorage services Storage and Storage Services Product Revenue [Member] Related to storage and storage services product revenue. Goodwill Goodwill Schedule of Property and Equipment Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] London Interbank Offered Rate (LIBOR) 1 London Interbank Offered Rate (LIBOR) 1 [Member] London Interbank Offered Rate (LIBOR) 1 Lessee, Lease, Description [Table] Lessee, Lease, Description [Table] Measurement date with a maturity period (year) Share Based Compensation Arrangement By Share Based Payment Award, Fair Value Assumptions, Expected Volatility Rate Period Represents expected volatility rate period for share based payment award by share based payment. 2026 Long-Term Debt, Maturity, Year Two Service based-vesting options granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business 2028 Finite-Lived Intangible Asset, Expected Amortization, Year Four Local Phone Number Local Phone Number Unrealized gains and losses on currency translation Unrealized Gain (Loss), Foreign Currency Transaction, before Tax Accounts receivable, trade, net Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] 2024 (9 months remaining) Long-Term Debt, Maturity, Remainder of Fiscal Year Accounts Receivable Accounts Receivable [Member] Unrealized (loss) gain on available-for-sale securities, net of tax OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Measurement Frequency [Axis] Measurement Frequency [Axis] Lease liabilities, operating, long-term Operating Lease, Liability, Noncurrent Schedule of Service Vesting-Based and Market Based Restricted Stock Activity Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] Property and equipment, depreciation expense Depreciation Fair Value Measurement Inputs and Valuation Techniques [Table] Fair Value Measurement Inputs and Valuation Techniques [Table] Retirement Benefits [Abstract] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] Income Statement Location [Axis] Income Statement Location [Axis] Schedule of Maturities of Operating Lease Liabilities Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Number of term notes assumed Number Of Term Notes Assumed Number Of Term Notes Assumed Accrued taxes Accrued Income Taxes, Current Change in operating assets and liabilities, net of effects of acquisitions Increase (Decrease) in Operating Assets [Abstract] Risk Free Interest Rate Measurement Input, Risk Free Interest Rate [Member] Fair Value by Liability Class [Domain] Fair Value by Liability Class [Domain] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Payments on equipment loans Repayments of Other Long-Term Debt Product and Service [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Short-Term Debt [Line Items] Short-Term Debt [Line Items] Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Schedule of Lease Expense Lease, Cost [Table Text Block] Inventories Increase (Decrease) in Inventories Research and development costs Research and Development Expense [Member] Cash flows from investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Fixed assets held for rent Fixed Assets Held For Rent Represents the fixed assets held for rent. Effective income tax rate reconciliation, at federal statutory income tax rate, without discrete items percent Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Without Discrete Items Percent Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Without Discrete Items, Percent Acquisition costs Business Combination, Acquisition Related Costs Antidilutive securities excluded from computation of earnings per share, amount (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Award Type [Axis] Award Type [Axis] Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Document Quarterly Report Document Quarterly Report Purchase of property and equipment not yet paid Capital Expenditures Incurred but Not yet Paid Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] General and administrative costs General and Administrative Expense [Member] Subtotal Property, Plant and Equipment, Gross Weighted average remaining contractual life (year) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term 2024 (9 months remaining) Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Trading Arrangement: Trading Arrangement [Axis] Less: interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Contingent consideration, liability, measurement input Business Combination, Contingent Consideration, Liability, Measurement Input Use of estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Leases Lessee, Finance Leases [Text Block] Long-Term Debt, Type [Domain] Long-Term Debt, Type [Domain] Estimated Fair Value Debt Securities, Available-for-Sale [Abstract] Entity File Number Entity File Number Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Discount Rate Measurement Input, Discount Rate [Member] Lease liabilities, operating, current portion Operating Lease, Liability, Current 2027 Long-Term Debt, Maturity, Year Three Total shareholder return attainment (percent) Share-Based Compensation Arrangement By Share-Based Payment Award, Percentage Of Awards Percent of shares that may be issued in accordance with the plan as a proportion of outstanding awards. Debt Securities, Trading, and Equity Securities, FV-NI [Table] Debt Securities, Trading, and Equity Securities, FV-NI [Table] Warranty liability Product Warranty Accrual, Current Accounts payable Accounts Payable Period of transition services Period Of Transition Services Period Of Transition Services Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Intangible asset amortization Amortization of intangible assets Amortization of Intangible Assets Entity Shell Company Entity Shell Company 2027 Lessee, Operating Lease, Liability, to be Paid, Year Three Adjustment Revision of Prior Period, Adjustment [Member] Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Total Finite-Lived Intangible Assets, Net Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Recent accounting pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Restatement Determination Date Restatement Determination Date Counterparty Name [Domain] Counterparty Name [Domain] Other Increase (Decrease) in Other Operating Liabilities Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash, cash equivalents, and restricted cash – beginning of period Cash, cash equivalents, and restricted cash – end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization 2026 Lessee, Operating Lease, Liability, to be Paid, Year Two Furniture and computer equipment Furniture and Computer Equipment [Member] Represents the furniture and computer equipment. Debt instrument, maximum borrowing capacity Debt Instrument, Maximum Borrowing Capacity Represents maximum borrowing capacity. Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Variable lease costs Variable Lease, Cost Denominator: Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Operating lease costs Operating Lease, Cost Sales and excise tax payable Sales and Excise Tax Payable Common stock, shares issued (in shares) Common Stock, Shares, Issued Vested (in shares) Vested (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Deferred revenue, current Contract with Customer, Liability, Current Selling price per share (in dollars per share) Disposal Group, Including Discontinued Operation, Expected Selling Price, Per Share Disposal Group, Including Discontinued Operation, Expected Selling Price, Per Share Security Exchange Name Security Exchange Name Total debt Long-Term Debt Assets Assets, Fair Value Disclosure Assets acquired under operating leases Equipment Acquired Under Operating Leases The equipment acquired under operating leases in a noncash (or part noncash) acquisition. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period. 2028 Long-Term Debt, Maturity, Year Four Accumulated other comprehensive loss, net of taxes Accumulated Other Comprehensive Income (Loss), Net of Tax Options Employee Stock Option [Member] Gross unrealized Gains, current portion Debt Securities, Available-for-Sale, Unrealized Gain, Current The unrealized gain of debt securities available-for-sale classified as current. Selling price: $1 Disposal Group, Including Discontinued Operation, Expected Selling Price Disposal Group, Including Discontinued Operation, Expected Selling Price Period for recognition (year) Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Total operating expenses Costs and Expenses Other Proceeds from (Payments for) Other Financing Activities Maximum Maximum [Member] Comprehensive loss Comprehensive loss Comprehensive Income (Loss), Net of Tax, Attributable to Parent Prepaid expenses and other assets Increase (Decrease) In Prepaid Expense, Other Current Assets, And Long-term Deposits Amount of increase (decrease) in prepaid expenses, other current assets and long-term deposits during the period. Unrecognized compensation costs for service vesting-based stock options Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Document Type Document Type Revenue by customers' geographic locations Geographic Concentration Risk [Member] Correction of immaterial errors Error Correction [Text Block] Tabular List, Table Tabular List [Table Text Block] Aggregate fair value of the market-based awards that vested Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested Short-term lease costs Short-Term Lease, Cost Europe, Middle East, Africa (EMEA) EMEA [Member] Entity Address, Address Line One Entity Address, Address Line One Rental revenue Rental Revenue [Member] Represents information pertaining to rental revenue. 2027 Finance Lease, Liability, to be Paid, Year Three Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Subsequent Event [Table] Subsequent Event [Table] Stock-based compensation Share-Based Payment Arrangement [Text Block] Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward] Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward] Series A-1 and A-2, Preferred Stock Series A-1 and A-2, Preferred Stock [Member] Information pertaining to series A-1 and A-2 preferred stock. Net decrease in cash, cash equivalents, and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect Real Estate Lease Real Estate Lease [Member] Leases related to real estate. Basis of presentation Basis of Accounting, Policy [Policy Text Block] Purchases of available-for-sale securities Payments to Acquire Debt Securities, Available-for-Sale 2025 Finance Lease, Liability, to be Paid, Year One Wtd. Avg. Exercise Price Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Business Acquisition [Axis] Business Acquisition [Axis] Sales taxes payable Taxes Payable, Current Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Purchases of assets held for rent Payments To Acquire Assets, Held For Rent The cash outflow for payments to acquire assets held for rent. Allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current Debt instrument, additional maximum at discretion of lender Debt Instrument, Additional Maximum At Discretion of Lender Amount of additional maximum borrowing at the discretion of the lender. Subsequent Event Subsequent Event [Member] Accumulated depreciation Shippers Placed In Service Accumulated Depreciation The cumulative amount of depreciation, related to related to shippers placed in service and fixed assets held for rent. Customer Concentration Risk Customer Concentration Risk [Member] Schedule of Finite-Lived Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Variable Rate [Axis] Variable Rate [Axis] Income Statement [Abstract] Income Statement [Abstract] Raw materials Inventory, Raw Materials, Net of Reserves Total product, rental, and service revenue Revenue from Contract with Customer, Including Assessed Tax Schedule of Assets Held For Rent Scheduleof Assets Held for Rent [Table Text Block] Tabular disclosure of assets held for rent. Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Cash equivalents Cash and Cash Equivalents, Fair Value Disclosure Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Numerator: Net Income (Loss) Attributable to Parent [Abstract] Grant date fair value (in dollars per share) Outstanding as of beginning of period (in dollars per share) Outstanding as of end of period (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Thereafter Long-Term Debt, Maturity, After Year Four Represents amount of long-term debt maturity that takes place after year four. Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Debt instrument, balloon payment due Debt Instrument, Periodic Payment Terms, Balloon Payment to be Paid Share-Based Payment Arrangement [Abstract] Entity Tax Identification Number Entity Tax Identification Number Inventories Total inventories Inventory, Net Total lease costs Lease, Cost Options to borrow Debt Instrument, Additional Maximum Amount Within Nine Months After Closing The maximum amount of addiotnal borrowing capacity within 9 months of closing. Statistical Measurement [Axis] Statistical Measurement [Axis] Termination fee, amount Debt Instrument, Non-Refundable Termination Fee, Amount Debt Instrument, Non-Refundable Termination Fee, Amount Assumed liabilities from Global Cooling Disposal Group, Including Discontinued Operation, Liabilities Assumed Disposal Group, Including Discontinued Operation, Liabilities Assumed Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Long-term debt Long-Term Debt [Text Block] Debt Securities, Available-for-Sale [Table] Debt Securities, Available-for-Sale [Table] Approximate costs to sell Global Cooling Disposal Group, Including Discontinued Operation, Approximate Costs To Sell Disposal Group, Including Discontinued Operation, Approximate Costs To Sell Total Shareholder Return Amount Total Shareholder Return Amount Product revenue Product [Member] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Enhanced Term Note Enhanced Term Note [Member] Represents information related to term note loaned by Enhanced Capital. Weighted average common shares issued, diluted (in shares) Weighted Average Number of Shares Issued, Diluted Weighted Average Number of Shares Issued, Diluted Non-cash investing and financing activities Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract] Inventory Disclosure [Abstract] The 2023 Term Loan The 2023 Term Loan [Member] Represents the 2023 term loan 3. Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Estimated net loss on disposal Disposal Group, Including Discontinued Operation, Expected Gain (Loss) On Disposal Disposal Group, Including Discontinued Operation, Expected Gain (Loss) On Disposal Accumulated deficit Accumulated deficit Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Other debt securities Other Debt Obligations [Member] Debt instrument, face amount Debt Instrument, Face Amount Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Leases [Abstract] Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Counterparty Name [Axis] Counterparty Name [Axis] Total lease payments Finance Lease, Liability, to be Paid Cash flows from operating activities Net Cash Provided by (Used in) Operating Activities [Abstract] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] 2025 Finite-Lived Intangible Asset, Expected Amortization, Year One Cash required on closing date Disposal Group, Including Discontinued Operation, Cash Required On Closing Date Disposal Group, Including Discontinued Operation, Cash Required On Closing Date Common stock, shares outstanding (in shares) Beginning balance, common stock, shares outstanding (in shares) Ending balance, common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding Disposal Group Name [Domain] Disposal Group Name [Domain] PEO PEO [Member] Gross unrealized Gains, long term Debt Securities, Available-for-Sale, Unrealized Gain, Noncurrent The amount of unrealized gain of debt securities available-for-sale classified as noncurrent. Concentrations of credit risk and business risk Concentration Risk, Credit Risk, Policy [Policy Text Block] Financing lease costs Financing Lease, Costs Financing Lease, Costs Other Other Operating Activities, Cash Flow Statement Insurance premium financing Financed Insurance Premium [Member] Represents financed insurance premium. Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Defined contribution plan, employer matching contribution, percent of employees' gross pay Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent Foreign currency translation Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Net cash (used in) provided by investing activities Net Cash Provided by (Used in) Investing Activities Class of Stock [Domain] Class of Stock [Domain] Customer [Domain] Customer [Domain] Schedule of Inventory Schedule of Inventory, Current [Table Text Block] Basic Net loss allocated to common shareholders Net Income (Loss) Available to Common Stockholders, Basic Options Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Debt Instrument [Axis] Debt Instrument [Axis] Schedule of Effect of Adjustments to Financial Statements Schedule of Error Corrections and Prior Period Adjustments [Table Text Block] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Effective income tax rate reconciliation, percent Effective Income Tax Rate Reconciliation, Percent Total present value of lease liabilities Operating Lease, Liability 2024 (9 months remaining) Finance Lease, Liability, to be Paid, Remainder of Fiscal Year Measurement Input Type [Domain] Measurement Input Type [Domain] Aby J. Matthew [Member] Aby J. Matthew Unrealized gain (loss) on available-for-sale securities OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment and Tax Schedule of Maturities of Long-Term Debt Schedule of Maturities of Long-Term Debt [Table Text Block] Total liabilities Liabilities Service revenue Service [Member] Schedule of Operating and Finance Lease Terms and Discount Rates Lessee, Operating and Finance Lease Term And Discount Rate [Table Text Block] Tabular disclosure represents the operating and finance lease term and discount rate of leases. Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Unaudited Condensed Consolidated Balance Sheet Balance Sheet Related Disclosures [Abstract] Accumulated Other Comprehensive Income AOCI Attributable to Parent [Member] Accrued expenses and other current liabilities Total accrued expenses and other current liabilities Accrued Expenses And Other Current Liabilities Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Cash, cash equivalents, and available-for-sale securities Cash, Cash Equivalents, and Short-Term Investments Measurement Frequency [Domain] Measurement Frequency [Domain] Property and equipment Property, Plant and Equipment Disclosure [Text Block] All Executive Categories All Executive Categories [Member] Title of Individual [Axis] Title of Individual [Axis] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Accounts Payable Accounts Payable [Member] Negative selling price Negative Selling Price Negative Selling Price Preferred stock, shares designated (in shares) Preferred stock, shares designated (in shares) The number of nonredeemable preferred shares designated. Amortized Cost, long term Due after one year through five years Debt Securities, Available-for-Sale, Amortized Cost, Noncurrent Debt Disclosure [Abstract] Long-Lived Tangible Asset [Domain] Long-Lived Tangible Asset [Domain] Number of reportable segments Number of Reportable Segments Net loss attributable to common shareholders: Earnings Per Share [Abstract] Subsequent Event [Line Items] Subsequent Event [Line Items] Global Cooling Global Cooling [Member] Global Cooling Sales and marketing Selling and Marketing Expense Common stock, $0.001 par value; 150,000,000 shares authorized, 45,689,583 and 45,167,225 shares issued and outstanding, respectively, as of March 31, 2024 and December 31, 2023 Common Stock, Value, Issued General and administrative General and Administrative Expense Organization, Consolidation and Presentation of Financial Statements [Abstract] Tradenames Trade Names [Member] SciSafe Holdings, Inc SciSafe Holdings, Inc [Member] Represents information related to SciSafe Holdings, Inc. Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Total operating lease costs Operating Lease Costs And Short-term Lease Costs Represents the amount of operating lease costs along with short-term lease costs. Segment reporting Segment Reporting, Policy [Policy Text Block] Total current assets Assets, Current Preferred Stock Preferred Stock [Member] Schedule of Maturities of Finance Lease Liabilities Finance Lease, Liability, to be Paid, Maturity [Table Text Block] Market-based Restricted Stock Market-based Restricted Stock [Member] Represents information related to market-based restricted stock. Contingent consideration, liability Business Combination, Contingent Consideration, Liability Schedule of Concentrations of Credit Risk and Business Risk Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Other income Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Short-term purchase obligations Purchase Obligation Restructuring Type [Axis] Restructuring Type [Axis] Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Disposal Group, Held-for-Sale, Not Discontinued Operations Disposal Group, Held-for-Sale, Not Discontinued Operations [Member] Goodwill and intangible assets Goodwill and Intangible Assets Disclosure [Text Block] Purchases of property and equipment Payments for (Proceeds from) Property, Plant, And Equipment Payments for (Proceeds from) Property, Plant, And Equipment Effective income tax rate reconciliation, tax expense (benefit), share-based payment arrangement, amount Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Amount PEO Name PEO Name Shippers placed in service Shippers Placed In Service The gross value of shippers placed in service. Concentration risk, percent Concentration Risk, Percentage Beginning balance Ending balance Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Warranty liability Warranty Liability The amount of increase (decrease) in warranty liability during the period. Granted (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Restricted cash Restricted Cash, Current Preferred stock, shares outstanding (in shares) Beginning balance, preferred stock, shares outstanding (in shares) Ending balance, preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding 2028 Finance Lease, Liability, to be Paid, Year Four Net cash used in operating activities Net Cash Provided by (Used in) Operating Activities Schedule of Amortization Expense for Finite-Lived Intangible Assets Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Class of Stock [Axis] Class of Stock [Axis] Customer C Customer C [Member] Represents information about major customer C. Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Available-for-sale securities, current portion Due in one year or less Debt Securities, Available-for-Sale, Current Aggregate fair value of the service vesting-based awards granted Share-Based Compensation Arrangement By Share-Based Payment Award, Equity Instruments Other Than Options, Grants In Period, Fair Value Fair value of non-vested equity-based payment instruments, excluding stock (or unit) options, vested. Product revenue concentration Product Concentration Risk [Member] Shippers and related components in production Shippers And Related Components In Production The carrying value of shippers and related components in production. Depreciation Depreciation, Depletion and Amortization Debt instrument, additional maximum amount upon certain milestone achievements Debt Instrument, Additional Maximum Amount Upon Certain Milestone Achievements Amount of additional maximum capacity upon achievement of certain milestones. Interest rate Interest Rate Debt Instrument, Interest Rate, Stated Percentage Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Lease Contractual Term [Domain] Lease Contractual Term [Domain] Total Disposal Groups, Including Discontinued Operations, Additional Costs Disposal Groups, Including Discontinued Operations, Additional Costs Balance at beginning of period Balance at end of period Standard and Extended Product Warranty Accrual Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Total shareholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Freezer and thaw Product, Freezer and Thaw [Member] Related to freezer and thaw product. Deferred tax assets, valuation allowance Deferred Tax Assets, Valuation Allowance Restricted Stock Restricted Stock [Member] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Financing Leases Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract] Deferred revenue, revenue recognized Contract with Customer, Liability, Revenue Recognized Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Supply Purchase Supply Purchase [Member] Represents supply purchase. Foreign currency translation adjustment, net of tax Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Concentration Risk Type [Axis] Concentration Risk Type [Axis] Revision of Prior Period [Domain] Revision of Prior Period [Domain] Subsequent Events [Abstract] Loss before income tax expense Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Fair value of non-marketable equity securities without readily determinable fair value Equity Securities without Readily Determinable Fair Value, Amount Stock options and restricted stock awards Share-Based Payment Arrangement, Option and Restricted Stock Awards [Member] Represents information related to option and restricted stock awards. Net loss per share attributable to common shareholders: Earnings Per Share Reconciliation [Abstract] Long-Lived Tangible Asset [Axis] Long-Lived Tangible Asset [Axis] Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Level 2 Fair Value, Inputs, Level 2 [Member] Service revenue Service Revenue [Member] Information pertaining to the service revenue. Entity Emerging Growth Company Entity Emerging Growth Company Gross unrealized losses, long term Debt Securities, Available-for-Sale, Unrealized Loss, Noncurrent The non-current portion of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Less: unamortized debt issuance costs Debt Issuance Costs, Net Intangible assets, net Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Schedule of Product Warranty Liability Schedule of Product Warranty Liability [Table Text Block] Disposal Group Classification [Domain] Disposal Group Classification [Domain] Advantage Term Note 1 Advantage Term Note 1 [Member] Represents information related to term note 1 loaned by Advantage Capital. Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Payments on financed insurance premium Repayments Of Financed Insurance Premium Repayments Of Financed Insurance Premium Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Document Fiscal Period Focus Document Fiscal Period Focus Weighted Average Useful Life (in years) Finite-Lived Intangible Asset, Useful Life 2025 Lessee, Operating Lease, Liability, to be Paid, Year One Accrued expenses and other current liabilities Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Antidilutive Securities [Axis] Antidilutive Securities [Axis] 2028 Lessee, Operating Lease, Liability, to be Paid, Year Four Title Trading Arrangement, Individual Title Outstanding as of beginning of period (in dollars per share) Outstanding as of end of period (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Schedule of Revenue by Geographic Areas Revenue from External Customers by Geographic Areas [Table Text Block] Common Stock Common Stock [Member] Due after one year through five years Debt Securities, Available-for-Sale, Noncurrent Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Net loss per common share Earnings Per Share [Text Block] Product and Service [Axis] Product and Service [Axis] Expected reduction of workforce Restructuring and Related Cost, Expected Number of Positions Eliminated Income Statement Location [Domain] Income Statement Location [Domain] Debt instrument, interest rate, maximum stated percentage for each tranche borrowed Debt Instrument, Interest Rate, Maximum Stated Percentage for Each Tranche Borrowed Represents maximum stated interest rate for each tranche borrowed. Schedule of the Changes in Fair Value of Contingent Consideration Liabilities Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Operating lease, term of contract Lessee, Operating Lease, Term of Contract Supplier [Domain] Supplier [Domain] Minimum Minimum [Member] Weighted average shares used to compute loss per share attributable to common shareholders: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Aggregate fair value of the market-based awards granted Share-Based Compensation Arrangement By Share-Based Payment Award, Equity Instruments Other than Options, Grants In Period, Aggregate Fair Value Intrinsic value of granted award under share-based payment arrangement. Excludes share and unit options. Schedule of Service Vesting-Based Stock Option Activity Share-Based Payment Arrangement, Option, Activity [Table Text Block] Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Cell processing Product, Cell Processing [Member] Related to cell processing product. Other loans Other Loans [Member] Related to other loans. Disposal Group Classification [Axis] Disposal Group Classification [Axis] Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Cash required on closing date, funded by entity Cash to Global Cooling funded by Company Disposal Group, Including Discontinued Operation, Cash Required On Closing Date, Funded By Entity Disposal Group, Including Discontinued Operation, Cash Required On Closing Date, Funded By Entity Goodwill and Intangible Assets Disclosure [Abstract] Freezer equipment loan Freezer Equipment Loan [Member] Related to freezer equipment loan. Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Repayment of indebtedness Global Cooling Term Notes payoff Disposal Group, Including Discontinued Operation, Debt Repayment Cost Disposal Group, Including Discontinued Operation, Debt Repayment Cost Lessee, Lease, Description [Line Items] Lessee, Lease, Description [Line Items] Commitments and contingencies Commitments and Contingencies Disclosure [Text Block] Accumulated Deficit Retained Earnings [Member] Debt, current portion Less: current portion of debt Long-Term Debt, Current Maturities Schedule of Stock Compensation Expense Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Accretion of available-for-sale investments Accretion (Amortization) of Discounts and Premiums, Investments Total liabilities and shareholders’ equity Liabilities and Equity Total Debt Securities, Available-for-Sale, Amortized Cost Other income (expense): Nonoperating Income (Expense) [Abstract] Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Maturities of available-for-sale securities Maturities Of Available-For-Sale Securities The amount of cash inflow from proceeds from maturity of marketable securities. Risk-free interest rate Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Basic (in dollars per share) Loss per common share, basic (in dollars per share) Earnings Per Share, Basic Operating lease right-of-use assets, net Operating Lease, Right-of-Use Asset Schedule of Long-Term Debt Instruments [Table] Schedule of Long-Term Debt Instruments [Table] Total long-term debt Total Debt [Member] Related to total debgt. Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Financial covenant requirement amount Debt Instrument, Financial Covenant, Cash Outflow And Unsecured Indebtedness Limitation, Amount Debt Instrument, Financial Covenant, Cash Outflow And Unsecured Indebtedness Limitation, Amount Warranty reserve liability Product Warranty Disclosure [Text Block] Notes Payable Notes Payable [Member] Represents information related to term note loaned by Advantage Capital. 2024 (9 months remaining) Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Diluted Net loss allocated to common shareholders Net Income (Loss) Available to Common Stockholders, Diluted Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Revenue Volatility Measurement Input, Revenue Volatility [Member] Measurement input using rate at which revenue of security will increase (decrease) for given set of returns. Assets held for rent, depreciation expense Assets Held For Rent, Depreciation The amount of depreciation expenses recognized for assets held for rent. Proceeds from term loans Proceeds from Issuance of Debt Assets held for rent, net Assets Held For Rent, Net Amount of assets held for rent classified as noncurrent. Restructuring charges RIF compensation expenses Restructuring Charges Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Technology - acquired Technology-Based Intangible Assets [Member] Termination Date Trading Arrangement Termination Date Freezer installation loan Freezer Installation Loan [Member] Related to freezer installation loan. Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized (in shares) Common Stock, Shares Authorized Available-for-sale securities Estimated Fair Value, Total marketable securities Total Debt Securities, Available-for-Sale Accrued expenses and other current liabilities Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block] Vehicle and Other Equipment Vehicle and Other Equipment {[Member] Represents vehicles and other equipment. Total marketable securities, Gross Unrealized Gains Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Property, Plant and Equipment [Abstract] Total debt, excluding unamortized debt issuance costs Long-Term Debt, Gross CryoStor CryoStor Products [Member] Information pertaining to CryoStor products. Adjustments to reconcile net loss to net cash used in operating activities Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Liability Class [Axis] Liability Class [Axis] All Trading Arrangements All Trading Arrangements [Member] Measurement Input Type [Axis] Measurement Input Type [Axis] Other Geographic, Other [Member] Represents other geographic location. Supplier Concentration Risk Supplier Concentration Risk [Member] All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Title of Individual [Domain] Title of Individual [Domain] Investments Investment [Text Block] Compensation Amount Outstanding Recovery Compensation Amount Schedule of Remaining Performance Obligations Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] Aggregate fair value of the service vesting-based awards that vested Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value Additional paid-in-capital Additional Paid in Capital Executive Officer Executive Officer [Member] Forfeited (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Deferred income tax expense Deferred Income Tax Expense (Benefit) Subsequent Event Type [Axis] Subsequent Event Type [Axis] Thereafter Finance Lease Liability Payments Due After Year Four Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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). Proceeds from exercise of common stock options Proceeds from Stock Options Exercised Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] One Supplier One Supplier [Member] Information pertaining to one supplier. Total present value of lease liabilities Finance Lease, Liability Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Three Forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Available-for-sale securities, long-term Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Noncurrent Insider Trading Arrangements [Line Items] 2025 Long-Term Debt, Maturity, Year One Aggregate intrinsic value of exercisable service vesting-based stock options Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value Accounting Changes and Error Corrections [Abstract] Equity investments Equity Investments Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Two Historical volatility (percent) Share-Based Compensation Arrangement By Share-Based Payment Award, Fair Value Assumptions, Historical Volatility Rate Represents historical volatility for fair value assumptions for share-based payment award by share based compensation. Adjustment to Compensation, Amount Adjustment to Compensation Amount Accrued compensation Deferred Compensation Liability, Current Cost of revenue Cost of Sales [Member] Change in fair value of contingent consideration Change in fair value of contingent consideration, increase (decrease) Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Lease Contractual Term [Axis] Lease Contractual Term [Axis] Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Adoption Date Trading Arrangement Adoption Date Less: Accumulated depreciation Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Stock issued – on vested RSAs Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Disposal Group Name [Axis] Disposal Group Name [Axis] Schedule of the Company's Financial Assets and Liabilities Measured at Fair Value on a Recurring Basis Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Stock options exercisable at end of period (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price Second Amendment Term Loan Second Amendment Term Loan [Member] Second Amendment Term Loan Weighted average discount rate - finance leases Finance Lease, Weighted Average Discount Rate, Percent Lease liabilities, financing, long-term Finance Lease, Liability, Noncurrent Entity Central Index Key Entity Central Index Key Organization and significant accounting policies Basis of Presentation and Significant Accounting Policies [Text Block] Change in fair value recognized in net loss Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Gain (Loss) Included in Earnings (Gain) loss on disposal of property and equipment, net Gain (Loss) on Disposition of Property Plant Equipment Share-based payment arrangement, expense Total Global Cooling employee stock based compensation expense Share-Based Payment Arrangement, Expense Asset Price Volatility Measurement Input, Asset Price Volatility [Member] Information pertaining to the asset price volatility. Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Gross Carrying Value Finite-Lived Intangible Assets, Gross Income tax expense Income tax expense (benefit) Income Tax Expense (Benefit) Finished goods Inventory, Finished Goods, Net of Reserves Financing lease right-of-use assets, net Finance Lease, Right-of-Use Asset, after Accumulated Amortization Fair value measurement Fair Value Disclosures [Text Block] Revenue Revenue Benchmark [Member] Name Trading Arrangement, Individual Name Manufacturing equipment loans Manufacturing Equipment Loans [Member] Related to the manufacturing equipment loans. Debt Securities, Available-for-Sale [Line Items] Debt Securities, Available-for-Sale [Line Items] Inventories Inventory Disclosure [Text Block] Weighted average remaining lease term in years - operating leases Operating Lease, Weighted Average Remaining Lease Term Entity [Domain] Entity [Domain] Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] 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). Long-Term Debt, Type [Axis] Long-Term Debt, Type [Axis] Amendment Flag Amendment Flag Legal Entity [Axis] Legal Entity [Axis] Money market accounts Money Market Funds [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Term Loan Term Loan [Member] Term Loan Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Weighted average discount rate - operating leases Operating Lease, Weighted Average Discount Rate, Percent Cash interest paid Interest Paid, Excluding Capitalized Interest, Operating Activities Customer A Customer A [Member] Information about customer A. Assets: Assets, Fair Value Disclosure [Abstract] Debt instrument, basis spread on variable rate Debt Instrument, Basis Spread on Variable Rate Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Debt, long-term Total long-term debt Long-Term Debt, Excluding Current Maturities Leasehold improvements Leasehold Improvements [Member] Weighted average remaining lease term in years - finance leases Finance Lease, Weighted Average Remaining Lease Term Sales and marketing costs Selling and Marketing Expense [Member] Diluted (in shares) Weighted average common shares outstanding, diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Accrued expenses Accrued Liabilities Disposal Groups, Including Discontinued Operations Disposal Groups, Including Discontinued Operations [Table Text Block] Interest expense, net Interest Income (Expense), Nonoperating, Net Costs and operating expenses: Operating Expenses [Abstract] Less: interest Finance Lease, Liability, Undiscounted Excess Amount Revenue Revenue from Contract with Customer [Text Block] Weighted average common shares issued, basic (in shares) Weighted Average Number of Shares Issued, Basic Company Selected Measure Amount Company Selected Measure Amount Additional paid-in capital Additional Paid in Capital, Common Stock Unrealized gains and losses on available-for-sale securities Debt Securities, Available-for-Sale, Unrealized Gain (Loss) Additional Paid-in Capital Additional Paid-in Capital [Member] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Revision of Prior Period [Axis] Revision of Prior Period [Axis] Cover [Abstract] Cover [Abstract] Subsequent events Subsequent Events [Text Block] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Amortization of loan costs Amortization of Debt Issuance Costs United States UNITED STATES Fair Value, Recurring Fair Value, Recurring [Member] Employee benefit plan Defined Contribution Plan [Text Block] Series A Preferred Stock Series A Preferred Stock [Member] Fair Value Measurement Inputs and Valuation Techniques [Line Items] Fair Value Measurement Inputs and Valuation Techniques [Line Items] 780XLE Freezer 780XLE Freezer Line [Member] Related to 780XLE freezer line. Schedule of Accrued Expenses and Other Current Liabilities Other Current Liabilities [Table Text Block] Vested (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Non-NEOs Non-NEOs [Member] Total lease payments Lessee, Operating Lease, Liability, to be Paid Revenue, remaining performance obligation, amount Revenue, Remaining Performance Obligation, Amount Expected reduction of workforce (percent) Restructuring and Related Cost, Number of Positions Eliminated, Inception to Date Percent Construction in-progress Construction in Progress [Member] Prime Rate Prime Rate [Member] Schedule of Error Corrections and Prior Period Adjustment Restatement [Table] Schedule of Error Corrections and Prior Period Adjustment Restatement [Table] Cash flows from financing activities Net Cash Provided by (Used in) Financing Activities [Abstract] Other comprehensive income (loss): Other Comprehensive Income (Loss), Net of Tax, Period Change [Abstract] Non-PEO NEO Non-PEO NEO [Member] Operating lease, renewal term Lessee, Operating Lease, Renewal Term Equity Component [Domain] Equity Component [Domain] Lease liabilities, financing, current portion Finance Lease, Liability, Current Adjustment to Compensation: Adjustment to Compensation [Axis] Work in progress Inventory, Work in Process, Net of Reserves Maximum borrowing capacity Debt Instrument, Maximum Borrowing Capacity At Closing Represents maximum borrowing capacity at closing. Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Debt Instrument [Line Items] Debt Instrument [Line Items] Basic (in shares) Weighted average common shares outstanding, basic (in shares) Weighted Average Number of Shares Outstanding, Basic Stock Compensation Expense Stock Compensation Expense [Member] Stock Compensation Expense Entity Current Reporting Status Entity Current Reporting Status Concentration Risk Type [Domain] Concentration Risk Type [Domain] Operating loss Operating Income (Loss) Schedule of Short-Term Debt [Table] Schedule of Short-Term Debt [Table] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Number of reporting units Number of Reporting Units Customer B Customer B [Member] Represents information about major customer B. Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Statement [Line Items] Statement [Line Items] GCI Holdings GCI Holdings [Member] GCI Holdings Concentration Risk [Table] Concentration Risk [Table] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Schedule of Debt Schedule of Debt [Table Text Block] Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Customer relationships Customer Relationships [Member] Schedule of Available-for-Sale Marketable Securities Debt Securities, Available-for-Sale [Table Text Block] Schedule of Bioproduction Tools and Service Revenues Revenues By Product Line [Table Text Block] Tabular disclosure of revenues by product line. Type of Restructuring [Domain] Type of Restructuring [Domain] EX-101.PRE 10 blfs-20240331_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 11 blfs-20240331_g1.jpg GRAPHIC begin 644 blfs-20240331_g1.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" !4 D@# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]41C-(V*4 M'DTQFP?;O[5/J+T%W>V*21MJDYPN.MRKU)^E?!WQU_P""@FK^*H[C2_ J'1].?,?]H2#]_(.AVYX7\LU[N79/C,SD ME2A:/=['DXS,Z&!CS3E<^ROBI^TAX%^$,8&NZK&UT>EG:?O)3]1GC\:9\*?V ME/ GQ<4KHFJ+'>#K9W>(Y?RS@_@37X^:IJE[K%[+>7]U+>74QR\TSEF/XFF: M9JEYH]XEU97,MGI^!\3_K17=;F2]P_=N. M0,.!D>M//M7YO? K_@H%K/A-;72?'"-JVG@A%OD'[]?8X^]_.OO/X?\ Q0\. M?%#1TU+P[JT%_#CYUC<;D/HPZ@_6OSC,LFQ>5S:K1NNY]K@MJM]AU+24C,%ZGMFF4.HIJG/?-+0 M%)3=_J<?X2*5F.<9Y^G\Z )**BW-@D\XY^7H:59"WT]J )**9\Q& M<#O@TU;I&R%=6/^RM #J*** "BBB@ HHHH **** M "BBB@ HHHH ***:QZ23ZGY[^./B%XA^(FL2:EK^IS:A<2'/S,=J_[H["N= MQP6 ([#CDU]D_%__ ()Z:[I-Y]K\!7*ZM832<6MPZK+$#WW,1D?CFO2_@9_P M3YTCPVUIJ_CIX]8U!0&&GQD^2AZ_-_>/YBOU7_6+*\+AE4I._P#=['YW')4A'MG&2?PIWQ>_9J\;_!B[_P") MQIWG:>?NW]J#)"?QQD'\*_8#3='L]'T^*TL;6.RM81M2*% JJ/I1JFE6VK6, MMI=V\=Y;2@J\4RAU8'L0:^-7&6)^LZ MG@5T/@GX@^(?AWJL.H:!J$]A-$_QT_X)]:-XG:XU7P--'I& MIMEWL)&/D2'T4=%)_ 5YE\(O^">NM:I>->^/KA-)L8&Q]CAE5GD /]Y3@+CW MSTK[./$65XK"-U):]4]_D?-2R7'86LE!?,]=_9;_ &S+[XH7\'ASQ#H=P=5X M O[&/,+>[@_=_,U].1#@A@IP:ZA? MNBN1^+G_ "3'Q5_V#I__ $ U\Z?6+<_#N\_:M^+:7DRKXZU4 .P"K+@8STJ+ M_AK#XM/-6QV_?=?TKRR^XOIB,C#MS^-?JU^PK^S+\-/B-^S;XY62XF7);$[J/T%!5C\^1^UA\7-VT^.]6S_ -=>*ZCPC^WE\:?"$R2Q M>+9]0BCQFWO?WB'GOT[9K]6Y/V)_@Q)&4/@;3]C#LI%?!O\ P4+_ &-_#'P3 MTO3/&/@Z%K'3KJZ^S7&GEB45BK,"O_?/ZT"/JS]C?]N[3?VAG_X1[7;6/2?% MT:Y"QOF*Z7'WESC!]N:K_P#!3'XA^)/AS\%=(U+PUJMQH][)K$4+36S;7V&. M4E?H2!^5?EE^S[XFOO"/QH\':I8R2+/'J4!RIZKO&5X]>E?MS\;O#/PW\9>" M[&#XG3:=%HRS1RI_:=TMNAFVG;R2.<%N/K0!^3_[/'[2WQ0\0_&SP1I]_P", M]4NK.ZU>UAFADF^5D,R@@^H(X_&OVUW5\H>"_A#^ROIOBS2;OP]=>&#K<=TD MED(-71W,RL"NU=_)W 8'>OJS>O//2@1+16-XD\8Z'X.L6O-'_!,WA?7+O1 MGNI[E93;/MW;1'C/YFOF7]B7]H7XC>-/VE/!VD:WXNU'4-.N)I1+;S295@(9 M#R/J!7N7_!8'_D6?A]_U\7?_ *#%7R3_ ,$_O^3L/ O_ %WF_P#1$E!=C[T_ MX*>?$CQ+\-?AWX5O/#6LW.CSSW\B326[[2RA 0*^,OV5?VD/B9XE_:#\#:1J MGC'5+S3[B_$".N[C%?FE^V%_P4?UW1O%VI>$OAR\-E#I[&*XU60;G9Q]X(!TQZYK[Q M^)?Q8\)>#])U73]6\4:3I6K-8RO%;W-['%(QV';A6()/2OP#\47?VWQ)JUT9 M?/W7N/ZT%)'J/_#5'QAUO5TF?QMK,DA<%E20D')] *_?#GPM.;".5SA?MFZW4_C( * /<**J:?JMGJMK%=65U#>6THRDT$@=&'L1P:M YH$ M!;D"OD_]M3]MNR_9SL8]#T:&/4?&-VF^..0_NX$Z;V]3GMQ7U<^CUN1A =6CMBLC?*D88?+].?UH [/P];_M/_M:,^I66H:FVF2D MGSFD-O:=<87J<5TTW_!/?]HS2;?[?;Z_92W.-WEPZI*9?I@IC]:_5'PMH&F^ M%?#^F:9H\,,&EVL*Q0K" %VA< \<'/K6S@[O;\:"C\:[?X]?M%_LB^)8+3Q- M)>/:!\-:ZD#+!,H[(V>#CO\ I7Z9?LP_M,^'_P!I3P.FK:7FTU.W_=WVGR," MT+^Q[J>H/O6G^T7\&=&^-GPLUK0M5LXKF80-+:S,OSQ2J,J5(Y&<8X]:_,S] M@&Z\6?![]I:'2[O2-433-0DFT^[+6L@AW L%;.,8#8Y]!0!^P:R[F(QVS3MU M1#/F9/3''M5;5]:T_P /V,M[J=];Z?9QC<\]U*L:*//BS5_!/[.&NZMH=_-INHQ2QA+B!L,,AJ^@EF1UR'!& M,]?6OF3_ (*,.'_97\18.?WL?\FH$>1_\$M?BGXM^)=IXV;Q1KUYK;6TD7DF MZ?=L!':OOC=7YN_\$??^/'Q__OP?RK[FU_X[?#_PMK4ND:MXOTC3]3C(5[6X MNT20$@$#:3GH10,[ZBF0S)<0I)&ZR1L-RLIR"/6G,P4$G]*!!2$Y&*X;Q)\< MO 7A'6GTC6?%>EZ9J:[\G6-)"06 !)] :!GQE^TM_P40U[X'_&34_!EGX7M=0M;7RU%Q)/#'&L'VV/>6V@8QGK0!YY_P4 M2\7>)/!?[/5YJ'A:_NM.U,7<"B:SSOV^8N>@],UQ7_!,GQ_XO\?>"/%%QXMU M.^U*>&]587OLY"E!P,BOJWQYXA\*^']!-[XMN]-M]'W*#)J3)Y621M^]P><5 M3^&_BOP/XFL[J7P7>:3=VR.!,VE&,J&]]E =#M:*8TRKU/Z5YS\1OVBOAS\* M24\2^+=-TZ<,HD=VVJTMK,B M_B2H _&O;_"_C30?&>GK?:%K%GJ]HW(ELIUE ^NTG% &U2;J1I%5O:N$ M;X[?#Y?$3Z"?&&CC6$E\DV?VQ/,WYQMVYSG/:@#O-U&ZN,^('QB\&?"VS^T^ M*/$=AI"8R$GF D(]0G4CZ"O+;3]OCX'7EZMM'XUA#L*V,T"%W4;J\V^('[1GPV^%\ MCQ>)/%^F6%RGWK43B29?K&N6'Y5Q&G_MX? _4KR.VA\;P"1S@&2WE11]6*@" M@=CZ"KRGX^?&K_A4&DV)MK :CJM^SK!$[[$541G=V.#T56.,M]H&LV.L6K?\M+.=90/KM)Q7+_&#X/:5\9-(M;>ZGFLKRRE\VVO(?O1M M@@@@\,K*2"#P0:!')_L[?M%#XRRW=E=6*VE]# MW%+"^Z.>%F90>@P0R.,>P MYYHK;^"O[/\ I7P=N-1O8;F34-3OPJ23,BQI'&N<1QHN%49+'@#)8T4 '[3G M'P,\8CJ?L;']17XX12^2V]'*.IW;ER",>]?LC^T[_P D+\8?]>3?S%?C4WWC M7[!P73C+"5(O^;]$?F'%+?UB"\C]!/\ @GC\5/$_BZYUO0M8U26_TZQ@#VZS M_,R<@<-Z?6OMYV' R17YZ?\ !,O_ )&[Q5GG_1%_]"%?H=M^4<<5\3Q-&,,R MFJ<>5:;'UF0SE5P,95-=S"\3>,M(\&V?VG6+Z*S@[-(V*;X7\9:3XTLFNM'O MX;R%3C=$V:^=?VOO"^M:A?:9J%O;3W>G0HR,D(R%;(ZCWX_*E_8_\+:WI^HZ MKJ%U;2VFFR1>6J2# 9PP.X#\#5/*,*\IEC?:_O.Q\]'B'&+/(Y;[!^S_ )CZ MC15W'GD5\Q_M<>-]:T&ZTS3=.O&M;2XC=Y?*X+8(&/UKZ=7'<8[5\B?MI<>) M- '_ $PD_FM3PU&,\RIQFKFW&U:I1R>I.,K2O;0^=/,+,2Q)+?\ BU/AKU^R@?J:_.W^*OT4^!O_ "2GPU_U[#^9K[?C6/+@Z,'LI:?.__P"/Z?')WMCC/>OT0_9$_;[^'WP0^!NB>$M M9G^SQ93YY6?C\&K\[[]L7TV.N]L<9[U]:? '_@G;XC^/GPRTSQGIWB/3K"SO MFE5(+@2!QL=D;.%/4J?SH*9]>W'_ 5:^%2PLT>G:O+(.B&,#-?%O[97[:5S M^TU<6.D:3IDFE>';.7S(X7DWRS28(W$8&!@GBO6F_P""1/C%59D\8:.6 X7$ MO_Q%?-?[0?[)OCS]FV\MY=>MEGTV5]EOJMD=T9;KCL0< ]<4 >Y_L)_L4^)/ M%7C[1_&WBK39--\+:?*EU;B9"K7;J0R[1_=S_6OHS_@K(HB^ >AA?^@Y#CCM MY4N!7S%^QU^WIXG^&_BS2_#?C'59]7\'W4B6RRWE?37_!6" MXCNOV>] FB97CDUJ!D8'.1Y4O/ZT ?G-^S&Q_P"&@/A_\VO%DEUK^ MJW&KW=Y)Y<5I S>6I)X2- >1^M>M^%_^"DR!TBO+@QR8 MQQ\N"1Q[UW?_ 2U^$>G^-OBYJ?B/4XH[E?#]OO@209VS,0 P_ M7ZY9XSC) M'- 7/Y\_'OPU\=?L_P#BR*SURTOO#VJ+\T4T3E/,QW1N_:OOO]@/]N>^\8:I M9_#[X@7J3ZA(N--U*4[&<@?ZN3_:[#\*]V_X*#?"?3_B)^SMKU_- CZGH:"^ MM9L?.,':5S[[OTK\7/#>N7/A?Q%INK6CL+NPN8KF)O="&'\J W/TM_X+ _\ M(L?#[_KXN_\ T&*ODK_@G]_R=AX%_P"N\W_HB2OH_P#X*:>(?^$L^#/P=U=_ MG:[265_J8X!<]?/F_]$24!8^S_ /@KH!_PJWP;NZ?V ME+U_W%[5\&_L[VY_M)=V5(+?*V,FXEDGG MV$;%!. !Z U^9MW;OI]Y/!*-LEN[1N?X5(/(%?T8^-?^1-U[_KQN/_1;5_.W MXH_Y&35_^ON7_P!#- XGNGPK_8<^*OQ1\)Z9XKT#3[.;2;DAXI);O8P (R2- MOI7M'[7G[:6MZ?H^E_"OP9?'3K?2=/M[#5]2M7^>29(U61(S_=!!7Z@U]+?L M\^+)/ __ 3Q_MN+B>TTJ8QMZ,P"C]6K\@=0OIM4U"\O)Y&ENKAVEFM+J)H95,,6"C @C_6>AH!,^*_V2 M_P!LCQ-\!O&5I;ZA?S7_ (1N)%%YI]PY\3")+^ZOM!G;J+N$&,?\#R/Y5Z%\3/V+_A)\5)9KG5/"UK;7TI^:\L%$ M,C$]R5'-?.7C?_@D=X6O/-D\,>*;O3I#]R"\0R1C\>3^E [GV)X(^.?@+XE1 M*?#GBK3M3WC(2&8;OH1781:/IZ2I.EE;K+G<)%B7(/KG%?C!\8/V#OBS\ ?, MUZQB_MK3[0Y_M#1W.^(#H=IPP_ 5['^Q%^WUXAM_%^E^!?B%J,NJ:9>2+;6N MI7)/G0R'A$-?%VF^ _"VI:_J\RP:=I\+32R,<< 5^07COXK M?$S]OCXR+X>\-R75KH4DK?9+.,E8;>$'_638ZG'X$GH*^Q?^"I?CJXT#X#6& MDV'C5J0J3Q^)4 M&@9;\!_\$GO EAI$/_"4ZSJFI:FRYF:TD6.,-[ JU>;_ ![_ ."7<_A'1;GQ M%\,M:NKBYLE,QT^Z.9W Y.R1=O3TV\^M?IT*BD4,I!&03C_&@D_-/_@G[^V7 MK*^)H_AAX_NY+AW=H-/O;OB2*0$CR7]>?E'?D5](?\%%#_QBSXD&01YL>#WZ M-7YY?MQ>%8_@S^UI?WVC+]G1KBWUBWQQB7"2$_\ ?>:^[_VTO$'_ E7[#;Z MN?O7=O;2GZE6S^M VK'C?_!'[_CQ^(';YX/_ $&OF_\ ;L(_X:^\0'!53/_T$5I=Z"3\5O^"@BC_AK[51C[Q@SC)Q MSZYK]&?CM^R_8_M1_"OPEI&H:K-HRV'EW2M"H?K\Y_\ @H'_ ,GA M:I_O6_\ ,U^Q?@O_ )%'1?\ KUC_ /0104C\(_VD/@O;_ _XQ:EX-M;]K^&T M,:BXD3#$,BMTS[U]Z_#_ /X)9Z%H]_H7B)/&-V[PM#=^4T Y(PV,YKY3_P"" MA/\ R=EXB_W[?_T6E?LYX4_Y%G2O^O6/_P!!% 'RA_P5 7R_V8;O@G%];@'T MS(G:O/O^"1:C_A77BTYP1?*"QZ'Y:]#_ ."I'_)L-Y_U_P!M_P"C4KS?_@DC M+Y/PQ\:R=-EX&_),T#Z'1?\ !0G]LF[^$5B/ OA*=4\2WR9NKM>6M(_8?WFX MQ[9KP3]G#_@GOXA^/E@GC;XD:S>V&G7W[Z&$G-S= _Q%FSM!^AKQZ\DD_:#_ M &V@FH'?%J?B!P4/01([,!_WRN/QK]M]-L(=,T^VLH(Q%;V\:Q1(.RJ, ?D* M";'Q5X@_X)1_#2\TEETS5M:LK\)A)I9D=<^Z[!D?C7QSXDTGXJ_\$\_BM9-! MJPY^9"N>&QGOTK]IU&U0 ,"OE7_ (*1?#JV\;_LVZQ?O&OV MW1)([R"0CE?G56_\=)H!'L?P/^+VE_'+X9:=XLTH[5NHRLT&?]5* -RG\Q^! M%?C)\;?$U[X-_:T\6ZYIR++J-EXBN)H(F3(\P.P QGGKT]J^L_\ @D;X\NIF M\<>$996>RC2*]MU/0.VY7_1%KYL\4:7!KG[=VH6=TN^VF\6N2OTF)H*V/I7X M6?L#>*?VAMOCSXP^);V.75,W<%A V9%5N5SGA5]%Q^-=5\1/^"3OA";P],DL4I .%("J03ZY_"OON"W6U@6&)0D<:!$4=@!Q4W;% KGXJ M?LK_ !=\6_LO_M$6GA;59Y4T^341I6I:>[$Q!V?R@ZYZ88AOPK]#_P!OCXYZ ME\%_@3+?:#-Y.JZM(+6"X!QY:D#

0VR??E&P;E7W.!0-Z'QC^QS^Q:_[4UI MJ'C;QMKUZ-+\]HE$! FGDSEOF;=@#'IWKZA\3?\ !*GX7:AI;PZ3>ZQIUYL/ MES23I(F[L2 @KXW_ &7?VT/$G[*"77A?5]!DO=(>8RO82@I<02U?LY\-/&]E\2/ VB^)M.(^QZG:QW**#DIN4$J M3WQG%>0S:-^S_P#M/:PFKR?\(]XLU00B-'DV^>$Z@;7 ;N>U>T^$/"ND^"O# M]IHNAV46GZ7:($@MH5VJB^@%!)N44U:*!'EO[3G_ "0KQA_UYM_,5^-+\9]* M_:7X]:'>>)OA'XITNRB,MU/9OL5?XL$DM+'US_P $X/$FFZ/\0-?L[N]BMKFZ MM0(5F8+O(8?*/4^WM7Z/ANAW ]*_"2VO)]/NDN+>GB/P');:5XOWZ_I(PJW+/^_C7IU/WL#Z5GQ'P[B,=6EB\.[M;KKH5D> M^'-3BNQC+PDXD3V*UH>,OB)H?@&Q:ZU>]2W&,B,$%W]@*_*_85_;+#>S?-V/ MO*F*P].D\3*:45]K_@G12-L(XQ[U\<_MC:O::AXLTB"WGCFE@A<2B,Y*DE># M^50?%7]JC5O%#36?A\'2K+!0S;LRL/\ V7\":\(NKJ6]F>69FDD;J[')^IK] M3X=X;Q&&JQQM=\K[=3\(XQXNPV8X:67X2-U=>]WMV(OXJ_13X&_\DI\-?]>P M_F:_/*WLYKR>*&WC:6>1@%C Y)/I7Z+_ GTV?0_AWH=C=)Y&=.?URK5M[O+:_G='9K]T5R'Q<_Y)CXJ_[!T__H!KKE^Z M*Y'XN_\ ),?%''']G3_^@&OQY;']%H_GCU#_ (_IR#SO;'OS7[4_\$X#_P 8 MG^%<W\Z]V^%G[<'Q2^#G@NS\*^&M2L[?1[ M1G:*.6WWL"[EVYSZL:96Y^Z0(/0YKY@_X*+:IH5G^R_XFAU@Q&XN#$EC&QP[ M2^8I^3W"AOPS7Y[-_P %+/C>RD?VU8C/_3K_ /95XO\ %CX[^-OC9J$5WXOU MN;4S"Q>.%F(AC)!&57G'!H%L<"K;7WDKE<%C_LCKGWK])_VXIKFY_83^%TMX MS-M?)G[*_[+_B+]H3QY86J64UMX=AD5K_498\1B/J0O]XD? M2ONK_@J=I-OH'[-7AC3K10EM:ZO;Q1KTP!%** N?G=^S#_R<%\/_ /L-VG_H M]:]<_P""DGANYT']I_5[F6-O*U"VCND9AP5Y7C\5->1_LQ_+^T%\/\8)&MVG M?_ILM?J3_P %!OV69/CQX"AUO0[=9O%&C*Q2/H;B(\E,]L$+= FF5+F\LUE@5^KE67(_(G\J_4E<$@YR1Z=#7\\7A/Q9XG^"?CR MVU>Q^T:5K^G3?ZN1=K9'#*XSTZU]\^%/^"O"0Z%%'K_@J2;5(X\/-:W0\N1O M7! (_6@5CZR_;5\86?@[]FGQI=W69ECC [EC@?CDBO?_VH?VR/%?[3=Y;P74"Z3H%N^^#3()"ZEN@9B0,G&>U> MA?L ?LC:C\5/'6G>,/$%F]MX5TF<3J9E(^URK]P(".@8 D^U [V/0?\ @HKH M5&4]CLB/]:\ _X)_?\ )V'@7_KO-_Z(DKZQ_P""O48B M\+?#^-5V*D]P%'H-L8KY._X)^X_X:P\"8/R^?-_Z(DH"Z/L__@KM_P DM\%_ M]A.7_P! 6O@S]CG_ ).<^'G_ &$E_P#06K[S_P""N@+?"_P6 ,_\3.7_ - 6 MO@S]C?YOVG/AYP?^0D/3^ZU NC/W3\:_\B;KW_7C[_P"@7'_HMJ_G;\4<^)-7QS_I-[P0:K;+<*JQH0,] MON]JZC_AT)HN#GQQ?<=<0I_\37S1^S!^WMXK_9UTUM"FL5\0^&M^];.:4HT) M/78V#Q[5[C\0_P#@K=>ZIX?GLO"GA$Z??SQ,@O;JY!\HD8RJXY(^HH$C67_@ ME'X45BG_ L6;,_BCXN:TL9[_5-9U*XR0CLR.2W[Y@"P!/8&@&=O\2)-6A^'_B.;0IC#K*6$[6<@ 8B81G8 M0#QUQ7YG_LI_MP?$?6_VA-'T#QWXH>\TB\FDLV@DAB15DR,$E5![&OU5D4,K M#KN&,5^0G[='[)NN_!_XBW7CKPE:32>'+Z?[4&M%)>TE!R00.@]_K02?KRO/ MW2.#R%_K4U?G/^S/_P %0=%_L.TT/XGQ7%I?01K&FK0+YB2@=W&00?IFOJ>S M_;9^"E[:+<+X^TZ-&&=LBR!ORVT#L>SW5K#=PRPSQK+#(I1D;D,#U!K\)_VI M?#^G^ OVH?$MGH6VWM(-166(0' C!VTC[>+_ %.^D0^6 MV&W&,$]2>GXT#/JS_@IAH-[X@_9K\!ZV\;![22-)<=%\R->3_P!\5TG_ 2A M\56NJ?!'5=(20?:["_8O%QD*Q)!^G(KZ@^,GPDTSXM?"?5?!=\JK:7=KY,;$ M9V,HPI'TK\E?A;X\\:_\$_\ X\7MIK>G2RZ=(WV>\MUR%N8,_+)&3P3P#B@= M]#]K:C?+-UP,]/6O"? G[<'P>\=:/!>0^+[33YV7=):7H9)(CZ'C'Y&O,OVB MO^"C'P^\ ^&;VU\':@OBCQ'*C1P_901%$Q')9CSQ[ T$'Q1_P4?\00>-OVIK M[3=/=;C[)%!9%DY)?8IV_4,+89)-%M;S^T9;B9#_ *56?\%0/A1JOA'XT0^-((&?2=9AC/VE5.V* M=/E*MZ_3 'Y5^^/ M@GYO!^B^OV2,_P#CHH _&S_@H9Q^UEXB_P!^W_\ 1:5^S?A/_D6-)_Z]8_\ MT$5^-W_!2+2[S1_VH]9NIX&6.YCAG@8\+( BC /KE37WU\+O^"@WPE\1:3X; MTM=1NH=8NDCMA9F#++)@#!.: 9E?\%2/^38;S_K_ +;_ -&I7FO_ 26C,WP MM\;QK]Y[O:/Q2O2O^"HWS?LPWAQ_R_6Y'O\ O4Q7G?\ P2*ROP]\7J1C%ZA) MSWVT#Z'Q_P" =WPH_;BM$U0"'^S_ !'+!+NX&&+Q@_FPK]O89!(@=7WHW(/U MZ?A7YG_\%*/V6]6L_%2?%3PG9O<02D-J26Z_/"XY$H]>>M=S^R;_ ,%&O"^H M>%;#PO\ $JZ.A:O8PBW34I@6AN%'"EB!E3C Z=J /OT$X.#^)KYQ_P""@'BR MU\,?LP>*_M$@5KU([:,?WBTB@X_ YKI=;_;(^#N@Z8UY<>.=/EC5=X6'U D>F M_P#!(?PS<2^+/'.N,C+:PVL%NK?PEB9"?QQBO$=0_P"3_P"Y';_A+9?_ $:: M_3W]D/X")^SS\';+0Y45]6N ;R_G QND8 ;?P K\P-0W?\ #P*Z7&"/%T@. M3_TT:@JY^VE%.VTWN?04$'XF?M9MM_;>U(\?\AFTSGTW)VK]:\DTFS2WO(802PBV@J0/0$M07)W/K'Q9\!?A M-\>-)CU/4/#FE:W;WBAX]0LSL9U/1@\9&:^??'/_ 2E^'&N1R2>']6U309V M^[&9%DB'M@KN_6O,_P!A3]O+PQX,\#V?@+Q_!/!3-JUA'=BYGU!4P'D4$(J \_Q-7U%_P $T?A3 MJWPV^ ?VG6;=K2ZUJX^VK!(,.J8(4GZ@@T"/K=>M%+BB@DC8=0!D>E>(_'#] MD_P;\9K66:YLDTO5\'9?V2[&)[;\?>YKW'UJ-FYXX^O2NBAB*N%J*I2E9F%: MA#$P<)JZ/R*^-G[)OC3X.32W$UHVJ:&K96_M4W*!ZL!ROXUXEN *\$A^@ZY^ ME?NW>6D-]"\-Q$L\3C#QR+N4CTQ7RM\=/V#/#7CU;G4O";KX=UE\R-&JYAE/ M7D=L^HK]2RGC&%1>PS&-O[Q^>YAPTX_O,([KJCY>_8#NI5_:!M(HYG6.2PE, MB*YP<%< @<=^]>X_M72ORDF'E1YE((1?E_B-=BQ. M'_MU5^=O1OAK\"?$?Q$F62 M&W>QTW/S75PN,C_9!ZU]"_"[]EO2?#!AO->/]JZ@H!\H#$*'T]Z]XL[6&S@2 M.&-8HU& J+@#Z5Q9IQA"FG3R^-W_ #'%D/AY.I:OF4O=_E_S/-OAK\!?#GPZ MC1TM_M^H\;KFX^9L^V>GX5Z9M'W<TK2;9 M^Y8/ X;+J:HX2"C%$B]!6?XAT6#Q)HM[I=UN^S7D30R;3@[6]>% ZTZN< M[SXSD_X)8_"6::22275"TC%B1.<9)IO_ ZM^$/_ #UU7_O_ %]G44#N?&/_ M ZM^$/_ #UU7_O_ %TGA#_@FO\ !;PK?+=2Z-&?".C^#=-CT_1-,M=,LD&!#:Q*@/N<#D_6N&^/G[/?AW]HKPK:Z!XF:X M6QM[E;M3;OM;>JL!SZ88UZE10(^2_!?_ 37^%_@7Q;I'B'3Y-2-[IMU'=Q> M9.2N]&#+GVR!7UCMX'&*?10!X/\ &W]C+X9_':1[S7-%6SU=L_\ $QL#Y4O/ M&6NF-GXUU%+;/RK+#&64?4+S^-?H=10.[/C?X8_\$P/ MA?X'O8+W5Y;WQ5<0G<%OGVQY^BXS7USI>B6.AV$-AI]G#96,*A8[>WC5(T Z M *!@5?HH$>._M"_LO^%?VDK+2K;Q2]TB::[O#]EDV* M6N5MK&9IX_LLA0[B .OX5Y=\/?\ @G-\,?AOXTTCQ-I;:@=0TN;SX/,G)7=C M'//-?5-*M [E34M.35=/N;.8$1W$+PN5..&4@_SKY$O/^"7'PGOKV:ZFDU3S MII&D8K/CDG)[U]D44".*^$?PKTGX,^ ]-\)Z&9GTVP!$9G;27.B:AJ/AK M>Q;[/;N)(USV&_)Q7':7_P $A?#$=TKZCXUU2X@4Y\N**-21Z?=K]"Z*!W/& M?@A^RC\//@'"'\-Z)&=2QA]1NB99S]"V=OX8KV15VJ >:=10%R*2,MP.A&#@ M\U6U#2[?4[2>VN[>*ZMIEV20S('1Q[@\&KU(>E CY1^*'_!-WX2?$6\GO;6R MN/#5Y-\S/I> T<9/_H-?H510.Y\5 M^ O^"5?PQ\,W,5QK-[J7B1D;?Y-Q+Y49/N(]M?7'A+P+H7@/1(=)T#2[72]/ MA&%@MH@@./7'4^YK>I:!$+1LV5QQUY_E7G_Q:^ ?@SXX:%_9OB[1H=0VY\JY MQMFB_P!UQ@_K7HU% 'P!XB_X)$^#;R]>32/%NJV%LQS]GE".J_0E2?S-=3\- M_P#@E?\ #3PA?PWFMWE_XFDA8,D5PPCC!]PF,CV/%?:U% &5H/AW3_"^EP:9 MI%C!IVGP+LBMK>,(B*/0"N:^,/PDTGXU^!;WPKKIE&G71#,86VMQG'/XUW5% M 'C'[/G[*_A+]FU=73PJ;HKJ;*TWVB3=R/2N]\??#?0/B;X'6+M+CQ1JD+;HGU,AHT8=#L&%;\0:^L3UI*!W/FGXI?L# M_#KXM_$&;Q?J_P!M34I!&-D,NV-0G0*!T'/2OHO2=,CTC3;:QA!\FWC$2;CD M[0,"KBTZ@1Y/\)&F73I)4E M/V=RK95@1S^ K)_9]_9K\,?LWZ+?Z9X8-RUO>2B:3[3)O.0,=:].10RLI[$'K7RC\7?^":OPN^)=__.HD><=GFEMW3/3)KZ9HH *85)_ \4^B@#YG\>?L!_#GXA_$R?Q MSJ3Z@-9FN4NF\N8A-Z$$<9]J^BCI-NVDKITT27-GY0@>*90RNH&,$'KQ5ZD/ M2@#Y&^+'_!-3X6_$K4I]3L8[GPO?S,6;^SFQ'G_=.0/P KR=?^"06@?:!GQS MJ0AST$:%L>F2M?H?10.Y\L_!W_@G3\+?A/J$&HR6L_B348?F2;4VW*&[':.. M/IWKZDMX1!&$50BCHJ@ >@ J2EH$%%%% !2444 %%%% $7DQS$,R*64\<4Y M8DSNVC)YSBBBG<5D/I:**0PHHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB 0B@ HHHH **** "BBB@#_V0$! end XML 13 R1.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Cover Page - shares
3 Months Ended
Mar. 31, 2024
May 03, 2024
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Entity File Number 001-36362  
Entity Registrant Name BioLife Solutions, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 94-3076866  
Entity Address, Address Line One 3303 Monte Villa Parkway, Suite 310  
Entity Address, City or Town Bothell  
Entity Address, State or Province WA  
Entity Address, Postal Zip Code 98021  
City Area Code 425  
Local Phone Number 402-1400  
Title of 12(b) Security Common stock, par value $0.001 per share  
Trading Symbol BLFS  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   46,030,886
Entity Central Index Key 0000834365  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Amendment Flag false  

XML 14 R2.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Unaudited Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets:    
Cash and cash equivalents $ 29,694 $ 35,407
Restricted cash 31 31
Available-for-sale securities, current portion 15,579 16,288
Accounts receivable, trade, net of allowance for credit losses of $1,745 and $1,710 as of March 31, 2024 and December 31, 2023, respectively 18,574 18,657
Inventories 43,414 43,456
Prepaid expenses and other current assets 4,408 6,765
Total current assets 111,700 120,604
Assets held for rent, net 6,904 7,713
Property and equipment, net 21,042 21,077
Operating lease right-of-use assets, net 10,779 11,446
Financing lease right-of-use assets, net 65 94
Long-term deposits and other assets 245 273
Available-for-sale securities, long-term 822 548
Equity investments 5,069 5,069
Intangible assets, net 20,235 21,149
Goodwill 224,741 224,741
Total assets 401,602 412,714
Current liabilities:    
Accounts payable 4,984 6,940
Accrued expenses and other current liabilities 8,863 11,932
Sales taxes payable 5,395 5,442
Warranty liability 7,800 7,858
Lease liabilities, operating, current portion 2,645 2,797
Lease liabilities, financing, current portion 352 376
Debt, current portion 8,619 6,833
Total current liabilities 38,658 42,178
Lease liabilities, operating, long-term 12,579 13,205
Lease liabilities, financing, long-term 1,086 1,169
Debt, long-term 15,681 18,311
Deferred tax liabilities 193 188
Total liabilities 68,197 75,051
Commitments and contingencies (Note 12)
Shareholders’ equity:    
Preferred stock, $0.001 par value; 1,000,000 shares authorized, Series A, 4,250 shares designated, and 0 shares issued and outstanding as of March 31, 2024 and December 31, 2023 0 0
Common stock, $0.001 par value; 150,000,000 shares authorized, 45,689,583 and 45,167,225 shares issued and outstanding, respectively, as of March 31, 2024 and December 31, 2023 46 45
Additional paid-in capital 659,063 652,880
Accumulated other comprehensive loss, net of taxes (566) (345)
Accumulated deficit (325,138) (314,917)
Total shareholders’ equity 333,405 337,663
Total liabilities and shareholders’ equity $ 401,602 $ 412,714
XML 15 R3.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Unaudited Condensed Consolidated Balance Sheets (Parenthetical) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Allowance for doubtful accounts $ 1,745 $ 1,710
Preferred stock, par value (in dollars per share) $ 0.001 $ 0.001
Preferred stock, shares authorized (in shares) 1,000,000 1,000,000
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock, shares authorized (in shares) 150,000,000 150,000,000
Common stock, shares issued (in shares) 45,689,583 45,167,225
Common stock, shares outstanding (in shares) 45,689,583 45,167,225
Series A Preferred Stock    
Preferred stock, shares designated (in shares) 4,250 4,250
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
XML 16 R4.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Unaudited Condensed Consolidated Statements of Operations - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Total product, rental, and service revenue $ 31,727 $ 37,703
Costs and operating expenses:    
General and administrative 12,934 14,842
Sales and marketing 5,070 6,471
Research and development 3,534 4,152
Intangible asset amortization 914 1,459
Acquisition costs 237 0
Change in fair value of contingent consideration 0 720
Total operating expenses 41,855 51,308
Operating loss (10,128) (13,605)
Other income (expense):    
Interest expense, net (207) (411)
Other income 245 394
Total other income (expense), net 38 (17)
Loss before income tax expense (10,090) (13,622)
Income tax expense (131) (92)
Net loss (10,221) (13,714)
Net loss attributable to common shareholders:    
Basic (10,221) (13,714)
Diluted $ (10,221) $ (13,714)
Net loss per share attributable to common shareholders:    
Basic (in dollars per share) $ (0.22) $ (0.32)
Diluted (in dollars per share) $ (0.22) $ (0.32)
Weighted average shares used to compute loss per share attributable to common shareholders:    
Basic (in shares) 45,432,426 43,027,612
Diluted (in shares) 45,432,426 43,027,612
Product revenue    
Total product, rental, and service revenue $ 24,803 $ 31,593
Costs and operating expenses:    
Cost of goods and services sold (exclusive of intangible assets amortization) 14,384 18,397
Service revenue    
Total product, rental, and service revenue 5,088 4,471
Costs and operating expenses:    
Cost of goods and services sold (exclusive of intangible assets amortization) 3,519 3,891
Rental revenue    
Total product, rental, and service revenue 1,836 1,639
Costs and operating expenses:    
Cost of goods and services sold (exclusive of intangible assets amortization) $ 1,263 $ 1,376
XML 17 R5.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Unaudited Condensed Consolidated Statements of Comprehensive Loss - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Comprehensive Income [Abstract]    
Net loss $ (10,221) $ (13,714)
Other comprehensive income (loss):    
Foreign currency translation adjustment, net of tax (203) 106
Unrealized (loss) gain on available-for-sale securities, net of tax (18) 39
Comprehensive loss $ (10,442) $ (13,569)
XML 18 R6.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Unaudited Condensed Consolidated Statements of Shareholders' Equity - USD ($)
$ in Thousands
Total
Series A Preferred Stock
Preferred Stock
Series A Preferred Stock
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Income
Accumulated Deficit
Beginning balance, preferred stock, shares outstanding (in shares) at Dec. 31, 2022     0        
Beginning balance at Dec. 31, 2022 $ 364,188   $ 0 $ 43 $ 611,739 $ (679) $ (246,915)
Beginning balance, common stock, shares outstanding (in shares) at Dec. 31, 2022       42,832,231      
Increase (Decrease) in Stockholders' Equity [Roll Forward]              
Stock-based compensation 7,363       7,363    
Stock option exercises (in shares)       80,938      
Stock option exercises 125       125    
Stock issued - on vested RSAs (in shares)       376,800      
Foreign currency translation 106         106  
Unrealized gain (loss) on available-for-sale securities 39         39  
Net loss (13,714)           (13,714)
Ending balance, preferred stock, shares outstanding (in shares) at Mar. 31, 2023     0        
Ending balance at Mar. 31, 2023 358,107   $ 0 $ 43 619,227 (534) (260,629)
Ending balance, common stock, shares outstanding (in shares) at Mar. 31, 2023       43,289,969      
Beginning balance, preferred stock, shares outstanding (in shares) at Dec. 31, 2023   0 0        
Beginning balance at Dec. 31, 2023 $ 337,663   $ 0 $ 45 652,880 (345) (314,917)
Beginning balance, common stock, shares outstanding (in shares) at Dec. 31, 2023 45,167,225     45,167,225      
Increase (Decrease) in Stockholders' Equity [Roll Forward]              
Stock-based compensation $ 6,183       6,183    
Stock option exercises (in shares) 0            
Stock issued - on vested RSAs (in shares)       522,358      
Stock issued – on vested RSAs $ 1     $ 1      
Foreign currency translation (203)         (203)  
Unrealized gain (loss) on available-for-sale securities (18)         (18)  
Net loss (10,221)           (10,221)
Ending balance, preferred stock, shares outstanding (in shares) at Mar. 31, 2024   0 0        
Ending balance at Mar. 31, 2024 $ 333,405   $ 0 $ 46 $ 659,063 $ (566) $ (325,138)
Ending balance, common stock, shares outstanding (in shares) at Mar. 31, 2024 45,689,583     45,689,583      
XML 19 R7.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Unaudited Condensed Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Cash flows from operating activities    
Net loss $ (10,221) $ (13,714)
Adjustments to reconcile net loss to net cash used in operating activities    
Depreciation 1,364 1,721
Amortization of intangible assets 914 1,459
Amortization of loan costs 0 13
Stock-based compensation 6,183 7,363
Non-cash lease (benefit) expense (83) 418
Deferred income tax expense 5 13
Change in fair value of contingent consideration 0 720
Accretion of available-for-sale investments (182) (390)
(Gain) loss on disposal of property and equipment, net (14) 68
Loss on disposal of assets held for rent, net 198 218
Other 0 (50)
Change in operating assets and liabilities, net of effects of acquisitions    
Accounts receivable, trade, net 65 3,612
Inventories 42 (6,425)
Prepaid expenses and other assets 2,392 661
Accounts payable (1,956) 157
Accrued expenses and other current liabilities (2,767) 371
Warranty liability (58) 583
Sales taxes payable 20 510
Other (377) (20)
Net cash used in operating activities (4,475) (2,712)
Cash flows from investing activities    
Purchases of available-for-sale securities (6,374) (8,202)
Proceeds from sale of available-for-sale securities 973 524
Maturities of available-for-sale securities 6,000 14,900
Purchases of assets held for rent (464) (1,001)
Purchases of property and equipment (356) (3,295)
Net cash (used in) provided by investing activities (221) 2,926
Cash flows from financing activities    
Payments on equipment loans (241) (127)
Proceeds from exercise of common stock options 0 125
Payments on financed insurance premium (727) (569)
Other 16 9
Net cash used in financing activities (952) (562)
Net decrease in cash, cash equivalents, and restricted cash (5,648) (348)
Cash, cash equivalents, and restricted cash – beginning of period 35,438 19,473
Effects of currency translation on cash, cash equivalents, and restricted cash (65) 11
Cash, cash equivalents, and restricted cash – end of period 29,725 19,136
Non-cash investing and financing activities    
Purchase of property and equipment not yet paid 26 347
Assets acquired under operating leases 0 880
Unrealized gains and losses on currency translation (6) 0
Unrealized gains and losses on available-for-sale securities 18 (39)
Cash interest paid $ 445 $ 497
XML 20 R8.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Organization and significant accounting policies
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Organization and significant accounting policies Organization and significant accounting policies
Business
BioLife Solutions, Inc. (“BioLife”, “us”, “we”, “our”, or the “Company”) is a developer, manufacturer, and supplier of a portfolio of bioproduction tools and services including proprietary biopreservation media, automated thawing devices, cloud-connected shipping containers, ultra-low temperature mechanical freezers, cryogenic and controlled rate freezers, and biological and pharmaceutical materials storage. Our CryoStor® freeze media and HypoThermosol® hypothermic storage media are optimized to preserve cells in the regenerative medicine market. These novel biopreservation media products are serum-free and protein-free, fully defined, and are formulated to reduce preservation-induced cell damage and death. Our Sexton cell processing product line includes human platelet lysates (“hPL”) for cell expansion, reducing risk and improving downstream performance over fetal bovine serum, human serum, and other chemically defined media, CellSeal® cryogenic vials that are purpose-built rigid containers used in cell and gene therapy (“CGT”) that can be filled manually or with high throughput systems, and automated cell processing machines that bring multiple processes traditionally performed by manual techniques under a higher level of control to protect therapies from loss or contamination. Our ThawSTAR® product line is composed of a family of automated thawing devices for frozen cell and gene therapies packaged in cryovials and cryobags. These products help administer temperature-sensitive biologic therapies to patients by standardizing the thawing process and reducing the risks of contamination and overheating, which are inherent with the use of traditional water baths. Our cryogenic freezer technology provides for controlled rate freezing and cryogenic storage of biologic materials. Our ultra-low temperature mechanical freezers allow biological materials and vaccines to be stored at temperatures which range from negative 20℃ to negative 86℃. Our evo® shipping containers provide cloud-connected passive storage and transport containers for temperature-sensitive biologics and pharmaceuticals. Our biological and pharmaceutical materials storage services provide facilities that allow for real-time tracking of biologic materials and vaccines that can be stored at a wide range of temperatures.
On April 17, 2024, the Company sold all of the issued and outstanding shares of common stock of Global Cooling, Inc., a Delaware corporation and wholly owned subsidiary of the Company (“Global Cooling”), to GCI Holdings Company, LLC, an Ohio limited liability company (“GCI Holdings”) pursuant to a Stock Purchase Agreement (the “Purchase Agreement”), by and between the Company and GCI Holdings (the “Global Cooling Divestiture”). The Global Cooling Divestiture was considered a subsequent event to the financial results presented as of March 31, 2024. Global Cooling is therefore presented as a part of our continuing operations as of the three months ended March 31, 2024. For additional information on the Global Cooling Divestiture, see Note 19: Subsequent events.
Use of estimates
The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.
Significant estimates and assumptions by management affect the Company’s net realizable value of inventory, sales tax liabilities, valuation of market-based stock awards, valuations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, contingent consideration from business combinations, and provision for income taxes.
The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.
Basis of presentation

The Unaudited Condensed Consolidated Financial Statements and related footnote disclosures as of and for the three months ended March 31, 2024 are unaudited, and are not necessarily indicative of the Company’s operating results for a
full year. The Unaudited Condensed Consolidated Financial Statements include all normal and recurring adjustments necessary for a fair presentation of the Company’s financial results for the three months ended March 31, 2024 in accordance with U.S. GAAP, however, certain information and footnote disclosures normally included in annual financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to the U.S. Securities and Exchange Commission (the “SEC”) rules and regulations relating to interim financial statements. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company’s Annual Report on Form 10-K as of and for the fiscal year ended December 31, 2023, filed with the SEC on February 29, 2024 (the “Annual Report”).
The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiaries, SAVSU Technologies, Inc. (“SAVSU”), Arctic Solutions, Inc. doing business as Custom Biogenic Systems (“CBS”), SciSafe Holdings, Inc. (“SciSafe”), BioLife Solutions B.V, Global Cooling, Inc. doing business as Stirling Ultracold (“Global Cooling” or “GCI”), and Sexton Biotechnologies, Inc. (“Sexton”). All intercompany accounts and transactions have been eliminated in consolidation.
In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are not necessarily indicative of results to be expected for the entire year.
Foreign currency translation
The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheets, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Comprehensive Loss, Unaudited Condensed Consolidated Statements of Shareholders’ Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company’s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.
Segment reporting
The Company views its operations and makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. The Company’s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.
Significant accounting policies
There have been no significant changes to the accounting policies during the three months ended March 31, 2024, as compared to the significant accounting policies described in our Annual Report.
Liquidity and capital resources

On March 31, 2024 and December 31, 2023, we had $46.1 million and $52.3 million in cash, cash equivalents, and available-for-sale securities, respectively. Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next twelve months from the date of the filing of this Quarterly Report on Form 10-Q (this “Form 10-Q”).
Risks and uncertainties
The preparation of financial statements requires the use of estimates and assumptions that affect the reported amounts of assets and liabilities at the reporting date and revenues and expenses during the reporting periods. These estimates represent management's judgment about the outcome of future events. The global business environment continues to be impacted by cost pressure, the overall effects of economic uncertainty on customers' purchasing patterns, high interest rates, and other
factors. It is not possible to accurately predict the future impact of such events and circumstances. Actual results could differ from our estimates.
For additional information, see caption “Risk Factors” identified in Part I, Item 1A of our Annual Report and in Part II, Item 1A of this Form 10-Q.
Concentrations of credit risk and business risk
Significant customers are those that represent more than 10% of the Company’s total revenue or gross accounts receivable balances for the periods and as of each balance sheet date presented. For each significant customer, revenue as a percentage of total revenue and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:
Accounts ReceivableRevenue
March 31,December 31,Three Months Ended
March 31,
2024202320242023
Customer A12 %14 %**
Customer B**10 %14 %
Customer C**11 %10 %
*less than 10%
Revenue from foreign customers is denominated in United States dollars or euros.
The following table represents the Company’s products representing more than 10% of the Company’s total revenue:
Three Months Ended
March 31,
Product revenue concentration20242023
CryoStor41 %44 %
780XLE Freezer13 %14 %
The following table represents the Company’s total revenue by geographic area (based on the location of the customer):
Three Months Ended
March 31,
Revenue by customers geographic locations(1)
20242023
United States(2)
80 %79 %
Europe, Middle East, Africa (EMEA)15 %18 %
Other%%
Total revenue100 %100 %
(1) During the year ended December 31, 2023, the Company updated its methodology for determining the country of origin for its sales. Sales are now recorded by shipping country rather than billing country. The Company updated the methodology retrospectively, adjusting the prior year presentation for all regions presented.
(2) The line item presented above previously bifurcated sales between the United States and Canada. Due to the updated methodology for determining the country of origin for sales, it was noted that Canada no longer was a material location to separately disclose. Canada sales have been included within the "Other" line item in the table above and United States sales have been retained as a single line item to more accurately reflect origin of sales for material regions.
In the three months ended March 31, 2024, one supplier accounted for 13% of purchases. In the three months ended March 31, 2023, one supplier accounted for 15% of purchases.
As of March 31, 2024, one supplier accounted for 11% of our accounts payable. As of December 31, 2023, one supplier accounted for 12% of our accounts payable.
Recent accounting pronouncements
In March 2024, the SEC adopted final rules on the enhancement and standardization of climate-related disclosures of public companies. The final rules require disclosure of, among other things, material climate-related risks and their impact; activities to mitigate or adapt to material climate-related risks; governance and oversight of climate-related risks; and material Scope 1 and/or Scope 2 greenhouse gas emissions with an accompanying assurance report required following an initial transition period, at a limited assurance level, and then following an additional transition period, at a reasonable assurance level. In addition, the effects of severe weather events and other natural conditions, subject to certain thresholds, and amounts related to carbon offsets and renewable energy credits or certificates are required to be disclosed in the notes to the audited financial statements in certain circumstances.
On April 4, 2024, the SEC voluntarily stayed the implementation of the final rules pending the completion of judicial review of the consolidated challenges to the final rules by the Court of Appeals for the Eighth Circuit. The final rules, as originally issued, would be effective for the Company in various fiscal years, starting with its Annual Report on Form 10-K for fiscal year 2025. Disclosures pursuant to the final rules, as originally issued, would be required prospectively, with information for prior periods required only to the extent it was previously disclosed in an SEC filing. The Company is currently evaluating the impact of the final rules on its Consolidated Financial Statements and disclosures.
XML 21 R9.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Correction of immaterial errors
3 Months Ended
Mar. 31, 2024
Accounting Changes and Error Corrections [Abstract]  
Correction of immaterial errors Correction of immaterial errors
During the three months ended March 31, 2024, we determined that an error existed in our previously issued consolidated financial statements. Specifically, we identified we had not properly accelerated stock compensation expense related to unvested shares of market-based awards of certain employees upon their termination during the fourth quarter of 2023. The error was evaluated under the U.S. Securities and Exchange Commission's ("SEC's") Staff Accounting Bulletin ("SAB") Topic 1M, "Materiality," and SEC SAB Topic 1N, "Considering the Effects of Prior Year Misstatements when Quantifying Misstatements in the Current Year Financial Statements" to determine the materiality of prior period misstatements to the Company’s financial statements. We evaluated the error and concluded that it was not material to the previously issued consolidated financial statements. Although the error was not material to any period, we corrected the accompanying historical consolidated financial statements for the year ended December 31, 2023 to reflect the additional stock compensation expense incurred within each period for comparative purposes.
The following table represents the adjustments to our Consolidated Balance Sheet as of December 31, 2023 in accordance with ASC 250. The adjustments to our Consolidated Statement of Shareholders’ Equity was limited to the adjustments outlined below.
The effect of the adjustments to our Consolidated balance Sheet as of December 31, 2023 was as follows (in thousands):
December 31, 2023
(In thousands)As reportedAdjustmentAs corrected
Additional paid-in-capital$651,305 $1,575 $652,880 
Accumulated deficit(313,342)(1,575)(314,917)
XML 22 R10.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Fair value measurement
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Fair value measurement Fair value measurement
In accordance with FASB ASC Topic 820, Fair Value Measurements and Disclosures, (“ASC Topic 820”), the Company measures its financial instruments at fair value on a recurring basis. The carrying values of certain of our financial instruments including cash and cash equivalents, accounts receivable, accounts payable, and accrued liabilities approximate fair value because of their short maturities. The carrying value of our marketable debt securities, which are accounted for as available-for-sale, are classified within either Level 1 or Level 2 in the fair value hierarchy because we use quoted market prices or alternative pricing sources and models utilizing market observable inputs to determine their fair value. The carrying values of our long-term debt, which is classified within Level 2 in the fair value hierarchy, approximates fair value as our borrowings with lenders are at interest rates that approximate market rates for comparable loans. The fair values of investments and contingent consideration classified as Level 3 were derived from management assumptions. The Company also measures certain assets and liabilities at fair value on a non-recurring basis when applying acquisition accounting.
ASC Topic 820 clarifies that fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, ASC Topic 820 establishes a three-tier value fair hierarchy, which prioritizes the inputs used in measuring fair value as follows:
Level 1 – Observable inputs that reflect quoted prices (unadjusted) in active markets for identical assets or liabilities.
Level 2 – Observable inputs other than quoted prices included in Level 1 for similar assets or liabilities, quoted prices in markets that are not active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the related assets or liabilities.
Level 3 – Unobservable data points for the asset or liability, and include situations where there is little, if any, market activity for the asset or liability.
The fair value of the SciSafe contingent consideration liability was valued based on unobservable inputs using a Monte Carlo simulation. These inputs included the estimated amount and timing of projected future revenue, a discount rate of 4.5%, a risk-free rate of approximately 0.2%, asset volatility of 60%, and revenue volatility of 15%. Significant changes in any of those inputs in isolation would result in a significant change in the fair value measurement of the liability. Generally, changes used in the assumptions for projected future revenue and revenue volatility would be accompanied by a directionally similar change in the fair value measurement. Conversely, changes in the discount rate would be accompanied by a directionally opposite change in the related fair value measurement. However, due to the contingent consideration having a maximum payout amount, changes in these assumptions would not affect the fair value of the contingent consideration if they increase (decrease) beyond certain amounts. At the acquisition date, the contingent consideration was determined to have a fair value of $3.7 million. Subsequent to the acquisition date, the SciSafe contingent consideration liability was re-measured to fair value with changes recorded in the Change in fair value of contingent consideration in the Unaudited Condensed Consolidated Statements of Operations.
During the most recent re-measurement of the contingent consideration liability as of December 31, 2023, the Company determined it appropriate to write-off the remaining balance of the SciSafe contingent consideration liability. The target revenue required for earnout was not met during the year ended December 31, 2023 and had been determined to not be probable to achieve in future years. The change in fair value of contingent consideration of $0.7 million associated with the contingent consideration liability was included within the Change in fair value of contingent consideration in the Condensed Consolidated Statements of Operations for the three months ended March 31, 2023.
There were no remeasurements to fair value during the three months ended March 31, 2024 of financial assets and liabilities that are not measured at fair value on a recurring basis.
The following tables set forth the Company’s financial assets and liabilities measured at fair value on a recurring basis as of March 31, 2024 and December 31, 2023, based on the three-tier fair value hierarchy:
(In thousands)
As of March 31, 2024Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market accounts$16,260 $$$16,260 
Available-for-sale securities:    
U.S. government securities5,891 5,891 
Corporate debt securities7,847 7,847 
Other debt securities2,663 2,663 
Total$22,151 $10,510 $$32,661 
As of December 31, 2023
Assets:
Cash equivalents:
Money market accounts$25,034 $$$25,034 
Available-for-sale securities:
U.S. government securities5,170 5,170 
Corporate debt securities9,674 9,674 
Other debt securities1,992 1,992 
Total$30,204 $11,666 $$41,870 
There have been no transfers of assets or liabilities between the fair value measurement levels.
The following table presents the changes in fair value of contingent consideration liabilities that are measured using Level 3 inputs for the three months ended March 31, 2023. There was no contingent consideration liability outstanding as of March 31, 2024.
Three Months Ended March 31,
(In thousands)2023
Balance at beginning of period$4,456 
Change in fair value recognized in net loss720 
Balance at end of period$5,176 
XML 23 R11.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Investments
3 Months Ended
Mar. 31, 2024
Investments, Debt and Equity Securities [Abstract]  
Investments Investments
Available-for-sale securities
The Company’s portfolio of available-for-sale marketable securities consists of the following:
March 31, 2024
Amortized
Cost
Gross unrealizedEstimated
Fair Value
(In thousands)GainsLosses
Available-for-sale securities, current portion    
U.S. government securities$5,897 $$(6)$5,891 
Corporate debt securities7,851 (5)7,847 
Other debt securities1,842 (1)1,841 
Total short-term15,590 (12)15,579 
     
Available-for-sale securities, long-term    
Other debt securities823 (1)822 
Total marketable securities$16,413 $$(13)$16,401 
December 31, 2023
Amortized
Cost
Gross unrealizedEstimated
Fair Value
(In thousands)GainsLosses
Available-for-sale securities, current portion
U.S. government securities$5,169 $$$5,170 
Corporate debt securities9,673 (4)9,674 
Other debt securities1,443 1,444 
Total short-term16,285 (4)16,288 
Available-for-sale securities, long-term
Other debt securities545 548 
Total marketable securities$16,830 $10 $(4)$16,836 
March 31, 2024
(In thousands)Amortized
Cost
Estimated
Fair Value
Due in one year or less$15,590 $15,579 
Due after one year through five years823 822 
Total$16,413 $16,401 
Equity investments
The Company periodically invests in non-marketable equity securities of private companies without a readily determinable fair value to promote business and strategic objectives. The securities are carried at cost minus impairment, if any, plus or minus changes resulting from observable process changes in orderly transactions for identical or similar transactions of the same issuer. These securities included Series A-1 and A-2 Preferred Stock in iVexSol, Inc. carried at $4.1 million for the periods ending March 31, 2024 and December 31, 2023, and Series E Preferred Stock in PanTHERA CryoSolutions, Inc. carried at $1.0 million as of March 31, 2024 and December 31, 2023.
XML 24 R12.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Inventories
3 Months Ended
Mar. 31, 2024
Inventory Disclosure [Abstract]  
Inventories Inventories
Inventories consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Raw materials$24,330 $26,219 
Work in progress6,737 7,128 
Finished goods12,347 10,109 
Total inventories$43,414 $43,456 
XML 25 R13.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Leases
3 Months Ended
Mar. 31, 2024
Leases [Abstract]  
Leases Leases
The Company has various operating lease agreements for office space, warehouses, manufacturing, and production locations as well as vehicles and other equipment. Our real estate leases had original lease terms of three to eleven years and have remaining lease terms of one to eight years. We exclude options that are not reasonably certain to be exercised from our lease terms, ranging from one to five years. Our lease payments consist primarily of fixed rental payments for the right to use the underlying leased assets over the lease terms, with all other lease payments consisting of variable lease costs. For certain leases, we receive incentives from our landlords, such as rent abatements, which effectively reduce the total lease payments owed for these leases. Vehicle and other equipment operating leases had original lease terms of four to five years and have remaining terms between one and five years.
Our financing leases relate to research equipment, machinery, and other equipment.
The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company’s leases as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Weighted average discount rate - operating leases4.3 %4.3 %
Weighted average discount rate - finance leases8.4 %8.3 %
Weighted average remaining lease term in years - operating leases6.26.4
Weighted average remaining lease term in years - finance leases3.94.1
The components of lease expense for the three months ended March 31, 2024 and 2023 were as follows:
Three Months Ended
March 31,
(In thousands)20242023
Operating lease costs$804 $897 
Financing lease costs59 — 
Short-term lease costs442 402 
Total operating lease costs1,305 1,299 
   
Variable lease costs361 259 
Total lease costs$1,666 $1,558 
Maturities of our lease liabilities as of March 31, 2024 are as follows:
(In thousands)Operating
Leases
Financing
Leases
2024 (9 months remaining)$2,471 $349 
20253,030 424 
20262,574 389 
20272,280 387 
20282,042 134 
Thereafter4,896 
Total lease payments17,293 1,683 
Less: interest(2,069)(245)
Total present value of lease liabilities$15,224 $1,438 
Leases Leases
The Company has various operating lease agreements for office space, warehouses, manufacturing, and production locations as well as vehicles and other equipment. Our real estate leases had original lease terms of three to eleven years and have remaining lease terms of one to eight years. We exclude options that are not reasonably certain to be exercised from our lease terms, ranging from one to five years. Our lease payments consist primarily of fixed rental payments for the right to use the underlying leased assets over the lease terms, with all other lease payments consisting of variable lease costs. For certain leases, we receive incentives from our landlords, such as rent abatements, which effectively reduce the total lease payments owed for these leases. Vehicle and other equipment operating leases had original lease terms of four to five years and have remaining terms between one and five years.
Our financing leases relate to research equipment, machinery, and other equipment.
The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company’s leases as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Weighted average discount rate - operating leases4.3 %4.3 %
Weighted average discount rate - finance leases8.4 %8.3 %
Weighted average remaining lease term in years - operating leases6.26.4
Weighted average remaining lease term in years - finance leases3.94.1
The components of lease expense for the three months ended March 31, 2024 and 2023 were as follows:
Three Months Ended
March 31,
(In thousands)20242023
Operating lease costs$804 $897 
Financing lease costs59 — 
Short-term lease costs442 402 
Total operating lease costs1,305 1,299 
   
Variable lease costs361 259 
Total lease costs$1,666 $1,558 
Maturities of our lease liabilities as of March 31, 2024 are as follows:
(In thousands)Operating
Leases
Financing
Leases
2024 (9 months remaining)$2,471 $349 
20253,030 424 
20262,574 389 
20272,280 387 
20282,042 134 
Thereafter4,896 
Total lease payments17,293 1,683 
Less: interest(2,069)(245)
Total present value of lease liabilities$15,224 $1,438 
XML 26 R14.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Assets held for rent
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Assets held for rent Assets held for rent
Assets held for rent consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Shippers placed in service$9,709 $9,866 
Fixed assets held for rent579 1,468 
Accumulated depreciation(6,080)(6,272)
Subtotal4,208 5,062 
Shippers and related components in production2,696 2,651 
Total$6,904 $7,713 
Shippers and related components in production include shippers complete and ready to be deployed and placed in service upon a customer order, shippers in the process of being assembled, and components available to build shippers. We recognized $0.7 million and $0.8 million in depreciation expense related to assets held for rent during the three months ended March 31, 2024 and 2023, respectively.
XML 27 R15.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Property and equipment
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment [Abstract]  
Property and equipment Property and equipment
Property and equipment consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Property and equipment  
Leasehold improvements$5,927 $5,913 
Furniture and computer equipment819 820 
Manufacturing and other equipment20,871 19,893 
Construction in-progress4,112 3,953 
Subtotal31,729 30,579 
Less: Accumulated depreciation(10,687)(9,502)
Property and equipment, net$21,042 $21,077 
Depreciation expense for property and equipment was $0.7 million and $0.9 million for the three months ended March 31, 2024 and 2023, respectively.
XML 28 R16.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Goodwill and intangible assets
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill and intangible assets Goodwill and intangible assets
Goodwill
Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination is determined to have an indefinite useful life and is not amortized but instead is tested for impairment at least annually in accordance with ASC 350.
Intangible assets
Intangible assets, net consisted of the following as of March 31, 2024 and December 31, 2023:
(In thousands, except weighted average useful life)March 31, 2024
Intangible assets:
Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted
Average Useful
Life (in years)
Customer relationships$9,936 $(4,353)$5,583 10.4
Tradenames8,134 (2,231)5,903 11.0
Technology - acquired18,372 (9,705)8,667 3.8
Non-compete agreements750 (668)82 0.5
Total intangible assets$37,192 $(16,957)$20,235 7.1
(In thousands, except weighted average useful life)December 31, 2023
Intangible assets:
Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted
Average Useful
Life (in years)
Customer relationships$9,936 $(4,217)$5,719 10.7
Tradenames8,134 (2,077)6,057 11.3
Technology - acquired18,372 (9,123)9,249 4.1
Non-compete agreements750 (626)124 0.8
Total intangible assets$37,192 $(16,043)$21,149 7.3
Amortization expense for definite-lived intangible assets was $0.9 million and $1.5 million for the three months ended March 31, 2024 and 2023, respectively. As of March 31, 2024, the Company expects to record the following amortization expense for definite-lived intangible assets:
(In thousands)Amortization
Expense
For the Years Ending December 31,
2024 (9 months remaining)$2,689 
20253,468 
20263,358 
20272,605 
20281,500 
Thereafter6,615 
Total$20,235 
XML 29 R17.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Accrued expenses and other current liabilities
3 Months Ended
Mar. 31, 2024
Investments, Debt and Equity Securities [Abstract]  
Accrued expenses and other current liabilities Accrued expenses and other current liabilities
Accrued expenses and other current liabilities consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Accrued expenses$4,253 $6,909 
Accrued taxes667 562 
Accrued compensation3,644 3,800 
Deferred revenue, current299 661 
Total accrued expenses and other current liabilities$8,863 $11,932 
XML 30 R18.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Warranty reserve liability
3 Months Ended
Mar. 31, 2024
Guarantees and Product Warranties [Abstract]  
Warranty reserve liability Warranty reserve liability
The Company reserves estimated exposures on known claims, as well as anticipated claims, for product warranty and rework cost, based on historical product liability claims. Claim costs are deducted from the accrual when paid. Factors that could have an impact on the warranty accrual in any given period include the following: changes in manufacturing quality, changes in product costs, changes in product mix and any significant changes in sales volume.
A rollforward of our warranty liability is as follows:
Three Months Ended
March 31,
(In thousands)20242023
Balance at beginning of period$7,858 $8,312 
Provision for warranties767 1,891 
Settlements of warranty claims(825)(1,308)
Balance at end of period$7,800 $8,895 
XML 31 R19.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 Commitments and contingencies
Employment agreements
We have employment agreements with certain key employees. None of these employment agreements is for a definitive period, but rather each will continue indefinitely until terminated in accordance with its terms. The agreements provide for a base annual salary, payable in monthly (or shorter) installments. Under certain conditions and for certain of these officers, we may be required to pay additional amounts upon terminating the employee or upon the employee resigning for good reason.
Litigation
From time to time, the Company is subject to various legal proceedings that arise in the ordinary course of business, none of which are currently material to the Company’s business. The Company’s industry is characterized by frequent claims and litigation, including claims regarding intellectual property. As a result, the Company may be subject to various legal proceedings from time to time. The results of any future litigation cannot be predicted with certainty, and regardless of the outcome, litigation can have an adverse impact on the Company because of defense and settlement costs, diversion of management resources and other factors. Management is not aware of any significant pending or threatened litigation that is anticipated to result in unfavorable judgments against the Company.
Indemnification
As permitted under Delaware law and in accordance with the Company’s bylaws, the Company is required to indemnify its officers and directors for certain errors and occurrences while the officer or director is or was serving in such capacity. The Company is also party to indemnification agreements with its directors. The Company believes the fair value of the
indemnification rights and agreements is minimal. Accordingly, the Company has not recorded any liabilities for these indemnification rights and agreements as of March 31, 2024 and December 31, 2023.
Purchase obligations
Purchase obligations are defined as agreements to purchase goods or services that are enforceable and legally binding and that specify all significant terms, including fixed or minimum quantities to be purchased, fixed, minimum, or variable pricing provisions and the approximate timing of the transactions. As of March 31, 2024, our total short-term obligations were $10.0 million.
Non-income related taxes
Companies are required to collect and remit sales tax from certain customers if the company is determined to have nexus in a particular state. Upon the determination of nexus, which varies by state, companies are additionally required to maintain detailed record of specific product and customer information within each jurisdiction in which it has established nexus to appropriately determine their sales tax liability, requiring technical knowledge of each jurisdiction’s tax case law. During the year ended December 31, 2023, the Company determined that a sales tax liability related to the periods of 2019 through 2023 was probable and determined an estimated liability. The estimated liability was approximately $5.0 million and $5.4 million as of March 31, 2024 and December 31, 2023, respectively. Due to the variety of jurisdictions in which this estimated liability relates to and our ongoing assessment of sales taxes owed, we cannot predict when final liabilities will be satisfied. We will reevaluate the estimated liability and timing of satisfaction each reporting period.
XML 32 R20.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Long-term debt
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Long-term debt Long-term debt
Global Cooling Term Notes
In May 2021, the Company assumed three term notes in the acquisition of Global Cooling. At the time of acquisition, these notes carried aggregate outstanding principal balances of $4.4 million. These term notes bore interest at a floating rate equal to the 3-month LIBOR rate plus 6.5%. The term notes included financial covenants tied to the performance of Global Cooling.
In October 2021, the Company entered into amended and restated term notes for all three term notes (the “Global Cooling Term Notes”) with two lenders. As amended, the principal amount borrowed pursuant to the Global Cooling Amended Term Notes” consisted of an aggregate $4.6 million, with one lender providing two term notes in the principal amount of $1.4 million per note and a separate lender providing one term note in the principal amount of $1.8 million. The maturity dates for the Global Cooling Amended Term Notes are July 17, 2024, September 7, 2024, and December 18, 2027, respectively. All three Global Cooling Amended Term Notes bear interest at a fixed rate of 4.0%, were interest-only with one balloon principal payment at maturity, and could be pre-paid without penalty at any time. The Company fully extinguished the Global Cooling Amended Term Notes with maturity dates of September 7, 2024 and July 17, 2024 on September 20, 2022 and July 17, 2023, respectively. All financial covenants included in the original term notes previously in effect were removed upon amendment and restatement pursuant to the Global Cooling Amended Term Notes.
In connection with the Global Cooling Divestiture as of April 17, 2024, the Company fully extinguished the remaining balance of the Global Cooling Amended Term Notes, totaling $2.6 million. For additional information regarding the Global Cooling Divestiture and associated costs incurred by the Company, see Note 19: Subsequent events.
Term Loan
On September 20, 2022, the Company and certain of its subsidiaries entered into a term loan agreement (the “Loan Agreement”), which provides for a term loan in an aggregate maximum principal amount of up to $60 million in the increments and upon the dates and milestones described below (the “Term Loan”). The Term Loan matures on June 1, 2026. The Loan Agreement permitted the Company to borrow up to $30 million upon the initial closing of the transactions contemplated by the Loan Agreement (the “Term Loan Closing”), and provided options to borrow (i) up to $10 million between the Term Loan Closing and June 30, 2023, (ii) up to $10 million upon the achievement of certain revenue milestones by the Company, and (iii) an additional $10 million at the discretion of the lender. The Company borrowed $20 million at the Term Loan Closing and accounts for the Term Loan at cost. As of December 31, 2023, the Company had not drawn additional funding nor had it met the revenue milestones outlined within the Loan Agreement. The Company had until December 31, 2023 to draw an additional $10 million, subject to approval from the lender, and therefore has no
additional opportunities under the Loan Agreement. Payments on the borrowing are interest-only through June 2024, with additional criteria allowing for interest-only payments to continue through June 2025. Tranches borrowed under the Loan Agreement bear interest at the Wall Street Journal prime rate plus 0.5%. However, the interest rate is subject to a ceiling that restricts the interest rate for each tranche from exceeding 1.0% above the overall rate applicable to each tranche at their respective funding dates and has a balloon payment due at the earliest of term loan maturity, repayment of the Term Loan in full, or termination of the Loan Agreement at $1.2 million. As of March 31, 2024, the implied interest rate of the Term Loan is 6.6% and the implied value of the Term Loan is $20.4 million. The Loan Agreement contains customary representations and warranties as well as customary affirmative and negative covenants. As of March 31, 2024, the Company is in compliance with the covenants set forth in the Loan Agreement.
On April 17, 2024, the Company entered into a Consent and Second Amendment to the Term Loan (the “Amendment”) by and among Silicon Valley Bank, a division of First-Citizens Bank & Trust Company (“Bank”) and the Company and its subsidiaries. For additional information on the Amendment, see Note 19: Subsequent events.
Long-term debt consisted of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)Maturity DateInterest Rate20242023
Global Cooling Amended Term NotesVarious4.0 %$2,596 $2,596 
Term LoanJun-267.0 %20,000 20,000 
Insurance premium financingJul-24Various622 1,348 
Freezer equipment loanDec-255.7 %279 317 
Manufacturing equipment loansOct-255.7 %147 172 
Freezer installation loanVarious6.3 %736 807 
Other loansVariousVarious
Total debt, excluding unamortized debt issuance costs24,381 25,242 
Less: unamortized debt issuance costs(81)(98)
Total debt24,300 25,144 
Less: current portion of debt(8,619)(6,833)
Total long-term debt$15,681 $18,311 
As of March 31, 2024, the Term Loan was secured by substantially all assets of BioLife, SAVSU, CBS, SciSafe, Global Cooling, and Sexton, other than intellectual property, and the Global Cooling Term Amended Notes were secured by substantially all assets of Global Cooling, which security interest was effectively subordinated to the security interest established by the Loan Agreement. Equipment loans are secured by the financed equipment.
In connection with the Global Cooling Divestiture as of April 17, 2024, the Company entered into the Amendment as described above to remove Global Cooling as a party to the Loan Agreement and to release Bank's security interest in the assets of Global Cooling and the shares of capital stock of Global Cooling arising under the Loan Agreement.
As of March 31, 2024, the scheduled maturities of loans payable for each of the next five years and thereafter were as follows:
(In thousands)Amount
2024 (9 months remaining)$5,975 
202510,511 
20265,218 
20272,596 
2028
Thereafter
Total debt$24,300 
XML 33 R21.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
To determine revenue recognition for contractual arrangements that we determine are within the scope of FASB Topic 606, Revenue from Contracts with Customers, we perform the following five steps: (i) identify each contract with a customer; (ii) identify the performance obligations in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to our performance obligations in the contract; and (v) recognize revenue when (or as) we satisfy the relevant performance obligation. We only apply the five-step model to contracts when it is probable that we will collect the consideration we are entitled to in exchange for the goods or services we transfer to the customer. Contracts with customers may contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through past transactions, the Company estimates the standalone selling price, taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. Payment terms and conditions vary, although terms generally include a requirement of payment within 30 to 90 days. As of March 31, 2024 and December 31, 2023, our deferred revenue balance totaled $0.3 million and $0.7 million, respectively. During the three months ended March 31, 2024 and 2023, the Company recognized approximately $0.4 million and $0.2 million, respectively, of revenue that was included in the deferred revenue balance at the beginning of the year.
The Company primarily recognizes product revenues, service revenues, and rental revenues. Product revenues are generated from the sale of cell processing tools, freezers, thawing devices, and cold chain products. We recognize product revenue, including shipping and handling charges billed to customers, at a point in time when we transfer control of our products to our customers, which is upon shipment for substantially all transactions. Shipping and handling costs are classified as part of cost of product revenue in the Condensed Consolidated Statements of Operations. Service revenue is generated from the storage of biological and pharmaceutical materials. We recognize service revenue over time as services are performed or ratably over the contract term. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in ASC Topic 606, the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less. None of the Company’s contracts contained a significant financing component as of and during the three months ended March 31, 2024.
The Company also generates revenue from the leasing of our property, plant, and equipment, operating right-of-use assets, and evo cold chain systems within its biostorage services product line to customers pursuant to service contracts or rental arrangements entered into with the customer. Revenue from these arrangements is not within the scope of FASB ASC Topic 606 as it is within the scope of FASB ASC Topic 842, Leases. All customers leasing shippers currently do so under annual rental arrangements. We account for these rental transactions as operating leases and record rental revenue on a straight-line basis over the rental term.
The Company enters into various customer service agreements (collectively, “Service Contracts”) with customers to provide biological and pharmaceutical storage services. In certain of these Service Contracts, the property, plant, and equipment or operating right-of-use assets used to store the customer product are used only for the benefit of one customer. This is primarily driven by the customer’s desire to ensure that sufficient storage capacity is available in a specific geographic location for a set period of time. These agreements may include extension and termination clauses. These Service Contracts do not allow for customers to purchase the underlying assets.
The Company has assessed its Service Contracts and concluded that certain of the contracts for the storage of customer products met the criteria to be considered a leasing arrangement (“Embedded Leases”), with the Company as the lessor. The specific Service Contracts that met the criteria were those that provided a single customer with the ability to substantially direct the use of the Company’s property, plant, and equipment or operating right-of-use assets.
Applying the practical expedient from ASC Topic 842, consistent with the previous guidance, the Company will continue to recognize operating right-of-use asset embedded lessor arrangements on its Unaudited Condensed Consolidated Balance Sheets in operating right-of-use assets.
None of the Embedded Leases identified by the Company qualify as a sales-type or direct finance lease. None of the operating leases for which the Company is the lessor include options for the lessee to purchase the underlying asset at the end of the lease term or residual value guarantees, nor are any such operating leases with related parties.
Embedded Leases may contain both lease and non-lease components. We have elected to utilize the practical expedient from ASC Topic 842 to account for lease and non-lease components together as a single combined lease component as the timing and pattern of transfer are the same for the non-lease components and associated lease component and, the lease component, if accounted for separately, would be classified as an operating lease. Non-lease components of the Company’s rental arrangements include reimbursements of lessor costs.
Total bioproduction tools and services revenue for the three months ended March 31, 2024 and 2023 were composed of the following:
Three Months Ended
March 31,
(In thousands, except percentages)20242023
Product revenue  
Freezer and thaw$8,334 $12,381 
Cell processing16,186 18,993 
Biostorage services283 219 
Service revenue  
Biostorage services4,975 3,825 
Freezer and thaw113 646 
Rental revenue  
Biostorage services1,836 1,639 
Total revenue$31,727 $37,703 
The following table includes estimated rental revenue expected to be recognized in the future related to Embedded Leases as well as estimated service revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied as of the end of the reporting periods. The Company is electing not to disclose the value of the remaining unsatisfied performance obligation with a duration of one year or less as permitted by the practical expedient in ASU 2014-09, Revenue from Contracts with Customers. The estimated revenue in the following table does not include contracts with the original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of March 31, 2024. As of March 31, 2024, we did not have rental revenue expected to be recognized.
The balances in the table below are partially based on judgments involved in estimating future orders from customers pursuant to their respective contracts:
(In thousands)2024 (9 months remaining)Total
Service revenue$18 $18 
XML 34 R22.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Stock-based compensation
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement [Abstract]  
Stock-based compensation Stock-based compensation
Service-based vesting stock options
The following is a summary of service-based vesting stock option activity for the March 31, 2024, and the status of service-based vesting stock options outstanding as of March 31, 2024:
Three Months Ended
March 31, 2024
Options
Wtd. Avg. Exercise Price
Outstanding as of beginning of period217,250 $2.21 
Exercised— — 
Outstanding as of March 31, 2024217,250 $2.21 
Stock options exercisable as of March 31, 2024217,250 $2.21 
As of March 31, 2024, there was $3.6 million of aggregate intrinsic value of outstanding and exercisable service-based vesting stock options. Intrinsic value is the total pretax intrinsic value for all “in-the-money” options (i.e., the difference between the Company’s closing stock price on the last trading day of the reporting period and the exercise price, multiplied by the number of shares) that would have been received by the option holders had all option holders exercised their options on March 31, 2024. This amount will change based on the fair market value of the Company’s stock. We did not recognize stock compensation expense related to service-based options during the three months ended March 31, 2024. There were no service-based vesting options granted during the three months ended March 31, 2024. The weighted average remaining contractual life of service-based vesting stock options outstanding and exercisable as of March 31, 2024 is 1.8 years. There were no unrecognized compensation costs for service-based vesting stock options as of March 31, 2024.
Restricted stock
Service-based vesting restricted stock
The following is a summary of service-based vesting restricted stock activity for the three months ended March 31, 2024, and the status of unvested service-based vesting restricted stock outstanding as of March 31, 2024:
Three Months Ended
March 31, 2024
Shares
Wtd. Avg. Grant Date Fair Value
Outstanding as of beginning of period2,312,898 $18.32 
Granted186,272 17.36 
Vested(221,829)24.02 
Forfeited(51,340)17.69 
Non-vested as of March 31, 20242,226,001 $17.66 
The aggregate fair value of the service-based vesting awards granted was $3.2 million during the three months ended March 31, 2024. The aggregate fair value of the service-based vesting awards that vested was $3.7 million during the three months ended March 31, 2024.
We recognized stock compensation expense related to service-based vesting awards of $4.7 million during the three months ended March 31, 2024. As of March 31, 2024, there was $35.4 million in unrecognized compensation costs related to service-based vesting awards. We expect to recognize those costs over 2.6 years.
Performance-based restricted stock
On March 8, 2024, the Company granted 109,512 shares of performance-based stock to an executive in the form of restricted stock. The shares granted contain performance conditions based on several Company metrics related to future performance. The grant date fair value of this award was $17.36 per share. The fair value of this award is being expensed on a straight-line basis over the requisite service period ending on December 31, 2025.
We recognized stock compensation expense of $0.2 million related to performance-based restricted stock awards for the three months ended March 31, 2024. As of March 31, 2024, there was $1.7 million in unrecognized non-cash compensation costs related to performance-based restricted stock awards expected to vest. We expect to recognize those costs over 1.8 years. Non-cash compensation costs are expensed over the period for which performance was measured.

The aggregate fair value of the performance-based awards granted during the three months ended March 31, 2024 was $1.9 million. No performance-based awards vested during the three months ended March 31, 2024.

No performance-based restricted stock awards were granted or vested during the three months ended March 31, 2023.
Market-based restricted stock
The following is a summary of market-based restricted stock activity under our stock option plan for the three months ended March 31, 2024 and the status of market-based restricted stock outstanding as of March 31, 2024:
Three Months Ended
March 31, 2024
Shares
Wtd. Avg. Grant
Outstanding as of beginning of period509,166 $26.50 
Granted299,565 23.20 
Vested(300,529)27.97 
Non-vested as of March 31, 2024508,202 $25.70 
On February 24, 2022, the Company granted 240,428 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on total shareholder return ("TSR"). The TSR market condition measures the Company’s performance against a peer group. On March 8, 2024, the Company’s Compensation Committee determined the TSR attainment was 125% of the targeted shares and 300,529 shares were granted and immediately vested to the executives of the Company based on our TSR during the period beginning on January 1, 2022 through December 31, 2023 as compared to the TSR of 20 of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 63%, 0% dividend yield and a risk-free interest rate of 1.5%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a 0% dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $6.7 million is being expensed on a straight-line basis over the grant date to the vesting date of December 31, 2023.
On January 3, 2023, the Company granted 268,738 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company’s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our TSR during the period beginning on January 1, 2023 through December 31, 2024 as compared to the TSR of 20 of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 78%, 0% dividend yield and a risk-free interest rate of 4.4%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a 0% dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this
award of $6.8 million is being expensed on a straight-line basis over the grant date to the vesting date of December 31, 2024, excluding $1.6 million of expense recognized in 2023 to reflect accelerations in the vesting period of certain awards.
On March 8, 2024, the Company granted 239,464 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company’s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our TSR during the period beginning on January 1, 2024 through December 31, 2025 as compared to the TSR of 20 of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 80%, 0% dividend yield and a risk-free interest rate of 4.6%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a 0% dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $6.3 million is being expensed on a straight-line basis over the grant date to the vesting date of December 31, 2025.
We recognized stock compensation expense of $1.1 million and $1.3 million related to market-based restricted stock awards for the three months ended March 31, 2024 and 2023, respectively. As of March 31, 2024, there was $8.6 million in unrecognized non-cash compensation costs related to market-based restricted stock awards expected to vest. We expect to recognize those costs over 1.5 years.
The aggregate fair value of the market-based awards granted was $6.3 million and $6.5 million during the three months ended March 31, 2024 and 2023, respectively. The aggregate fair value of the market-based awards that vested was $5.1 million and $0.7 million during the three months ended March 31, 2024 and 2023, respectively.
Total stock compensation expense
Compensation expense associated with equity-based awards is recognized on a straight-line basis over the requisite service period, with awards generally vesting over a 4-year period, and forfeitures recognized as incurred. We recorded total stock compensation expense for the three months ended March 31, 2024 and 2023, as follows:
 Three Months Ended
March 31,
(In thousands)20242023
Cost of revenue$1,120 $1,631 
General and administrative costs3,130 3,293 
Sales and marketing costs1,186 1,256 
Research and development costs747 1,183 
Total$6,183 $7,363 
XML 35 R23.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Income taxes
3 Months Ended
Mar. 31, 2024
Income Tax Disclosure [Abstract]  
Income taxes Income taxes
The Company accounts for income taxes under ASC Topic 740 – Income Taxes. Under this standard, deferred tax assets and liabilities are recognized for future tax benefits or consequences attributable to temporary differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled.
The Company’s tax provision for interim periods is determined using an estimate of the annual effective income tax rate, adjusted for discrete items, if any, that occur in the relevant period. The income tax expense of $0.1 million for the three months ended March 31, 2024 resulted in an effective income tax rate of negative 1.2%. Included in the $0.1 million was a discrete tax expense of $0.6 million related to a stock compensation shortfall, which was offset by a change in the valuation allowance.
The Company’s U.S. projected effective income tax rate without discrete items was negative 1.8%, which is lower than the U.S. federal statutory rate of 21% primarily due to the increase in the valuation allowance on US deferred tax assets and non-deductible executive compensation offset by state tax benefits and research tax credits.
Realization of deferred tax assets is dependent upon the generation of future taxable income, the timing and amount of which are uncertain. In determining the need for a valuation allowance, the Company’s management evaluates both positive and negative evidence when concluding whether it is more likely than not that deferred tax assets are realizable. After reviewing the evidence available, the Company’s management believes there is uncertainty regarding the future realizability of the U.S. net operating loss carryforward and is projecting a full valuation allowance of $54.7 million by year end. If operating results improve and projections indicate future utilization of the tax attributes, all or a portion of the valuation allowance would be released, resulting in a corresponding non-cash income tax benefit.
XML 36 R24.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Net loss per common share
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Net loss per common share Net loss per common share
The Company considers its unvested restricted shares, which contain non-forfeitable rights to dividends, as participating securities, and includes such participating securities in its computation of earnings per share pursuant to the two-class method. Basic earnings per share is calculated by dividing net loss by the weighted average number of shares of common stock outstanding during the reporting period. Diluted earnings per share is calculated using the weighted average number of shares of common stock plus the potentially dilutive effect of common equivalent shares outstanding determined under both the two-class method and the treasury stock method, whichever is more dilutive. In periods when we have a net loss, common stock equivalents are excluded from our calculation of earnings per share as their inclusion would have an antidilutive effect.
The following table presents computations of basic and diluted earnings per share:
Three Months Ended
March 31,
(In thousands, except share and earnings per share data)20242023
Basic earnings (loss) per common share
Numerator:
Net loss$(10,221)$(13,714)
Net loss allocated to common shareholders(10,221)(13,714)
Denominator:
Weighted-average common shares issued and outstanding45,432,42643,027,612
Basic and diluted loss per common share$(0.22)$(0.32)
The following table sets forth the number of weighted-average shares of common stock excluded from the computation of diluted loss per share, as their inclusion would have been anti-dilutive:
Three Months Ended
March 31,
20242023
Stock options and restricted stock awards3,766,8243,153,029
Total3,766,8243,153,029
XML 37 R25.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Employee benefit plan
3 Months Ended
Mar. 31, 2024
Retirement Benefits [Abstract]  
Employee benefit plan Employee benefit plan
The Company sponsors 401(k) defined contribution plan for its employees. This plan provides for pre-tax and post-tax contributions for all employees. Employee contributions are voluntary. Employees may contribute up to 100% of their annual compensation to this plan as limited by an annual maximum amount as determined by the Internal Revenue Service. The Company matches employee contributions in amounts to be determined at the Company’s sole discretion. The Company made $0.3 million in contributions to this plan for the three months ended for both March 31, 2024 and 2023.
XML 38 R26.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Subsequent events
3 Months Ended
Mar. 31, 2024
Subsequent Events [Abstract]  
Subsequent events Subsequent events
Stock Purchase Agreement for Global Cooling Divestiture
The Company has evaluated events subsequent to March 31, 2024 through the date of this filing to assess the need for potential recognition or disclosure.
On April 17, 2024, the Company entered into the Purchase Agreement by and between the Company and GCI Holdings, which is wholly owned by an consulting contractor of Global Cooling, for the sale of all of the issued and outstanding shares of common stock of Global Cooling to GCI Holdings for an aggregate purchase price of $1.00. In addition, at the closing of the GCI Divestiture, Global Cooling was required to have $7.0 million in cash on its balance sheet, of which, $4.9 million in cash funded by the Company, and the Company was required to repay approximately $2.6 million of outstanding indebtedness of Global Cooling, and assume certain other liabilities of Global Cooling. Following the execution of the Purchase Agreement, the GCI Divestiture was consummated on April 17, 2024. The Company expects to recognize a loss on the GCI Divestiture, calculated as follows:
(In thousands)April 17, 2024
Selling price: $1
$— 
Cash to Global Cooling funded by Company(4,910)
Approximate costs to sell Global Cooling(1)
(2,409)
Negative selling price(7,319)
Global Cooling carrying basis as of December 31, 2023(2)
(963)
Estimated net loss on disposal$(8,282)
(1) Represents the costs incurred in connection with the GCI Divestiture, including fees to be paid to the broker, attorneys, and other external parties.
(2) The Company is utilizing the carrying basis of Global Cooling as of December 31, 2023 as an estimate for its carrying basis as of the date of divestiture. The carrying basis to calculate the loss on disposal will utilize the carrying basis as of the date of divestiture on April 17, 2024, and may differ from the estimate noted here upon disclosure in the second quarter of 2024.
The Company’s estimates are subject to a number of assumptions, and actual results may differ.
In connection with the Company’s entry into the Purchase Agreement, the Company implemented a reduction in force (the “RIF”) related to the business of Global Cooling, which reduced the Company’s workforce by 47 employees (representing approximately 11% of its full-time employees). The Company’s Board of Directors approved the RIF on March 29, 2024, and all affected employees were informed by April 18, 2024, following the execution of the Purchase Agreement. The Company expects to recognize approximately $1.6 million of charges in connection with the RIF, comprised of approximately $1.3 million of stock compensation expense and approximately $0.3 million in cash expenditures, substantially all of which are expected to be related to employee severance costs. The Company expects to recognize most of these expenditures in the second quarter of 2024. The Company’s estimates are subject to a number of assumptions, and actual results may differ. The Company may also incur additional costs not currently contemplated due to events that may occur as a result of, or that are associated with, the RIF. In addition, the Company expects to recognize approximately $4.5 million in stock compensation expense in connection with the acceleration of unvested shares for all former employees of the Company that remained with Global Cooling upon the closing of the GCI Divestiture.
The following table summarizes the additional costs incurred by the Company in connection with closing the GCI Divestiture and expected to be recorded during the second quarter of 2024:
(In thousands)April 17, 2024
Global Cooling Term Notes payoff(1)
$2,596 
Assumed liabilities from Global Cooling(2)
2,353 
RIF compensation expenses(3)
1,595 
Global Cooling employee stock based compensation expense(4)
4,106 
Total$10,650 
(1) As a condition to close the GCI Divestiture, the Company repaid the balance of the Global Cooling Amended Term Notes. For additional information on the terms of the Global Cooling Term Notes, see Note 13: Long-term debt.
(2) As a condition to close the GCI Divestiture, the Company assumed certain accounts payable and accrued expenses from Global Cooling, totaling to approximately $1.8 million and $0.6 million, respectively.
(3) The Company expects to recognize approximately $1.6 million of charges in connection with the RIF, comprised of approximately $1.3 million of stock compensation expense and approximately $0.3 million in cash expenditures, substantially all of which are expected to be related to employee severance costs.
(4) The Company expects to recognize approximately $4.5 million in stock compensation expense in connection with the acceleration of unvested shares for all former employees of the Company that remained with Global Cooling upon the closing of the GCI Divestiture.
In addition, upon the closing of the Transaction, the Company and Global Cooling entered into a transition services agreement, pursuant to which the Company will provide certain transition services to Global Cooling for up to 90 days following the Closing Date.
Second Amendment to Loan and Security Agreement with Silicon Valley Bank

Additionally, on April 17, 2024, the Company entered into the Amendment by and among Bank and Borrower. Pursuant to the Amendment and subject to the conditions set forth therein, Bank consented to the GCI Divestiture and released its security interests in the assets of Global Cooling and the shares of capital stock of Global Cooling arising under the Loan Agreement. In addition, effective as of the closing of the GCI Divestiture, the Amendment amended the Loan Agreement to remove Global Cooling as a party to the Loan Agreement and provide for a non-refundable termination fee in the amount of $500,000 payable by Borrower to Bank in the event that the Loan Agreement is terminated prior to the Term Loan Maturity Date (as defined in the Loan Agreement) for any reason. The Amendment additionally contained a financial covenant requiring the Company to limit cash outflows and unsecured indebtedness in connection with the Transaction to $15 million or less. The Amendment also contains customary representations and warranties of Borrower and provides for a release of Bank by Borrower for any claims existing or arising through the date of the Amendment, including, without limitation, those arising out of or in any manner connected with or related to the Loan Agreement.
XML 39 R27.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Pay vs Performance Disclosure    
Net loss $ (10,221) $ (13,714)
XML 40 R28.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2024
shares
Trading Arrangements, by Individual  
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
Aby J. Matthew [Member]  
Trading Arrangements, by Individual  
Material Terms of Trading Arrangement The following table identifies and provides the material terms of the Rule 10b5-1 trading plans intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) adopted or terminated by our officers and directors during the three months ended March 31, 2024.
Name and PositionPlan Adoption / TerminationPlan Adoption / Termination DateExpiration DateNumber of Shares to be Purchased (Sold) under Plan
Aby J. Mathew, EVP & Chief Scientific Officer
AdoptionMarch 13, 2024December 31, 2024(123,404)
Name Aby J. Mathew
Title EVP & Chief Scientific Officer
Rule 10b5-1 Arrangement Adopted true
Adoption Date March 13, 2024
Arrangement Duration 293 days
Aggregate Available (123,404)
XML 41 R29.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Organization and significant accounting policies (Policies)
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Use of estimates
Use of estimates
The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.
Significant estimates and assumptions by management affect the Company’s net realizable value of inventory, sales tax liabilities, valuation of market-based stock awards, valuations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, contingent consideration from business combinations, and provision for income taxes.
The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.
Basis of presentation
Basis of presentation

The Unaudited Condensed Consolidated Financial Statements and related footnote disclosures as of and for the three months ended March 31, 2024 are unaudited, and are not necessarily indicative of the Company’s operating results for a
full year. The Unaudited Condensed Consolidated Financial Statements include all normal and recurring adjustments necessary for a fair presentation of the Company’s financial results for the three months ended March 31, 2024 in accordance with U.S. GAAP, however, certain information and footnote disclosures normally included in annual financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to the U.S. Securities and Exchange Commission (the “SEC”) rules and regulations relating to interim financial statements. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company’s Annual Report on Form 10-K as of and for the fiscal year ended December 31, 2023, filed with the SEC on February 29, 2024 (the “Annual Report”).
The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiaries, SAVSU Technologies, Inc. (“SAVSU”), Arctic Solutions, Inc. doing business as Custom Biogenic Systems (“CBS”), SciSafe Holdings, Inc. (“SciSafe”), BioLife Solutions B.V, Global Cooling, Inc. doing business as Stirling Ultracold (“Global Cooling” or “GCI”), and Sexton Biotechnologies, Inc. (“Sexton”). All intercompany accounts and transactions have been eliminated in consolidation.
In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are not necessarily indicative of results to be expected for the entire year.
Foreign currency translation
Foreign currency translation
The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheets, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Comprehensive Loss, Unaudited Condensed Consolidated Statements of Shareholders’ Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company’s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.
Segment reporting
Segment reporting
The Company views its operations and makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. The Company’s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.
Concentrations of credit risk and business risk
Concentrations of credit risk and business risk
Significant customers are those that represent more than 10% of the Company’s total revenue or gross accounts receivable balances for the periods and as of each balance sheet date presented.
Recent accounting pronouncements
Recent accounting pronouncements
In March 2024, the SEC adopted final rules on the enhancement and standardization of climate-related disclosures of public companies. The final rules require disclosure of, among other things, material climate-related risks and their impact; activities to mitigate or adapt to material climate-related risks; governance and oversight of climate-related risks; and material Scope 1 and/or Scope 2 greenhouse gas emissions with an accompanying assurance report required following an initial transition period, at a limited assurance level, and then following an additional transition period, at a reasonable assurance level. In addition, the effects of severe weather events and other natural conditions, subject to certain thresholds, and amounts related to carbon offsets and renewable energy credits or certificates are required to be disclosed in the notes to the audited financial statements in certain circumstances.
On April 4, 2024, the SEC voluntarily stayed the implementation of the final rules pending the completion of judicial review of the consolidated challenges to the final rules by the Court of Appeals for the Eighth Circuit. The final rules, as originally issued, would be effective for the Company in various fiscal years, starting with its Annual Report on Form 10-K for fiscal year 2025. Disclosures pursuant to the final rules, as originally issued, would be required prospectively, with information for prior periods required only to the extent it was previously disclosed in an SEC filing. The Company is currently evaluating the impact of the final rules on its Consolidated Financial Statements and disclosures.
XML 42 R30.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Organization and significant accounting policies (Tables)
3 Months Ended
Mar. 31, 2024
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Schedule of Concentrations of Credit Risk and Business Risk For each significant customer, revenue as a percentage of total revenue and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:
Accounts ReceivableRevenue
March 31,December 31,Three Months Ended
March 31,
2024202320242023
Customer A12 %14 %**
Customer B**10 %14 %
Customer C**11 %10 %
*less than 10%
Schedule of Product Revenue Concentration
The following table represents the Company’s products representing more than 10% of the Company’s total revenue:
Three Months Ended
March 31,
Product revenue concentration20242023
CryoStor41 %44 %
780XLE Freezer13 %14 %
Schedule of Revenue by Geographic Areas
The following table represents the Company’s total revenue by geographic area (based on the location of the customer):
Three Months Ended
March 31,
Revenue by customers geographic locations(1)
20242023
United States(2)
80 %79 %
Europe, Middle East, Africa (EMEA)15 %18 %
Other%%
Total revenue100 %100 %
(1) During the year ended December 31, 2023, the Company updated its methodology for determining the country of origin for its sales. Sales are now recorded by shipping country rather than billing country. The Company updated the methodology retrospectively, adjusting the prior year presentation for all regions presented.
(2) The line item presented above previously bifurcated sales between the United States and Canada. Due to the updated methodology for determining the country of origin for sales, it was noted that Canada no longer was a material location to separately disclose. Canada sales have been included within the "Other" line item in the table above and United States sales have been retained as a single line item to more accurately reflect origin of sales for material regions.
XML 43 R31.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Correction of immaterial errors (Tables)
3 Months Ended
Mar. 31, 2024
Accounting Changes and Error Corrections [Abstract]  
Schedule of Effect of Adjustments to Financial Statements
The effect of the adjustments to our Consolidated balance Sheet as of December 31, 2023 was as follows (in thousands):
December 31, 2023
(In thousands)As reportedAdjustmentAs corrected
Additional paid-in-capital$651,305 $1,575 $652,880 
Accumulated deficit(313,342)(1,575)(314,917)
XML 44 R32.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Fair value measurement (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Schedule of the Company's Financial Assets and Liabilities Measured at Fair Value on a Recurring Basis
The following tables set forth the Company’s financial assets and liabilities measured at fair value on a recurring basis as of March 31, 2024 and December 31, 2023, based on the three-tier fair value hierarchy:
(In thousands)
As of March 31, 2024Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market accounts$16,260 $$$16,260 
Available-for-sale securities:    
U.S. government securities5,891 5,891 
Corporate debt securities7,847 7,847 
Other debt securities2,663 2,663 
Total$22,151 $10,510 $$32,661 
As of December 31, 2023
Assets:
Cash equivalents:
Money market accounts$25,034 $$$25,034 
Available-for-sale securities:
U.S. government securities5,170 5,170 
Corporate debt securities9,674 9,674 
Other debt securities1,992 1,992 
Total$30,204 $11,666 $$41,870 
Schedule of the Changes in Fair Value of Contingent Consideration Liabilities
The following table presents the changes in fair value of contingent consideration liabilities that are measured using Level 3 inputs for the three months ended March 31, 2023. There was no contingent consideration liability outstanding as of March 31, 2024.
Three Months Ended March 31,
(In thousands)2023
Balance at beginning of period$4,456 
Change in fair value recognized in net loss720 
Balance at end of period$5,176 
XML 45 R33.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Investments (Tables)
3 Months Ended
Mar. 31, 2024
Investments, Debt and Equity Securities [Abstract]  
Schedule of Available-for-Sale Marketable Securities
The Company’s portfolio of available-for-sale marketable securities consists of the following:
March 31, 2024
Amortized
Cost
Gross unrealizedEstimated
Fair Value
(In thousands)GainsLosses
Available-for-sale securities, current portion    
U.S. government securities$5,897 $$(6)$5,891 
Corporate debt securities7,851 (5)7,847 
Other debt securities1,842 (1)1,841 
Total short-term15,590 (12)15,579 
     
Available-for-sale securities, long-term    
Other debt securities823 (1)822 
Total marketable securities$16,413 $$(13)$16,401 
December 31, 2023
Amortized
Cost
Gross unrealizedEstimated
Fair Value
(In thousands)GainsLosses
Available-for-sale securities, current portion
U.S. government securities$5,169 $$$5,170 
Corporate debt securities9,673 (4)9,674 
Other debt securities1,443 1,444 
Total short-term16,285 (4)16,288 
Available-for-sale securities, long-term
Other debt securities545 548 
Total marketable securities$16,830 $10 $(4)$16,836 
March 31, 2024
(In thousands)Amortized
Cost
Estimated
Fair Value
Due in one year or less$15,590 $15,579 
Due after one year through five years823 822 
Total$16,413 $16,401 
XML 46 R34.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Inventories (Tables)
3 Months Ended
Mar. 31, 2024
Inventory Disclosure [Abstract]  
Schedule of Inventory
Inventories consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Raw materials$24,330 $26,219 
Work in progress6,737 7,128 
Finished goods12,347 10,109 
Total inventories$43,414 $43,456 
XML 47 R35.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Leases (Tables)
3 Months Ended
Mar. 31, 2024
Leases [Abstract]  
Schedule of Operating and Finance Lease Terms and Discount Rates
The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company’s leases as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Weighted average discount rate - operating leases4.3 %4.3 %
Weighted average discount rate - finance leases8.4 %8.3 %
Weighted average remaining lease term in years - operating leases6.26.4
Weighted average remaining lease term in years - finance leases3.94.1
Schedule of Lease Expense
The components of lease expense for the three months ended March 31, 2024 and 2023 were as follows:
Three Months Ended
March 31,
(In thousands)20242023
Operating lease costs$804 $897 
Financing lease costs59 — 
Short-term lease costs442 402 
Total operating lease costs1,305 1,299 
   
Variable lease costs361 259 
Total lease costs$1,666 $1,558 
Schedule of Maturities of Operating Lease Liabilities
Maturities of our lease liabilities as of March 31, 2024 are as follows:
(In thousands)Operating
Leases
Financing
Leases
2024 (9 months remaining)$2,471 $349 
20253,030 424 
20262,574 389 
20272,280 387 
20282,042 134 
Thereafter4,896 
Total lease payments17,293 1,683 
Less: interest(2,069)(245)
Total present value of lease liabilities$15,224 $1,438 
Schedule of Maturities of Finance Lease Liabilities
Maturities of our lease liabilities as of March 31, 2024 are as follows:
(In thousands)Operating
Leases
Financing
Leases
2024 (9 months remaining)$2,471 $349 
20253,030 424 
20262,574 389 
20272,280 387 
20282,042 134 
Thereafter4,896 
Total lease payments17,293 1,683 
Less: interest(2,069)(245)
Total present value of lease liabilities$15,224 $1,438 
XML 48 R36.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Assets held for rent (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Assets Held For Rent
Assets held for rent consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Shippers placed in service$9,709 $9,866 
Fixed assets held for rent579 1,468 
Accumulated depreciation(6,080)(6,272)
Subtotal4,208 5,062 
Shippers and related components in production2,696 2,651 
Total$6,904 $7,713 
XML 49 R37.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Property and equipment (Tables)
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment [Abstract]  
Schedule of Property and Equipment
Property and equipment consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Property and equipment  
Leasehold improvements$5,927 $5,913 
Furniture and computer equipment819 820 
Manufacturing and other equipment20,871 19,893 
Construction in-progress4,112 3,953 
Subtotal31,729 30,579 
Less: Accumulated depreciation(10,687)(9,502)
Property and equipment, net$21,042 $21,077 
XML 50 R38.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Goodwill and intangible assets (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Finite-Lived Intangible Assets
Intangible assets, net consisted of the following as of March 31, 2024 and December 31, 2023:
(In thousands, except weighted average useful life)March 31, 2024
Intangible assets:
Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted
Average Useful
Life (in years)
Customer relationships$9,936 $(4,353)$5,583 10.4
Tradenames8,134 (2,231)5,903 11.0
Technology - acquired18,372 (9,705)8,667 3.8
Non-compete agreements750 (668)82 0.5
Total intangible assets$37,192 $(16,957)$20,235 7.1
(In thousands, except weighted average useful life)December 31, 2023
Intangible assets:
Gross Carrying
Value
Accumulated
Amortization
Net Carrying
Value
Weighted
Average Useful
Life (in years)
Customer relationships$9,936 $(4,217)$5,719 10.7
Tradenames8,134 (2,077)6,057 11.3
Technology - acquired18,372 (9,123)9,249 4.1
Non-compete agreements750 (626)124 0.8
Total intangible assets$37,192 $(16,043)$21,149 7.3
Schedule of Amortization Expense for Finite-Lived Intangible Assets As of March 31, 2024, the Company expects to record the following amortization expense for definite-lived intangible assets:
(In thousands)Amortization
Expense
For the Years Ending December 31,
2024 (9 months remaining)$2,689 
20253,468 
20263,358 
20272,605 
20281,500 
Thereafter6,615 
Total$20,235 
XML 51 R39.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Accrued expenses and other current liabilities (Tables)
3 Months Ended
Mar. 31, 2024
Investments, Debt and Equity Securities [Abstract]  
Schedule of Accrued Expenses and Other Current Liabilities
Accrued expenses and other current liabilities consist of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)20242023
Accrued expenses$4,253 $6,909 
Accrued taxes667 562 
Accrued compensation3,644 3,800 
Deferred revenue, current299 661 
Total accrued expenses and other current liabilities$8,863 $11,932 
XML 52 R40.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Warranty reserve liability (Tables)
3 Months Ended
Mar. 31, 2024
Guarantees and Product Warranties [Abstract]  
Schedule of Product Warranty Liability
A rollforward of our warranty liability is as follows:
Three Months Ended
March 31,
(In thousands)20242023
Balance at beginning of period$7,858 $8,312 
Provision for warranties767 1,891 
Settlements of warranty claims(825)(1,308)
Balance at end of period$7,800 $8,895 
XML 53 R41.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Long-term debt (Tables)
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Schedule of Debt
Long-term debt consisted of the following as of March 31, 2024 and December 31, 2023:
March 31,December 31,
(In thousands)Maturity DateInterest Rate20242023
Global Cooling Amended Term NotesVarious4.0 %$2,596 $2,596 
Term LoanJun-267.0 %20,000 20,000 
Insurance premium financingJul-24Various622 1,348 
Freezer equipment loanDec-255.7 %279 317 
Manufacturing equipment loansOct-255.7 %147 172 
Freezer installation loanVarious6.3 %736 807 
Other loansVariousVarious
Total debt, excluding unamortized debt issuance costs24,381 25,242 
Less: unamortized debt issuance costs(81)(98)
Total debt24,300 25,144 
Less: current portion of debt(8,619)(6,833)
Total long-term debt$15,681 $18,311 
Schedule of Maturities of Long-Term Debt
As of March 31, 2024, the scheduled maturities of loans payable for each of the next five years and thereafter were as follows:
(In thousands)Amount
2024 (9 months remaining)$5,975 
202510,511 
20265,218 
20272,596 
2028
Thereafter
Total debt$24,300 
XML 54 R42.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue (Tables)
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Schedule of Bioproduction Tools and Service Revenues
Total bioproduction tools and services revenue for the three months ended March 31, 2024 and 2023 were composed of the following:
Three Months Ended
March 31,
(In thousands, except percentages)20242023
Product revenue  
Freezer and thaw$8,334 $12,381 
Cell processing16,186 18,993 
Biostorage services283 219 
Service revenue  
Biostorage services4,975 3,825 
Freezer and thaw113 646 
Rental revenue  
Biostorage services1,836 1,639 
Total revenue$31,727 $37,703 
Schedule of Remaining Performance Obligations
The balances in the table below are partially based on judgments involved in estimating future orders from customers pursuant to their respective contracts:
(In thousands)2024 (9 months remaining)Total
Service revenue$18 $18 
XML 55 R43.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Stock-based compensation (Tables)
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement [Abstract]  
Schedule of Service Vesting-Based Stock Option Activity
The following is a summary of service-based vesting stock option activity for the March 31, 2024, and the status of service-based vesting stock options outstanding as of March 31, 2024:
Three Months Ended
March 31, 2024
Options
Wtd. Avg. Exercise Price
Outstanding as of beginning of period217,250 $2.21 
Exercised— — 
Outstanding as of March 31, 2024217,250 $2.21 
Stock options exercisable as of March 31, 2024217,250 $2.21 
Schedule of Service Vesting-Based and Market Based Restricted Stock Activity
The following is a summary of service-based vesting restricted stock activity for the three months ended March 31, 2024, and the status of unvested service-based vesting restricted stock outstanding as of March 31, 2024:
Three Months Ended
March 31, 2024
Shares
Wtd. Avg. Grant Date Fair Value
Outstanding as of beginning of period2,312,898 $18.32 
Granted186,272 17.36 
Vested(221,829)24.02 
Forfeited(51,340)17.69 
Non-vested as of March 31, 20242,226,001 $17.66 
The following is a summary of market-based restricted stock activity under our stock option plan for the three months ended March 31, 2024 and the status of market-based restricted stock outstanding as of March 31, 2024:
Three Months Ended
March 31, 2024
Shares
Wtd. Avg. Grant
Outstanding as of beginning of period509,166 $26.50 
Granted299,565 23.20 
Vested(300,529)27.97 
Non-vested as of March 31, 2024508,202 $25.70 
Schedule of Stock Compensation Expense We recorded total stock compensation expense for the three months ended March 31, 2024 and 2023, as follows:
 Three Months Ended
March 31,
(In thousands)20242023
Cost of revenue$1,120 $1,631 
General and administrative costs3,130 3,293 
Sales and marketing costs1,186 1,256 
Research and development costs747 1,183 
Total$6,183 $7,363 
XML 56 R44.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Net loss per common share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Schedule of Earnings Per Share, Basic and Diluted, Two Class Method
The following table presents computations of basic and diluted earnings per share:
Three Months Ended
March 31,
(In thousands, except share and earnings per share data)20242023
Basic earnings (loss) per common share
Numerator:
Net loss$(10,221)$(13,714)
Net loss allocated to common shareholders(10,221)(13,714)
Denominator:
Weighted-average common shares issued and outstanding45,432,42643,027,612
Basic and diluted loss per common share$(0.22)$(0.32)
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share
The following table sets forth the number of weighted-average shares of common stock excluded from the computation of diluted loss per share, as their inclusion would have been anti-dilutive:
Three Months Ended
March 31,
20242023
Stock options and restricted stock awards3,766,8243,153,029
Total3,766,8243,153,029
XML 57 R45.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Subsequent events (Tables)
3 Months Ended
Mar. 31, 2024
Subsequent Events [Abstract]  
Disposal Groups, Including Discontinued Operations The Company expects to recognize a loss on the GCI Divestiture, calculated as follows:
(In thousands)April 17, 2024
Selling price: $1
$— 
Cash to Global Cooling funded by Company(4,910)
Approximate costs to sell Global Cooling(1)
(2,409)
Negative selling price(7,319)
Global Cooling carrying basis as of December 31, 2023(2)
(963)
Estimated net loss on disposal$(8,282)
(1) Represents the costs incurred in connection with the GCI Divestiture, including fees to be paid to the broker, attorneys, and other external parties.
(2) The Company is utilizing the carrying basis of Global Cooling as of December 31, 2023 as an estimate for its carrying basis as of the date of divestiture. The carrying basis to calculate the loss on disposal will utilize the carrying basis as of the date of divestiture on April 17, 2024, and may differ from the estimate noted here upon disclosure in the second quarter of 2024.
The following table summarizes the additional costs incurred by the Company in connection with closing the GCI Divestiture and expected to be recorded during the second quarter of 2024:
(In thousands)April 17, 2024
Global Cooling Term Notes payoff(1)
$2,596 
Assumed liabilities from Global Cooling(2)
2,353 
RIF compensation expenses(3)
1,595 
Global Cooling employee stock based compensation expense(4)
4,106 
Total$10,650 
(1) As a condition to close the GCI Divestiture, the Company repaid the balance of the Global Cooling Amended Term Notes. For additional information on the terms of the Global Cooling Term Notes, see Note 13: Long-term debt.
(2) As a condition to close the GCI Divestiture, the Company assumed certain accounts payable and accrued expenses from Global Cooling, totaling to approximately $1.8 million and $0.6 million, respectively.
(3) The Company expects to recognize approximately $1.6 million of charges in connection with the RIF, comprised of approximately $1.3 million of stock compensation expense and approximately $0.3 million in cash expenditures, substantially all of which are expected to be related to employee severance costs.
(4) The Company expects to recognize approximately $4.5 million in stock compensation expense in connection with the acceleration of unvested shares for all former employees of the Company that remained with Global Cooling upon the closing of the GCI Divestiture.
XML 58 R46.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Organization and significant accounting policies - Narrative (Details)
$ in Millions
3 Months Ended 12 Months Ended
Mar. 31, 2024
USD ($)
reportable_segment
reporting_unit
Mar. 31, 2023
Dec. 31, 2023
USD ($)
Short-Term Debt [Line Items]      
Number of reportable segments | reportable_segment 1    
Number of reporting units | reporting_unit 1    
Cash, cash equivalents, and available-for-sale securities | $ $ 46.1   $ 52.3
Supply Purchase | Supplier Concentration Risk | One Supplier      
Short-Term Debt [Line Items]      
Concentration risk, percent 13.00% 15.00%  
Accounts Payable | Supplier Concentration Risk | One Supplier      
Short-Term Debt [Line Items]      
Concentration risk, percent 11.00%   12.00%
XML 59 R47.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Organization and significant accounting policies - Schedule of Concentrations of Credit Risk and Business Risk (Details) - Customer Concentration Risk
3 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Mar. 31, 2023
Accounts Receivable | Customer A      
Concentration Risk [Line Items]      
Concentration risk, percent 12.00% 14.00%  
Revenue | Customer B      
Concentration Risk [Line Items]      
Concentration risk, percent 10.00%   14.00%
Revenue | Customer C      
Concentration Risk [Line Items]      
Concentration risk, percent 11.00%   10.00%
XML 60 R48.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Organization and significant accounting policies - Schedule of Product Revenue Concentration (Details) - Revenue
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Product revenue concentration | CryoStor    
Concentration Risk [Line Items]    
Concentration risk, percent 41.00% 44.00%
Product revenue concentration | 780XLE Freezer    
Concentration Risk [Line Items]    
Concentration risk, percent 13.00% 14.00%
Revenue by customers' geographic locations    
Concentration Risk [Line Items]    
Concentration risk, percent 100.00% 100.00%
Revenue by customers' geographic locations | United States    
Concentration Risk [Line Items]    
Concentration risk, percent 80.00% 79.00%
Revenue by customers' geographic locations | Europe, Middle East, Africa (EMEA)    
Concentration Risk [Line Items]    
Concentration risk, percent 15.00% 18.00%
Revenue by customers' geographic locations | Other    
Concentration Risk [Line Items]    
Concentration risk, percent 5.00% 3.00%
XML 61 R49.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Correction of immaterial errors - Schedule of Effect of Adjustments to Financial Statements (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Unaudited Condensed Consolidated Balance Sheet    
Additional paid-in-capital   $ 652,880
Accumulated deficit $ (325,138) (314,917)
As reported    
Unaudited Condensed Consolidated Balance Sheet    
Additional paid-in-capital   651,305
Accumulated deficit   (313,342)
Adjustment    
Unaudited Condensed Consolidated Balance Sheet    
Additional paid-in-capital   1,575
Accumulated deficit   $ (1,575)
XML 62 R50.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Fair value measurement - Narrative (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
Mar. 31, 2023
USD ($)
Oct. 01, 2020
USD ($)
Fair Value Measurement Inputs and Valuation Techniques [Line Items]      
Change in fair value of contingent consideration, increase (decrease) $ 0 $ 720  
SciSafe Holdings, Inc      
Fair Value Measurement Inputs and Valuation Techniques [Line Items]      
Contingent consideration, liability     $ 3,700
Change in fair value of contingent consideration, increase (decrease)   $ 700  
SciSafe Holdings, Inc | Discount Rate      
Fair Value Measurement Inputs and Valuation Techniques [Line Items]      
Contingent consideration, liability, measurement input     0.045
SciSafe Holdings, Inc | Risk Free Interest Rate      
Fair Value Measurement Inputs and Valuation Techniques [Line Items]      
Contingent consideration, liability, measurement input     0.002
SciSafe Holdings, Inc | Asset Price Volatility      
Fair Value Measurement Inputs and Valuation Techniques [Line Items]      
Contingent consideration, liability, measurement input     0.60
SciSafe Holdings, Inc | Revenue Volatility      
Fair Value Measurement Inputs and Valuation Techniques [Line Items]      
Contingent consideration, liability, measurement input     0.15
XML 63 R51.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Fair value measurement - Schedule of the Company's Financial Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Assets:    
Available-for-sale securities $ 16,401 $ 16,836
Fair Value, Recurring    
Assets:    
Assets 32,661 41,870
Fair Value, Recurring | U.S. government securities    
Assets:    
Available-for-sale securities 5,891 5,170
Fair Value, Recurring | Corporate debt securities    
Assets:    
Available-for-sale securities 7,847 9,674
Fair Value, Recurring | Other debt securities    
Assets:    
Available-for-sale securities 2,663 1,992
Fair Value, Recurring | Money market accounts    
Assets:    
Cash equivalents 16,260 25,034
Fair Value, Recurring | Level 1    
Assets:    
Assets 22,151 30,204
Fair Value, Recurring | Level 1 | U.S. government securities    
Assets:    
Available-for-sale securities 5,891 5,170
Fair Value, Recurring | Level 1 | Corporate debt securities    
Assets:    
Available-for-sale securities 0 0
Fair Value, Recurring | Level 1 | Other debt securities    
Assets:    
Available-for-sale securities 0 0
Fair Value, Recurring | Level 1 | Money market accounts    
Assets:    
Cash equivalents 16,260 25,034
Fair Value, Recurring | Level 2    
Assets:    
Assets 10,510 11,666
Fair Value, Recurring | Level 2 | U.S. government securities    
Assets:    
Available-for-sale securities 0 0
Fair Value, Recurring | Level 2 | Corporate debt securities    
Assets:    
Available-for-sale securities 7,847 9,674
Fair Value, Recurring | Level 2 | Other debt securities    
Assets:    
Available-for-sale securities 2,663 1,992
Fair Value, Recurring | Level 2 | Money market accounts    
Assets:    
Cash equivalents 0 0
Fair Value, Recurring | Level 3    
Assets:    
Assets 0 0
Fair Value, Recurring | Level 3 | U.S. government securities    
Assets:    
Available-for-sale securities 0 0
Fair Value, Recurring | Level 3 | Corporate debt securities    
Assets:    
Available-for-sale securities 0 0
Fair Value, Recurring | Level 3 | Other debt securities    
Assets:    
Available-for-sale securities 0 0
Fair Value, Recurring | Level 3 | Money market accounts    
Assets:    
Cash equivalents $ 0 $ 0
XML 64 R52.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Fair value measurement - Schedule of the Changes in Fair Value of Contingent Consideration Liabilities (Details) - Contingent Consideration Liabilities
$ in Thousands
3 Months Ended
Mar. 31, 2023
USD ($)
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]  
Beginning balance $ 4,456
Change in fair value recognized in net loss 720
Ending balance $ 5,176
XML 65 R53.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Investments - Schedule of Available-for-Sale Marketable Securities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost, current portion $ 15,590 $ 16,285
Gross unrealized Gains, current portion 1 7
Gross unrealized Losses, current portion (12) (4)
Available-for-sale securities, current portion 15,579 16,288
Amortized Cost, long term 823  
Available-for-sale securities, long-term 822 548
Total 16,413 16,830
Total marketable securities, Gross Unrealized Gains 1 10
Total marketable securities, Gross Unrealized Losses (13) (4)
Estimated Fair Value, Total marketable securities 16,401 16,836
Amortized Cost    
Due in one year or less 15,590 16,285
Due after one year through five years 823  
Total 16,413 16,830
Estimated Fair Value    
Due in one year or less 15,579 16,288
Due after one year through five years 822  
Total 16,401 16,836
U.S. government securities    
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost, current portion 5,897 5,169
Gross unrealized Gains, current portion 0 1
Gross unrealized Losses, current portion (6) 0
Available-for-sale securities, current portion 5,891 5,170
Amortized Cost    
Due in one year or less 5,897 5,169
Estimated Fair Value    
Due in one year or less 5,891 5,170
Corporate debt securities    
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost, current portion 7,851 9,673
Gross unrealized Gains, current portion 1 5
Gross unrealized Losses, current portion (5) (4)
Available-for-sale securities, current portion 7,847 9,674
Amortized Cost    
Due in one year or less 7,851 9,673
Estimated Fair Value    
Due in one year or less 7,847 9,674
Other debt securities    
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost, current portion 1,842 1,443
Gross unrealized Gains, current portion 0 1
Gross unrealized Losses, current portion (1) 0
Available-for-sale securities, current portion 1,841 1,444
Amortized Cost, long term 823 545
Gross unrealized Gains, long term 0 3
Gross unrealized losses, long term (1) 0
Available-for-sale securities, long-term 822 548
Amortized Cost    
Due in one year or less 1,842 1,443
Due after one year through five years 823 545
Estimated Fair Value    
Due in one year or less $ 1,841 $ 1,444
XML 66 R54.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Investments - Narrative (Details) - USD ($)
$ in Millions
Mar. 31, 2024
Dec. 31, 2023
Series A-1 and A-2, Preferred Stock    
Debt and Equity Securities, FV-NI [Line Items]    
Fair value of non-marketable equity securities without readily determinable fair value $ 4.1 $ 4.1
Series E Preferred Stock    
Debt and Equity Securities, FV-NI [Line Items]    
Fair value of non-marketable equity securities without readily determinable fair value $ 1.0 $ 1.0
XML 67 R55.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Inventories - Schedule of Inventory (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Inventory Disclosure [Abstract]    
Raw materials $ 24,330 $ 26,219
Work in progress 6,737 7,128
Finished goods 12,347 10,109
Total inventories $ 43,414 $ 43,456
XML 68 R56.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Leases - Narrative (Details)
Mar. 31, 2024
Real Estate Lease | Minimum  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 3 years
Operating lease, remaining lease term 1 year
Operating lease, renewal term 1 year
Real Estate Lease | Maximum  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 11 years
Operating lease, remaining lease term 8 years
Operating lease, renewal term 5 years
Vehicle and Other Equipment | Minimum  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 4 years
Operating lease, remaining lease term 1 year
Vehicle and Other Equipment | Maximum  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 5 years
Operating lease, remaining lease term 5 years
XML 69 R57.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Leases - Schedule of Operating and Finance Lease Terms and Discount Rates (Details)
Mar. 31, 2024
Dec. 31, 2023
Leases [Abstract]    
Weighted average discount rate - operating leases 4.30% 4.30%
Weighted average discount rate - finance leases 8.40% 8.30%
Weighted average remaining lease term in years - operating leases 6 years 2 months 12 days 6 years 4 months 24 days
Weighted average remaining lease term in years - finance leases 3 years 10 months 24 days 4 years 1 month 6 days
XML 70 R58.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Leases - Schedule of Lease Expense (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Leases [Abstract]    
Operating lease costs $ 804 $ 897
Financing lease costs 59 0
Short-term lease costs 442 402
Total operating lease costs 1,305 1,299
Variable lease costs 361 259
Total lease costs $ 1,666 $ 1,558
XML 71 R59.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Leases - Schedule of Maturities Operating and Finance Lease Liabilities (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Operating Leases  
2024 (9 months remaining) $ 2,471
2025 3,030
2026 2,574
2027 2,280
2028 2,042
Thereafter 4,896
Total lease payments 17,293
Less: interest (2,069)
Total present value of lease liabilities 15,224
Financing Leases  
2024 (9 months remaining) 349
2025 424
2026 389
2027 387
2028 134
Thereafter 0
Total lease payments 1,683
Less: interest (245)
Total present value of lease liabilities $ 1,438
XML 72 R60.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Assets held for rent - Schedule of Assets Held for Rent (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]    
Shippers placed in service $ 9,709 $ 9,866
Fixed assets held for rent 579 1,468
Accumulated depreciation (6,080) (6,272)
Subtotal 4,208 5,062
Shippers and related components in production 2,696 2,651
Total $ 6,904 $ 7,713
XML 73 R61.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Assets held for rent - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]    
Assets held for rent, depreciation expense $ 0.7 $ 0.8
XML 74 R62.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Property and equipment - Schedule of Property and Equipment (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Property, Plant and Equipment [Line Items]    
Subtotal $ 31,729 $ 30,579
Less: Accumulated depreciation (10,687) (9,502)
Property and equipment, net 21,042 21,077
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Subtotal 5,927 5,913
Furniture and computer equipment    
Property, Plant and Equipment [Line Items]    
Subtotal 819 820
Manufacturing and other equipment    
Property, Plant and Equipment [Line Items]    
Subtotal 20,871 19,893
Construction in-progress    
Property, Plant and Equipment [Line Items]    
Subtotal $ 4,112 $ 3,953
XML 75 R63.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Property and equipment - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Property, Plant and Equipment [Abstract]    
Property and equipment, depreciation expense $ 0.7 $ 0.9
XML 76 R64.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Goodwill and intangible assets - Schedule of Finite-Lived Intangible Assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Finite-Lived Intangible Assets [Line Items]    
Accumulated Amortization $ (16,957) $ (16,043)
Total $ 20,235  
Weighted Average Useful Life (in years) 7 years 1 month 6 days 7 years 3 months 18 days
Intangible assets, gross $ 37,192 $ 37,192
Intangible assets, net 20,235 21,149
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value 9,936 9,936
Accumulated Amortization (4,353) (4,217)
Total $ 5,583 $ 5,719
Weighted Average Useful Life (in years) 10 years 4 months 24 days 10 years 8 months 12 days
Tradenames    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 8,134 $ 8,134
Accumulated Amortization (2,231) (2,077)
Total $ 5,903 $ 6,057
Weighted Average Useful Life (in years) 11 years 11 years 3 months 18 days
Technology - acquired    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 18,372 $ 18,372
Accumulated Amortization (9,705) (9,123)
Total $ 8,667 $ 9,249
Weighted Average Useful Life (in years) 3 years 9 months 18 days 4 years 1 month 6 days
Non-compete agreements    
Finite-Lived Intangible Assets [Line Items]    
Gross Carrying Value $ 750 $ 750
Accumulated Amortization (668) (626)
Total $ 82 $ 124
Weighted Average Useful Life (in years) 6 months 9 months 18 days
XML 77 R65.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Goodwill and intangible assets - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]    
Intangible asset amortization $ 914 $ 1,459
XML 78 R66.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Goodwill and intangible assets - Schedule of Amortization Expense for Finite-Lived Intangible Assets (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Goodwill and Intangible Assets Disclosure [Abstract]  
2024 (9 months remaining) $ 2,689
2025 3,468
2026 3,358
2027 2,605
2028 1,500
Thereafter 6,615
Total $ 20,235
XML 79 R67.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Investments, Debt and Equity Securities [Abstract]    
Accrued expenses $ 4,253 $ 6,909
Accrued taxes 667 562
Accrued compensation 3,644 3,800
Deferred revenue, current 299 661
Total accrued expenses and other current liabilities $ 8,863 $ 11,932
XML 80 R68.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Warranty reserve liability - Schedule of Product Warranty Liability (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]    
Balance at beginning of period $ 7,858 $ 8,312
Provision for warranties 767 1,891
Settlements of warranty claims (825) (1,308)
Balance at end of period $ 7,800 $ 8,895
XML 81 R69.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Commitments and contingencies (Details) - USD ($)
$ in Millions
Mar. 31, 2024
Dec. 31, 2023
Commitments and Contingencies Disclosure [Abstract]    
Short-term purchase obligations $ 10.0  
Sales and excise tax payable $ 5.0 $ 5.4
XML 82 R70.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Long-term debt - Narrative (Details)
$ in Thousands
1 Months Ended
Apr. 17, 2024
USD ($)
Sep. 20, 2022
USD ($)
May 31, 2021
USD ($)
note
Mar. 31, 2024
USD ($)
Dec. 31, 2023
USD ($)
Oct. 31, 2021
USD ($)
Debt Instrument [Line Items]            
Number of term notes assumed | note     3      
Total debt, excluding unamortized debt issuance costs       $ 24,381 $ 25,242  
The 2023 Term Loan            
Debt Instrument [Line Items]            
Debt instrument, face amount       $ 20,400    
Debt instrument, maximum borrowing capacity   $ 60,000        
Maximum borrowing capacity   30,000        
Options to borrow   10,000        
Debt instrument, additional maximum amount upon certain milestone achievements   10,000        
Debt instrument, additional maximum at discretion of lender   10,000        
Proceeds from term loans   $ 20,000        
Debt instrument, interest rate, maximum stated percentage for each tranche borrowed   1.00%        
Debt instrument, balloon payment due   $ 1,200        
Interest rate       6.60%    
Prime Rate | The 2023 Term Loan            
Debt Instrument [Line Items]            
Debt instrument, basis spread on variable rate   0.50%        
Notes Payable            
Debt Instrument [Line Items]            
Total debt, excluding unamortized debt issuance costs     $ 4,400      
Debt instrument, face amount           $ 4,600
Notes Payable | Subsequent Event            
Debt Instrument [Line Items]            
Extinguishment of debt, amount $ 2,600          
Notes Payable | Advantage Term Note 1            
Debt Instrument [Line Items]            
Debt instrument, face amount           1,400
Notes Payable | Enhanced Term Note            
Debt Instrument [Line Items]            
Debt instrument, face amount           $ 1,800
Interest rate           4.00%
Notes Payable | London Interbank Offered Rate (LIBOR) 1            
Debt Instrument [Line Items]            
Debt instrument, basis spread on variable rate     6.50%      
XML 83 R71.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Long-term debt - Schedule of Debt (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Debt Instrument [Line Items]    
Total debt, excluding unamortized debt issuance costs $ 24,381 $ 25,242
Less: unamortized debt issuance costs (81) (98)
Total debt 24,300 25,144
Less: current portion of debt (8,619) (6,833)
Total long-term debt $ 15,681 $ 18,311
Global Cooling Amended Term Notes    
Debt Instrument [Line Items]    
Interest Rate 4.00% 4.00%
Total debt, excluding unamortized debt issuance costs $ 2,596 $ 2,596
Term Loan    
Debt Instrument [Line Items]    
Interest Rate 7.00% 7.00%
Total debt, excluding unamortized debt issuance costs $ 20,000 $ 20,000
Insurance premium financing    
Debt Instrument [Line Items]    
Total debt, excluding unamortized debt issuance costs $ 622 $ 1,348
Freezer equipment loan    
Debt Instrument [Line Items]    
Interest Rate 5.70% 5.70%
Total debt, excluding unamortized debt issuance costs $ 279 $ 317
Manufacturing equipment loans    
Debt Instrument [Line Items]    
Interest Rate 5.70% 5.70%
Total debt, excluding unamortized debt issuance costs $ 147 $ 172
Freezer installation loan    
Debt Instrument [Line Items]    
Interest Rate 6.30% 6.30%
Total debt, excluding unamortized debt issuance costs $ 736 $ 807
Other loans    
Debt Instrument [Line Items]    
Total debt, excluding unamortized debt issuance costs 1 2
Total long-term debt    
Debt Instrument [Line Items]    
Total long-term debt $ 15,681 $ 18,311
XML 84 R72.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Long-term debt - Schedule of Maturities of Long-Term Debt (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Debt Disclosure [Abstract]    
2024 (9 months remaining) $ 5,975  
2025 10,511  
2026 5,218  
2027 2,596  
2028 0  
Thereafter 0  
Total debt $ 24,300 $ 25,144
XML 85 R73.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Revenue from Contract with Customer [Abstract]      
Deferred revenue $ 0.3   $ 0.7
Deferred revenue, revenue recognized $ 0.4 $ 0.2  
XML 86 R74.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue - Schedule of Bioproduction Tools and Service Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue $ 31,727 $ 37,703
Product revenue    
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue 24,803 31,593
Freezer and thaw    
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue 8,334 12,381
Cell processing    
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue 16,186 18,993
Biostorage services    
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue 283 219
Service revenue    
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue 5,088 4,471
Biostorage services    
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue 4,975 3,825
Freezer and thaw    
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue 113 646
Rental revenue    
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue 1,836 1,639
Biostorage services    
Disaggregation of Revenue [Line Items]    
Total product, rental, and service revenue $ 1,836 $ 1,639
XML 87 R75.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Revenue - Schedule of Remaining Performance Obligations (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Service revenue  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, remaining performance obligation, amount $ 18
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01 | Rental revenue  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, remaining performance obligation, expected timing of satisfaction, period 9 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01 | Service revenue  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, remaining performance obligation, amount $ 18
Revenue, remaining performance obligation, expected timing of satisfaction, period 9 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01 | Rental revenue  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, remaining performance obligation, expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01 | Service revenue  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue, remaining performance obligation, expected timing of satisfaction, period 1 year
XML 88 R76.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Stock-based compensation - Schedule of Service Vesting-Based Stock Option Activity (Details)
3 Months Ended
Mar. 31, 2024
$ / shares
shares
Options  
Outstanding as of beginning of period (in shares) | shares 217,250
Exercised (in shares) | shares 0
Outstanding as of end of period (in shares) | shares 217,250
Stock options exercisable at end of period (in shares) | shares 217,250
Wtd. Avg. Exercise Price  
Outstanding as of beginning of period (in dollars per share) | $ / shares $ 2.21
Exercised (in dollars per share) | $ / shares 0
Outstanding as of end of period (in dollars per share) | $ / shares 2.21
Stock options exercisable at end of period (in dollars per share) | $ / shares $ 2.21
XML 89 R77.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Stock-based compensation - Narrative (Details)
3 Months Ended 12 Months Ended
Mar. 08, 2024
USD ($)
peer
$ / shares
shares
Jan. 03, 2023
USD ($)
peer
shares
Feb. 24, 2022
USD ($)
peer
shares
Mar. 31, 2024
USD ($)
$ / shares
shares
Mar. 31, 2023
USD ($)
shares
Dec. 31, 2023
USD ($)
$ / shares
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Aggregate intrinsic value of exercisable service vesting-based stock options       $ 3,600,000    
Share-based payment arrangement, expense       $ 6,183,000 $ 7,363,000  
Service based-vesting options granted (in shares) | shares       0    
Weighted average remaining contractual life (year)       1 year 9 months 18 days    
Number of peers | peer 20 20 20      
Comprehensive loss       $ (10,442,000) $ (13,569,000)  
Vesting period (year)       4 years    
Adjustment            
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Comprehensive loss           $ (1,600,000)
Options            
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Share-based payment arrangement, expense       $ 0    
Unrecognized compensation costs for service vesting-based stock options       0    
Restricted Stock            
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Share-based payment arrangement, expense       4,700,000    
Unrecognized compensation costs for service vesting-based stock options       35,400,000    
Aggregate fair value of the service vesting-based awards granted       3,200,000    
Aggregate fair value of the service vesting-based awards that vested       $ 3,700,000    
Period for recognition (year)       2 years 7 months 6 days    
Granted (in shares) | shares       186,272    
Grant date fair value (in dollars per share) | $ / shares       $ 17.66   $ 18.32
Vested (in shares) | shares       221,829    
Performance Shares            
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Share-based payment arrangement, expense       $ 200,000    
Service based-vesting options granted (in shares) | shares         0  
Unrecognized compensation costs for service vesting-based stock options       $ 1,700,000    
Period for recognition (year)       1 year 9 months 18 days    
Granted (in shares) | shares 109,512          
Grant date fair value (in dollars per share) | $ / shares $ 17.36          
Aggregate fair value of the market-based awards granted       $ 1,900,000    
Vested (in shares) | shares       0    
Market-based Restricted Stock            
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Share-based payment arrangement, expense       $ 1,100,000 $ 1,300,000  
Unrecognized compensation costs for service vesting-based stock options       $ 8,600,000    
Period for recognition (year)       1 year 6 months    
Granted (in shares) | shares 300,529     299,565    
Grant date fair value (in dollars per share) | $ / shares       $ 25.70   $ 26.50
Aggregate fair value of the market-based awards granted       $ 6,300,000 6,500,000  
Vested (in shares) | shares       300,529    
Total shareholder return attainment (percent) 125.00%          
Historical volatility (percent) 80.00% 78.00% 63.00%      
Dividend yield (percent) 0.00% 0.00% 0.00%      
Risk-free interest rate 4.60% 4.40% 1.50%      
Measurement date with a maturity period (year) 2 years 2 years 2 years      
Aggregate fair value of the market-based awards that vested       $ 5,100,000 $ 700,000  
Market-based Restricted Stock | Minimum            
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Total shareholder return attainment (percent) 0.00% 0.00%        
Market-based Restricted Stock | Maximum            
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Total shareholder return attainment (percent) 200.00% 200.00%        
Market-based Restricted Stock | Executive Officer            
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]            
Share-based payment arrangement, expense $ 6,300,000 $ 6,800,000 $ 6,700,000      
Granted (in shares) | shares 239,464 268,738 240,428      
XML 90 R78.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Stock-based compensation - Schedule of Service Vesting-Based and Market Based Restricted Stock Activity (Details) - $ / shares
3 Months Ended
Mar. 08, 2024
Mar. 31, 2024
Restricted Stock    
Shares    
Outstanding as of beginning of period (in shares)   2,312,898
Granted (in shares)   186,272
Vested (in shares)   (221,829)
Forfeited (in shares)   (51,340)
Outstanding as of end of period (in shares)   2,226,001
Wtd. Avg. Grant Date Fair Value    
Outstanding as of beginning of period (in dollars per share)   $ 18.32
Granted (in dollars per share)   17.36
Vested (in dollars per share)   24.02
Forfeited (in dollars per share)   17.69
Outstanding as of end of period (in dollars per share)   $ 17.66
Market-based Restricted Stock    
Shares    
Outstanding as of beginning of period (in shares)   509,166
Granted (in shares) 300,529 299,565
Vested (in shares)   (300,529)
Outstanding as of end of period (in shares)   508,202
Wtd. Avg. Grant Date Fair Value    
Outstanding as of beginning of period (in dollars per share)   $ 26.50
Granted (in dollars per share)   23.20
Vested (in dollars per share)   27.97
Outstanding as of end of period (in dollars per share)   $ 25.70
XML 91 R79.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Stock-based compensation - Schedule of Stock Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Total $ 6,183 $ 7,363
Cost of revenue    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Total 1,120 1,631
General and administrative costs    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Total 3,130 3,293
Sales and marketing costs    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Total 1,186 1,256
Research and development costs    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Total $ 747 $ 1,183
XML 92 R80.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Income taxes (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Tax Disclosure [Abstract]    
Income tax expense (benefit) $ 131 $ 92
Effective income tax rate reconciliation, percent (1.20%)  
Effective income tax rate reconciliation, tax expense (benefit), share-based payment arrangement, amount $ 600  
Effective income tax rate reconciliation, at federal statutory income tax rate, without discrete items percent (1.80%)  
Effective income tax rate reconciliation, at federal statutory income tax rate, percent 21.00%  
Deferred tax assets, valuation allowance $ 54,700  
XML 93 R81.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Net loss per common share - Schedule of Earnings Per Share, Basic and Diluted, Two Class Method (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator:    
Net loss $ (10,221) $ (13,714)
Net loss allocated to common shareholders (10,221) (13,714)
Net loss allocated to common shareholders $ (10,221) $ (13,714)
Denominator:    
Weighted average common shares issued, basic (in shares) 45,432,426 43,027,612
Weighted average common shares outstanding, basic (in shares) 45,432,426 43,027,612
Weighted average common shares issued, diluted (in shares) 45,432,426 43,027,612
Weighted average common shares outstanding, diluted (in shares) 45,432,426 43,027,612
Loss per common share, basic (in dollars per share) $ (0.22) $ (0.32)
Loss per common share, diluted (in dollars per share) $ (0.22) $ (0.32)
XML 94 R82.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Net loss per common share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) - shares
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Antidilutive securities excluded from computation of earnings per share, amount (in shares) 3,766,824 3,153,029
Stock options and restricted stock awards    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Antidilutive securities excluded from computation of earnings per share, amount (in shares) 3,766,824 3,153,029
XML 95 R83.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Employee benefit plan (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Retirement Benefits [Abstract]    
Defined contribution plan, employer matching contribution, percent of employees' gross pay 100.00%  
Defined contribution plan, employer discretionary contribution amount $ 0.3 $ 0.3
XML 96 R84.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Subsequent events - Narrative (Details) - Subsequent Event
$ / shares in Units, $ in Thousands
Apr. 17, 2024
USD ($)
employee
$ / shares
Global Cooling  
Subsequent Event [Line Items]  
Cash required on closing date $ 7,000
Disposal Group, Held-for-Sale, Not Discontinued Operations | Global Cooling  
Subsequent Event [Line Items]  
Cash required on closing date, funded by entity 4,910
Repayment of indebtedness $ 2,596
Expected reduction of workforce | employee 47
Expected reduction of workforce (percent) 11.00%
Restructuring charges $ 1,595
Accelerated cost $ 4,500
Period of transition services 90 days
Disposal Group, Held-for-Sale, Not Discontinued Operations | Stock Compensation Expense | Global Cooling  
Subsequent Event [Line Items]  
Restructuring charges $ 1,300
Disposal Group, Held-for-Sale, Not Discontinued Operations | Cash Expenditures | Global Cooling  
Subsequent Event [Line Items]  
Restructuring charges $ 300
Disposal Group, Held-for-Sale, Not Discontinued Operations | GCI Holdings | Global Cooling  
Subsequent Event [Line Items]  
Selling price per share (in dollars per share) | $ / shares $ 1
Second Amendment Term Loan  
Subsequent Event [Line Items]  
Termination fee, amount $ 500
Financial covenant requirement amount $ 15,000
XML 97 R85.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Subsequent events - Disposal Groups, Including Discontinued Operations (Details) - Subsequent Event - Disposal Group, Held-for-Sale, Not Discontinued Operations
$ / shares in Units, $ in Thousands
Apr. 17, 2024
USD ($)
$ / shares
Global Cooling  
Subsequent Event [Line Items]  
Selling price: $1 $ 0
Cash to Global Cooling funded by Company (4,910)
Approximate costs to sell Global Cooling (2,409)
Negative selling price (7,319)
Global Cooling carrying basis as of December 31, 2023(2) (963)
Estimated net loss on disposal $ (8,282)
GCI Holdings | Global Cooling  
Subsequent Event [Line Items]  
Selling price per share (in dollars per share) | $ / shares $ 1
XML 98 R86.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Subsequent events - Schedule of Additional Costs Incurred (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 17, 2024
Mar. 31, 2024
Mar. 31, 2023
Subsequent Event [Line Items]      
Global Cooling employee stock based compensation expense   $ 6,183 $ 7,363
Subsequent Event | Disposal Group, Held-for-Sale, Not Discontinued Operations | Global Cooling      
Subsequent Event [Line Items]      
Global Cooling Term Notes payoff $ 2,596    
Assumed liabilities from Global Cooling 2,353    
RIF compensation expenses 1,595    
Global Cooling employee stock based compensation expense 4,106    
Total 10,650    
Accounts payable 1,800    
Accrued expenses 600    
Subsequent Event | Disposal Group, Held-for-Sale, Not Discontinued Operations | Stock Compensation Expense | Global Cooling      
Subsequent Event [Line Items]      
RIF compensation expenses 1,300    
Subsequent Event | Disposal Group, Held-for-Sale, Not Discontinued Operations | Cash Expenditures | Global Cooling      
Subsequent Event [Line Items]      
RIF compensation expenses $ 300    
EXCEL 99 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( &F)JE@'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 " !IB:I8N3ID=>X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M3L,P#(9?!>7>.NDHAZC+91,GD)"8!.(6)=X6K6FCQ*C=VY.6K1."!^ 8^\_G MSY(;$Z3I([[$/F DA^EN]&V7I EK=B0*$B"9(WJ=RISH"[RHA!9=U_3&Y_O"["?O>NKW[ MQ\970=7 K[M07U!+ P04 " !IB:I8F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M &F)JE@JSTR'WP4 -X> 8 >&PO=V]R:W-H965T&UL MM9EK<^(V%(;_BH9V.NU,")9,"-DFS !)MIDFNVQ(=V?;Z0=A"_#$MEQ9AO#O M>V2#G4WE _4L7X)OYXT>'5U>29=KJ9[3I1":O$1AG%ZUEEHG[SJ=U%N*B*>G M,A$QO)E+%7$-MVK121,EN)\'16&'.4ZO$_$@;@TN\V<3-;B4F0Z#6$P42;,H MXFHS$J%<7[5H:_?@,5@LM7G0&5PF?"&F0O^13!3<=4H5/XA$G 8R)DK,KUI# M^F[L,A.0?_$Y$.OTU34Q*#,IG\W-G7_5=WQMB*C0H35B+CD0<9ZF9*;V!?^M_$=*%!9*K8KU8BA@@]I5M#L_K954*'0M2N8OO@N3;@G MKEK0V5*A5J(U^.D'VG-^M=%])[%O8+LE;!=3'UQ++X-NJLG3)A$V4CR<.NU/ M-B0TJB'268ET=AC2IXPK+52X(8\BD4K;\' IK3);I8S1J(9XO1*O=QC>1*A M^J83$A@+K,G#EI-9%H6$/ M?@G81PMU$^M ;\AM$ KR(8MF0MG < W'H6VWY_:8#0X-;0AW4<)=' +W*!:! M&48AC1]X9&VCN,XHD/?!7)"I##/3!-(3T*F&GHFD8J,919KM8%?WUH+>]2O;VS$>%!3Y%=>@AZ"_,1?R)T//368 M!U[.C33G/9(7W;;KG/?ZO9Z5%PUNRLLJ7G8([]#W01T:XO:"W,-WY&-LSRLN MZ;I.X:8$^1R$(0=KII[7? ,M)PO@H4L=:T6@JDTKHC)(%+4D_ZF(L;F#1OXD MU[&U$G"YD=1+,/96T&-X(UJ9(XK;F[>@97>>*+D*8L^>@S'1"O+ M1'&C\Q9T(E/-0_)GD-2/6+CB1=]AU$IZ#/-$*_=$<=.3M]4A+('KP7"!+CNS M8AW#*]'*+%'2J*FR%PPGX0+\AT$\VD;;P<[1$8W=].K5S'\$ZL\DX,=S>[;)*; M%V_)XX6H-8M[A#X,I]=#ZX(4#VQ*6%DE=I!5&F=*F25-L8[)4PDS2F;=@]FC M^-6ZPP&QR@&Q@QR06;N! MMP=3L)#*.ACMT;GG"EK[T/,$"(&,7TA:B8]AA5AEA=A!5F@:\3 DHRR%UZF] MW>(ZM4MQ/*XI7^6 V$$.Z"82:F$ZYGM0T$LP"5'"8WMJ<<%ZT&,8(%89((;[ MEUTBC>5&\7"9>KQC&"%6&2&&>YC=2%O,\M-BEI_F.]WD8Z;!UL9F#K42?R>+ MLZV'0NTL5S/'*ZM!M^>X3K\/:]N5C;$R0^R@G:,QC*@*7-]=[(L7\KNPIW'? M!I+C]-VNV[.:6CRX:2XKO\-PN[*;+F^#U+C;KP+,&K;=N4>NW::L[5H7)7AD M0U"W,D#NGNV=W5[G:]);>&@=8?>(U6WFXF%-&2L+Y.*&Y2WC=ONZGA*7^V3- M(Q[4E+&R/RYN5H8 Z!>0(;>.,7L$:D=5/.[_@G5>G2":"2\_6$V)9S8IB\/$ M\FEY>#O,CRP[U>?%R>\#-_-E2D(QAU#G]!P&/%4>1,:BVC_'(I MN"^4^0#>SZ74NQOS#\HC[<&_4$L#!!0 ( &F)JECS;$;ON < !DB 8 M >&PO=V]R:W-H965T&ULK5IM<]LV$OXKI:6>DB #X MIL363&)?[SK3NWKBIOT,DY"%"4FH "3'_?5=D#(I$2#L]/PA,2DMP&<7N_L\ M '7Q(-47O>7C+V=:8W;OE4A=;7C/]5NYX ]]LI*J9@5MUO]0[Q5G9 M#JJK)8FB=%DSTF$@V_44COZYJIQX^\D@^7,SQ[^N"3N-\: M^\%R?;%C]_R6F\^[&P5WRWZ64M2\T4(V2/'-Y>P#?G<5$SN@M?A=\ =]7L\@BXA4OC)V"P9\#O^)596<"''\>)YWUS[0#3Z^?9O^I=1Z< MN6.:7\GJ#U&:[>4LGZ&2;]B^,I_DPW_XT:'$SE?(2K?_HX>C;31#Q5X;61\' M X):--U?]O48B),!.)X80(X#R$L'T., VCK:(6O=NF:&K2^4?$#*6L-L]J*- M33L:O!&-7<9;H^!; >/,^G/#]J4PO$17LBEA>;HK+2M1,OOQ1U:QIN#HUCY" MHP7Z?'N-?GCS(WJ#1(-^V\J]9DVI+Y8&T-@YE\7QR1^[)Y.))_^7J;>(XCDB M$8D]PZ_"PZ]YT0^GY\.7$(,^$*0/!&GGHQ/S7>V5XHU!3&OP\YW/GVZ"V#^! MK;=W>L<*?CF#@M)<'?AL_?UW.(W>^[Q[I!_ M[L6!5>"\=Q6[J=)V*ML4#FNR2E>P8H=3=UPKFL11UEN=X8Q[G'$0YR>NC1*% M34.+U(>NFR Y?2X>00N:G.%*>EQ)$->' Q,5NZOX OKH0D/LD.;%7@DCN)Y# MV7:IM)/*MBH?[,3!A),D6XV0>ZQ2DN=^\&D//@V#+PJYA[6&)EQP6'AP8XZ, M8B7\:8 WY :Q"KI[6_7@'RH4APZ!*@F5H>W7;_ \BY,V@>PECJ!H[.=0T<6V M2]*GNFZ-H%1Y?M2K(.K?I&'5"P"NW,7$.(NB$42/&8G2 M*/:#Q-% AE&X-EI@:,NKLDU]B[:M"B^]16Z@5M$X"3Q668;I!-(3VL;/I $H M.64>V^6W'7Q7![%B!P7!44S&8+UFV40QX8%;<9#.UK\"5F9$7QP)LX3)R_R.9^8;BJ0='NI!;FM$U,5Q]VJ9+$#F"/43:5SP.CXO^+4JLG MA[RP79[,B9/:KE$23U I'K@4A\GT7U!Y4(0"Z$*;>DI"89>CDBAU,O@9JW.( M Y/AYZC,L.9>0&B?35>7L"Q1.PG@,8-2FP(Z$!L.,]N_I2P?1%5YH;FD1$B< MQ6.M][S=.;B!O_!+""Q0.BXEQ1'('2<-/7:89'BBY,E 721ZT?ZE$NQ.5&W9 M^#5"MG2R8%[[+:WF>TC%\'_NM*)G /[ ?";/?+31BC0S[RL,Q=DDL MH:MQX_!9Q?$4QH'L2)CL_F!*L0:Z\%,DO9L)XM)6ECO"TFN53- $&=B-A-GM MEU8ZG*ST',DG2?2B_2)QV8ND#C7[K++5A'HC \F1,,EYT&^>5-'+T+O,1I-Q M9_0991/RC0SL1\+L=\WOS,LPNJR6IWC,T1ZK-*<3ZH<,U$?"U'>^/7JN([@< M1V''.][&>34W<7A*$]'P'U6>$K!T8'E:)CENAP.XW/I"R=I/I9'/K.:HV&: MN^8;#KE;6J9X+GVIAZI68S[S&4T=?-&38\\PFW5E]AP^SZ8MQR==](C0-5Z(YH96,KBT.6 @?_\#]I.,+D1R_RX,Q^,89\JNX5 M)CKW?B!*F@15[.V6*;Z55MNW"+TVQ.2!*.VOEA M]OSU@N@Y0W98QV,SQ96#(J%A1?*A+(652M O[7'S0C2H8#L!_=,+TW-FG*PB M9YOBM2-Y/K7J@RBA85$"^ZQ]O:_:-Y;'[96LH4JW]H7S@;K$VV-%IR(>#^HD?N;L^<2%DF]$(;R'-+&K,1:4))B.]9_7$,PGCMLC2=D-CQ(%'BL$1QN+^MQ&]T@CAO M.;V'/#X[WR'/\N2]O?W1!/2+>]%H5/$-#(S>9A &U?T.H;LQ^RK^3QLBZ MO=QR!N"M 7R_D2 /CC?VUP']KT'6?P-02P,$% @ :8FJ6$0>B8!' P MT@L !@ !X;"]W;W)KS' J)?M-2.=+2(4J9*4W>[3[T@IBI0HLMW5+RR2NCO^ M_D=2O/E!JB>= 1CR+>="+[S,F.+&]W6204[UE2Q X)NM5#DUV%4[7Q<*:.J< M4[5]SO@\K#P0N]YX O;9<8.^,MY M07>P ?-0K!7V_"9*RG(0FDE!%&P7WFUXLPHCZ^ L_F9PT*TVL5(>I7RRG3_2 MA1=8(N"0&!N"XF,/*^#<1D*.KW50KYG3.K;;S]%_<^)1S"/5L)+\'Y::;.'- M/)+"EI;3:_9-#;1MX)"FUD7GMC 0Y$]63?JL3T7((Q^\X M1+5#=*K#J'88.:$5F9-U3PU=SI4\$&6M,9IMN-PX;U3#A%W&C5'XEJ&?63X( M6J;,0$I64J2X/%5+2\Y2:H?O**=CYPIQS/"DEE^6BV)<=ME\A2F%Y]5<")"VB/ MSWX93L?QW-^W5?09A4%CU&$=-:RC0=8U;GU0"E<+]TOR](D45)$]Y260"UR4 M5').E28%X/G-L.OSCAG]\'K^CU(26)I.*_8LO MK(YJM!>^BA^WLQJXWRO\XW8= 7$C(!X4L))YCM^D_Y']^*3L'[/JP$\:^,D9 M\&>G?O(VI7'0F_Q3+#L*IHV"Z?D*F-;E-@.M! 1M0#)%OR$>,NE"OUS)X?"=_![T&<>E MGF&0?,BD(O=;!9>M=K%VV3&A"8U2^QI1Q/S[WPGN-9EX^L M_,*WE KPE&<%OYIMA=A=S.<\WM*<\'.VHX7\SP,KJ2[466%O2V!'R?YZ3\YYIF[/%J!F?'&Q_2S5:H&_/5 MY8YLZ!T5GW:WI;R:MUJ2-*<%3UD!2OIP-7L#+]:^IQ94$G^G])%WO@-ERCUC M7]3%N^1JYBE$-*.Q4"J(_#C0-,F^" /8#W M.UH2Y7\.7H-/=V_!RQ>OP N0%N#CENTY*1)^.1<2E](^CQL,US4&-((!@QM6 MB"T'OTH$27_]7-K3&H6.1ETCI\(;4IX##,\ \I!OP;-^_G+L@(-;'^-*GS^B M[R,3) .[DB7[6)S)Y"_D]1F0S@*@19[:O-=K3NL=*M->5AA&*'H M]V #ZM%-9PB]L6'V7'U1% MNN [$M.KF2PYRG0Z6_W\$PR]7VQ!FDA9S_*@M3QPANQW6DB#L\IVDLA]EW*A M''"PAJC6%72<#]$2^X,06:3\A8_L(0I;H*$3Z!W):!TB686_4!4B&\+0>';@ M1=X H"D4^A&TXXM:?)$3WP<9&E+&VPIB(K,\8SM536P@(^/Y.#"\: KY,!AQ MXJ(%N7""?"2.TG.2I'^6U4Z&]*% 6()AT!-&>@'2SO090MT MZ03Z)OZZ3WE:$6"L-J<-W-)X,,+#'9DT--$XCFQK;?2AU11P0-)2W @ MV9XJRHAE;9=9*6.NOO(T:1C$RA.> U>-W"(2H3'P'1:$SRC19I6S@H26%%P$ MP1"H*19 ["U&H"(-%3FAOF]!9HS; 2+CR:^A!]%BB- FAT,O&(&H^0YB)V^\ M%UM:RDR(64[!R\:7KZR, 9W4>2IE3*6M;[>F2^CD)%5'J-0KCNES!@IJK72- MGI[GD3?XOR;^CED^A QD M-CDL;$=P@ A1IO=[0533()BDMCR7I,RWI*1;EDF2LW?(R$FB MI]:[J;3UO:%9$[E9\YKP-+9::7*?-4Y6.4><-$DB-TF^3;.]&)XE&VS(."K9 ML=GD'-@T.R(W.[8Y)(F\3IC_GTV3LN=4VOI^T>R)W.Q991-X*1O(A&49*3L. M>F4UOE:WZ ;(.^^4R,8JJQ@>J5-(TRARTVB38J< #IX'V"HV"EB3*PJ=>?>Y M&FE)Q.0@.TC9JE=(.=BKF4^==#MIT62YZ:3ZDW-S(FU]WVFF1VZFU[E9.\T> M7\O9-/ Q\E$X#+%%$GLH"N%8E#7!(S?!=]/2A=7D[C&L%DDW5DWUR$WUM_5( MS#7]C1@'7!9!=4R)LSU/#]7,(QT, ME'AOHF3=D-@\C$,?+X93)9O8 B]'CC*X,Z)VSZCOGI%_DS8;4VGKVZN;#>QN M-KYS*YHG\\!;# ^=%BE_=*"*=>.!@XDWHK.1.3EP$VGK6Z^[&.P>$?SXC6@9 M)P1P.8RM;>BP'(NM[C/PM\;E*@^=J>=4<'(P)]+6-U9/:%J']4;N^V;R:\J7Z/']R_AA?K^OT"K:9^W>&& ME)NTX""C#U*E=Q[)="OK-PCJ"\%VU8_P]TP(EE=?MY3(PY,2D/]_8$P<+]0# MVO&PO=V]R:W-H M965T&ULK5;;DP[4Q3WW(C))YI4A@Z0Z'3$'A@ M>%#L32PJ2T%2DI:O9V4[)A) MZ51;6L?M\0;]?:X=M4RIAI'DWUABTH'3=4@",[KDYD&N/T"IIV7Q8LEU_B3K MTM9S2+S41F:E,S+(F"C>]*F,PY8#XM0[!*5#L._0/.(0E@YA+K1@ELNZH89& M?2771%EK1+.#/#:Y-ZIAPF9Q;!1^9>AGHHF@RX092,A(B@2S4XRTY"RA=GEL M\(5I,YK(&7[*\+"D-HLK(!^EUJ1!)N,;:BD3W78/\["YN M7'(9%ER"(UQ"%235YATR277\7=57B@HVX87 2\(ZJ*Q+ZER3P@F8-G]'_ MNXLF\O!#8 MCOQV);]],B]8&+'L":P[2H&(GPF>1:$Y+0IN\A/+D3V^ET1 ?H8-?:J+1[%) M:SLW@1?N)?#0R/?:]=GK5/0[)^E/!/8QSGYCU2JR1>;8QHCEOJ*,TRF'!O:] MAJ83+<2TSTI9K<^'+LMW;K;TFP&>_3J MS,)6>Y^BN]5',E#SO+UJO ]+88JJ6ZU6'?PZ;UQ[ZT/L[$4C_@M3_!9@39TS MH0F'&4)Z5QV,F2I:;3$Q)(6>=;5O*\*E'-'F]G[_&[E(1M0-?BMYR]\)/[J'TKGZOJ2_O@E_7M MS&I[Q J6-2V"BIMGMF1%T9)$/_[HH;-CSC;P]/YW>MR]>?%F/E/.EE7Q>[YN M-K>S8(;6[)'NB^9C]9*R_@VY+2^K"M[]12]]6VN&LCUOJFT?+'JPS[A^GHYG)%&WIW4U2[M=YP]9H695KH&H>D0/&UJS356L M6O7C:_0CRDOTZZ;:S^N]FP6DSX5A2^ M35N1GAGZI!DH[JG*%^8$]Y6>;EDRA1 M!2TS]@;MCG/!V]%\@WBK2J'/?<,;(;RV\2LQ0H>G7R/:B/YD;Y&-WR!B$3*F M2V,GV@7D'=_1C-W.1'+.ZF@O' MEIO$>A,/8]\.Y6:)WFSN^4JC=*01<;P0N\=VTHPXQQEQIM:%[%!BX8J"L0=3 MBP(D; 4)BQRMPC@DL FQL2(+R*P))"P%@DE*=(]*=#NZ?4:)8KT4WQHX0Z^$ MH+I[K]O+H&ZE5R^5_O.Q*@HDKKI?:+W^[YCF7$C-0<)6D+ ($A9#PA)(6 H$ MDW3I'77I&2MD)\!Y^\5NW99&\6V7T_8:N%1(>$5"LDYWXL5:HZ$3)X9;]V#CP_O+U8@(WIJ!8*$K2!A M4:@)PO:]P%*^T\60.1-(6 H$DP2&K<'=M(P2$U?:+'\J4;:O:U9FWU!3TY(7 M9Z^#>IST ;0\I1:9B)B@KTJJ@X?]W6)OI,\X)^+MC\L:KGG!8,<29TE3?Y^++69Y(^NZ$J)6-O M)DL)DA:!TF)06G+%V*90&64E#;XU-AO7_V(-:L4S*@W=U)UCV\>.*@]0)QF4 M%H'28E!: DI++\^6+)'!5,9F5SDZV))_9V/CG[0^>ICVJ-0@W>4E*&W5TTQ[ M&Z )8U!: DI+H6BR%@<['9O]=%F+UTE+-XYM-\"6KU8Q4.N[IYEV.$:::%L< M(YWW<$B(TOEDI-WB%JCA '6506@I%D_4XF,K8["K#[\>/JQ+28%UBW=-5:L;J M02I6?5=*,W M<5RUXNA6L^>2(+#4Y4AO-[=56CK:"CLA]L\L1X.IB\VN+O"V^_A$ZBZHXV+/ M)YHK;.[LY*D$]86O?A^L8U#0&I:U :1$H+0:E M):"T%(HF'TX<#&9B-IBG;++W*/E85: N3^:$DT\/@KK+H+28Z'ZP/AX):,X4 MBB;+9;"7B=E>_FN[[41W.RU5-:!&,B@M J7%H+0$E)9"T61UG1R5-EO.?VM# MU? 0:]@PTJ'--=#_7)<1VU7,=H%D34%H*19.5-CC7Q.Q<2TK[Z8> 8/RS MHK=1C>F'@;%:R$ =9E!:=+G[,6C"!)260M%DS0P.,S$[S%/WXLF8IVIIETN@ MYC(H+0*EQ:"TY*K13:%RRI(9S&]B-K\!=^.);O[.L?J?&.;N3!83J'L-2HM! M:$+JZ_0?J*H/2HJO?10R:-P&EI5"T M@]86)[^]T/[:AY#"4UYR5+!'@;?>^F*TZL,/:!P>--6N^SF&SU735-ON[H;1 M-:O;!N+UQZIJOC]H?^'A^#,F=_\#4$L#!!0 ( &F)JEC*44DY7 @ #LG M 8 >&PO=V]R:W-H965T&ULK9IO<]LV$H>_"D;M=)(9 M*Q+^D)126S..T_8ZT[2>^G)]#9.0A0M%J" DV_WT!Y"R(!$+V,GYC471"^BW M6&"?!Z6_M"LA#'I8UTU[,5H9LWD_F;3E2JQY^TYM1&/_LU1ZS8W]JN\F M[48+7G6-UO6$3*?Y9,UE,UJ<=_>N]>)<;4TM&W&M4;M=K[E^_"!J=7\QPJ.G M&W_*NY5Q-R:+\PV_$S?"?-Y<:_MM@2O[]B<]>@L_B/ M%/?MT35RKMPJ]<5]^;6Z&$V=(E&+TK@NN/W8B2M1UZXGJ^/O?:>CPV^ZAL?7 M3[W_W#EOG;GEK;A2]5^R,JN+T6R$*K'DV]K\J>[_)?8.9:Z_4M5M]Q?=[VVG M(U1N6Z/6^\96P5HV_2=_V _$40/;#]R [!N080,6:4#W#6CG:*^L<^LC-WQQ MKM4]TL[:]N8NNK'I6EMO9./">&.T_:^T[JJ6QX^JM6U;+B M[O:-L1\V;J9%:HFN>+M"/]O8MVB,/M]\1&^^?XN^1[)!_UZI;QIAV_=%(?]V@+;M!6VJU1G8-:FYD<]=/8FFD $>M[Y7!O;KU M_;[=\%)B='BA^]P/OT1U:D$G^Y9Y MU]+EG-UBC*>$X//)[E@^9$8+S YF)\*R@[ L&9G+ZK]VB?6SVRB;EDK5E+(6 MJ-DK=G?==>E"N'6+PT[UE\8O>\WXO5)G)\.4'X8I3\;OH["=EI*[Q LYVK?. MCH*#:67 ML:-B986M;:G01F,^#WX]QS,ZD!@:%32/B,13CZQI.IVH9MPMR%I8J>C-K6C$ M4IJW2#PXR0(DT#20,@[D D8,SR)RCPB+GUD]2Z%UESKLH ID^$-2*0Y$9$.= MH4DL])AXF20I\VIEEXYP^6W)I48[7F^%FZ8V);I<9W.DNVQEU24_>%+L?R(U M:P&3@DPCXCUA<9)?B\NRU.)I8?$=ES6W26!LR]QQRVOGU4[L$SVHFX:S \_( M4#I@1>RLWSH4S MAR30#0:X,4QM@%$>F^.>HSC)G\5O@/@^ Z.5J"MD V'IFI*>A5-Z/AM*#XU( M='UZN.$TW?XP*Z%!32&R@MD9!A0QN:8Q()K.HC\AC^ZL(/Z0E".\3S+AP(!GF9%1* '*DD#U3%I*\ 1+;?:9#.6'9G9K%)'OD4K22/V+:\T;RYXGD8^@1(")V3!O T;9+%*P$,]-DN;F MC05[ZZHID9X#(>_(,(T#-AF.I''BH4C24(R"A80<&],B""M@%:N4B*<=2=/N M]V_=S1( =8P5P\P)F9$BECJ)9R)YAHF#0Y2^HGN![%>EW6OU=CH(GG8D3;OK MK2Y7W.42N,QMA MA "<%\.='&"4DH@!8PV-1P(K,21[QP:.5LJ]*MDO9\*9\ M@>@DL;_ZR/J5>CL=!(]OFL;W-7_JK3 M--5/THX+,BRC(*LLCYSE4H]BFD9QM+BCP+ELD'M"FY@@ MCU>:QFM0V+UXT0([RGDVW,1!5ED>*0J81RI[YBS7JJY$J;N37"O:>7#6^^'6 MW,Y2UCL="\]Q]@S']U5DO(A$C3+H MT68B=P(&C@=P\#S,Z8 -91&P,P]VE@;[Y?[8UYWINF=(VZ82^FC/WCT"@V/X M/- !D]DLLM%@'N@L#?3/CMC0#T0I&U@RTTC%0'S%0%+5P17?0(PPF6Q^-SN.SE^M8*Q M($\!1O/AY)XSNK1=TQ;?_RSN'NX0VPR^Z]I\']#_C]5?\>E^^F M?ZWL$]=W+B:U6-HNI^\*.V2Z?U.K_V+4IGO9Z589H];=Y4IPNV:<@?W_4BGS M],7]P.%]N<7_ %!+ P04 " !IB:I8ALS-3;\4 !$.P & 'AL+W=O MYHEXHR['CMRI9<1+7 M.F>O:>>NZNH^#&= $O%PA@O,B)9__3U/-S #2I1L)WNU6XXX'#3ZO9]N@$^V MK?\05M9VYN.Z;L+3@U77;1X='X=R9==%.&HWML$WB]:OBPX?_?(X;+PM*EFT MKH]/3TZ^/UX7KCEX]D2>O?'/GK1]5[O&OO$F].MUX:^>V[K=/CV8'J0';]UR MU?'!\;,GFV)I9[9[OWGC\>EXH%*YM6V":QOC[>+IP?GTT?,SOB\O_.;L-F1_ M&THR;]L/_/"R>GIP0H9L;V+HF(;#QKTCS8-B2"_._$_6?1';( M,B^"O6CK_W)5MWIZ\/# 5'91]'7WMMW^8J,\]TFO;.L@_YIM?/?DP)1]Z-IU M7 P.UJ[1_Q8?HQZ^9,%I7' J?.M&PN6/15<\>^+;K?%\&]3XAX@JJ\&<:VB4 M6>?QK<.Z[MEKORP:]ZE0%365"6[9N(4KBZ:#RLJV;SK7+,VFK5WI;'ARW&%7 MKCTNXP[/=8?36W:X9WYMFVX5S(NFLM7N^F-P.[!\FEA^?GHGP5\+?V3N32?F M].3T[ YZ]P85W!-Z][Y !1-ST38!LE:C1MYX&VS3Z8-V87YR3=&4KJC-# \M M/+0+YG_.YZ'S\+'_W:!L/P.,NT=A4Y3VZ<&&>_E+>_#L;W^9?G_R^ [Q MS@;QSNZB_F^Q\+]W!_.\#R 1\(=K7[F%-;.V[KDZ3,S+ICPRW_[M+P]/3T\> MQ^_ET_3QQ,3'?;C^9'OCG;;WPZ/6FVYETS<7[7I3-%?QV^^,"Z9 (%\B06VL MGR"ZFGX!2_:>GT2>?K.IG?6T?@$Q?+> *"T_SEV[\6W5:X[I6H2C+H$570E9 M75/6?27B>[SJ;(?VD_R:NFO MVJ7%4V&71'Q;UR",139[C]^"V[I="@%^W*P*Y,/2PF1\1(8]PB$89"N/3'YD M7O?>7&"#&1[ D1^= M6[M/U$YK4J28$AF=:A83>PN9*#=2O:PLH1EPZ#_8[LA@NV!-T\+4^RU@HBV# M[(Q?=M9U\B#B5GT=7W%_(\-*E43U[!,]K6:L 4[H&9-OM&A:_BL M$KY-5:PI(U=7MNA6JKJ9_=B!)7D#N\+^(3H0F3.,O^A7<+!5#X#9X.YI2H_8@(")+OA$52]RY\$$;<&AM=BO.UVP99S19K V<2 M!-! '.C/FP4<&5KDBU%3D\A*_$!28DQ#($%/&?65_)W5>&:+9/[1)R_%GQ $ MG6AUT_M-&^SAO'=U!TZ7KLK\WO0!)%U4&/>E$] ??+&Y&C1Q\?.[01-"&?G) MS&$R)W[/L!<>H:2MZU9FA8*.%WW;+U>;OC/A*B"J8DB,D7K=2HB,%;.;[C'W M\@R!Z3:U3>_Q6U]4C@XA>T;U@MS\*G*"$"Y7C?M7CY=[E$Z/U$.6\$?-9,7L M$\-6XP'>">=0J9EE%[Y=F[I%FJ79J2W@!_%!];)W2#&S=^=OH_)WO2M@Q9HZ MKS3I+;"8NEGX#'%ZM!6NKG24#X=.\6(84I4,DKFR] M,44%WAWT[_/,=AB(#B764XK*]J)2(*Z49V@U=-BF\)7[1)Z9+!+_T2C"QA . MDDT0$B'I>=">>C9B8(6(Q:L3LUVY9KL)A4JF90[M4"I8H8TK7M^<:DP<%"\E=6 M,>%SUTM4>/7WEM'$K<$=7#^C&Z**?-$LK3IF8Y>:I4]/$)5G]Z>/26!X^O#[ M^%2YM9=M=-,]=2^IZ$:-W!0(R4L[J(/L0NHFL(3G!*C:N_TJ[*E\49-?61U' M:)#8!MAP-;9+.4,53IZ0>NM#%#U+MLL/%'NO2:\9(DMNHSD*=A8VFH >F9D' M@C3F'.BD-M,'"JPGXKT1*QF4Z(I\R<(5\T/H29:1T'<26F0N0'8;(V:]1JA@ M^_(#/_]<([IKT -P8L@0YB&3FA]M76P9.66+%._' -NN6DG&6Y:+T,^#0\7P M5XF!Q%A*[KOT4YZ?T*=^OGAI?@'_>![2NHEY]>J"F=R\7@'(U< 5=)C:%7.: MXDJRWP[]C,A015"60D^0BUT*= .4]4WO$4((^O,E HC-@?DV Y\WOQYY19(2 MM&6[K;7-CIA\OB-'3G-7=O,C_#9TCH9-M"6IFMO?0TIBPH?3H\[0KJ)QB]H# M]E%L5$1NN1B:'Q@:.20HN&FHO4(LC_8,D9[ZLZ/KN[H@*=K"O>WN6J"O F$) M$FVOF&1FU]2!B'FOB9T+UH*XJ&((!"&&5G'45AA;19:^5GBAHTFA M4-!*?T<,VXTH).N;@"%*PHZ\:M-K>I.RIX%Z3-7 J,C'H5KT?BK*L$;T@^;75D3E'KY8Y)/2&9%4Y M"."UUG0K )E1X",SRQK4V_6@4"SI+5-(UD%.'SP.J%J=I&KTP'. O,NB[D5V MU]!76H]T$PJ:KRL^YNJ:R*N#MVB;%\^,>NDCVK>P< M*-66T)52I_JD$"YZB?*R""NS0'')V]*E;[?=2N $EE0NB-^ESQV;,4:/;!@R M5)]K2FPUZ%'@.-S,*M82+L6&08B^C3!9VJ+]E52\^ M6D6\0Z9'!XO^T3,5L$^05D$ \:!?M,GM%D'"X<0=GI_ 2C%(+"[07"Q(A20 MG)+%@%=3^4I!.DVG.N0G17%X=H4J)1)\:%"A=R6@VD 5_(QD(?;*$8L()J*B M/8!Y:2-P ?T^[/$KR40.792M'21.&!.Q%I#2Z0W:&9'+TOFR7Q.*E)3N>1&< MN,XF']^]D^19P//I9!ATY<3WU>) P;RYMH(=9\(-Y'% ME^M1@QA.*_,)*:E#,9R,X9("/D<":K ]]E1)1?LBO@1 T4AKOK>@:>V/[]W& MC5D5["J([\K!!)"S!1B0EB6#E%+IN7 VY'1A]\7'4D*7*EP#B5.,' _.7ER, M"*"O;7)>)A:-*W%D*:@M4RN"<;U7IM2,_S&_"2O)1QJP5<0]O_>-SDJ'#OE\ M)/T%,4C-BN.0?1HMXDF19#34/@\[5^.]%0#!E,1S'3,].?S'GN!=P!4*C9WH MMUX9:N2L#"[/RWV7OS+@T>Y-G.,%Y>&+N5TY"23>Z=#24C=6P(1RZHWCBT!4/='3J4ET:KG]>U!F#J-P<##K.* MHE2YQL1AV:XVXA :4^.!U1&V$\.W&]<,L#)AV,G@(T,$_?F*D"7_B6*BT,5! M1=O US2/3OYLN1C3TZ8-KHNS:RT4W&KH$=4:(]35T-K[ZA#L*0=&M)CWI9\M MQXFR0I,1L0F*5[39PK]RJ44PML59VA0T:LV?#V)&0=)R%4 =R'F M;_,"O6QWI>;]6H[H#3_%Q@>&DJI:(146/NB<8%^]R/.C0E%U'2L5'OT+"\1@ MRD4L;,2WS:7S;:,A)S%R2[?L[6CIZB9KII<3!=T"G6JJ^UZANC:C\VAGO<-! MZ1_O[Z&O[::T"_9D2WN=-GL"[7=CYVT+X*W4<+\5EQ?\D/EO'M;:1J3FGK.= MH(,1J^<*#>6!8G8=0:BG=_#A%R,/NDI<^ M)+SRF5-3R<0DH,$NI84C@%KR* '+5YR@MS*S+2D>XK3M?6G3.N9>)9D7'B@@ MLB!=3(A<27?=Y#..OG'=3GLU>.?%RMD%L"#2JJ2BUXN%*XER4>/CE,V4\L[8 M'"0!1![/!*H2C\GUVI"LP/^72TK;T=/84C&QQ?,X!4TJ>>P],MEC^\\OLN0] MGB/NCF'VW1/@\;#-"E_3[EPM*&,#&Z'R/@K9W.BS7<3$%'KJ)2 ^$OW<58;* MAM*[N99BSBUWX-V1>>7@>!4G'EJ5-J[3#B?7\T M-6M7UZEY^>O]TZ-[PQ," B2[B19 CO]@!:W-@IXO"U?3Y0YAA4,.I78&1N"+ MY0ON5%])"ZWU1N:Q0Q+B&S$T!/G&1=087XRSIGTI2*2(O7Q,J!GE\53S#@%T M1E"+5E-:Y0A(SCIZAH!+0TZF0]*O!Q,TUE:Q,^9V1= ,V@"4F6YKZ\O!/]+$ MY-H8LX[ IELA$/X)C _8 $!PLZ/X)R$_WHFP;W@\(K^W4623P=2_!_-[7\6,.&][ M90#_E8D3%:(NEB;Q5-E2X?J08[,2G(X2AO&10X@+1IOSG =.0!:"#/UEHTN9 MQ<<"**JQ(-'R4LIHJRN:6R_H28'9Z,&."%N@E?<$3G*%0, E)$XCU=&->\'>-YE445$Z54*BB")B6=&WZ8CFY]4DM0FN8JP=^$T+;[AL9Q37+0V-(3J@SM&[H=B\Q%2T: -G8;J1&U*]6D=?"'FDF8[J5R\?I2?IR^.)"OYCRBQ-95=-W!A=(#$JP+(86+CF2(PI@>AA:\MWC MN03F:< >:M2$I2J13"E:&/PO[/6WX3K,\)[<*_IJ5WVT3Y]OXM6?Y"-E'F"Y MCN.5/G-&79U1B0\>GOSWJQ?FIWAO97HO:?U(=C1=:BVSC1+58+Z=?I?)?NW(]?0[\Y"^\N ' M_/,"9MV@>OSJJ@IBO@"PF)CS!0\[S+-7#SH!(\%Q-)2[%;EG2I)FXL]YI8T7))CMS%'I^ON3A M4\T[N0O4<.%,3VOSBQB[YF<2O0!>J8HCV,BF9B$)]L>T+IM.>-S%VQ@<;5=: MFG0G=C\\,H6*MY*FTP'?& A@([79O&NIAQGHLR(!E6ILIX9Y.6%\;+(/Q#T/ M,HW%+S2"56DZ@W8_V*X[GI/9N$M-O M$DH:2NZFN*()$K4]2> N@J=W$&0MOM;> CJWQ+K::[Q,3>IX,8Q''475RE65 MA5P0T).FF)MMLRKB&UL6;5LN-; M(KAL/ ",O7C1[([WV0-ZX4%[L:2T*JO-!3,!).258X[S!/A',#?1FX/I?MQ( M3IKU2=)5^#UJUANX=^U4+UQMI*B"EU\-=8IOI[>1$_NXOD\IX8#[,I'L,AX=6WS MJ5Q.&ZA!@4JO]_S.-QO+VZNI,7K!^%B9"PJ9QI[9>AG0:7W0@WFYA#HQVW3, MK'["8>AB=Z1/%:9;)MG!KMST*71"(>%#6]YQ2BP7W+-S8:C\/@! EKBN']]_ M#?>#PVQV49!RELUE90(K8"AU7,-2.7&+>]N/'=-OQ!,9T-EQ180K_45G6[LX MC3\"T-D<%F73W.A(B@D'U 4EF@:4G1P_N'_"7)*OA0]=NY'>2\[9#>R!_ MKFQ16<\7\#UOB:0/W&#XX>RS_P-02P,$% @ :8FJ6,!5>\OR! ? L M !@ !X;"]W;W)KV,?;&Y5)ZNB]TZ-E9 M)=9R*?V7ZMKBK=^AI*J0I5.F)"NS\V@V/)V/63X(_*[DQNT]$T>R,N:&7SZF MY]& '9):)IX1!'[NY$)JS4!PX[;%C#J3K+C_O$/_$&)'+"OAY,+HKRKU^7ET M$E$J,U%K_\EL?I%M/!/&2XQVX3]M&ME)'%%2.V^*5AD>%*IL?L5]FX<]A9/! M,PIQJQ 'OQM#P ,;/ ([HRI0^=W19IC)]K-^'?PBX)6P1S0:]B@>Q.,7\$9=Q*. -WH&;Y8DIBZ]*M>TR$6YEHY$F=(EQTL/ MZ7#TYVSEO 5M_GHJ"XV1\=-&N)5.7242>1ZA5YRT=S*:OGXU?#=X_T((XRZ$ M\4OH/U*T_P5(%[7E?/E$& MBN2]WZ6 M&#$ZB'A#=7DG@YLN%R@?)P4CZT;ZMSP!4A(;8=-PG$CK,?I(%I4V6PG9N@(F M,J4L-3EHK*0/*G(U?0*1Y<9@^J MX $*KTQ*Q2,C4 U&4'Q1;E^_.HF'Q^_=,R3[*O6ZOFE-_1"]9]KGIE[G>U:?PD<(;9BA!Y*FA5MG0?DF2DYUCI8SEOOEV^9! MSH9J6RY!T]\7,I'%"A1L6WS$YO'QY"]K8RU-%9,\(#W;7ZI,N+SH4>5S;AF! MJ=$6BJT&C]&E^$I35=O*..F:ILB,QO(0Z"96FCLU#-50TV#^;WPHNQKS7%GL MQSD7&G%*6H8M1P2B_C&%JAT)H,,;]GG!7WQ4NNR%/^)WDV& MO=%@@J=A;W(\"2=Q[^1DP+.J+NIF&&/!4@DZ[& T'/5&X_B0#H+X(9^,>S\/ MCP^?^J#V]S:B0MIUV/O8-V$#W<(]_0=02P,$% @ M:8FJ6%&B=7[-"0 /1P !D !X;"]W;W)K&UL MI5E=;]NX$OTKA+==M(#B^"L?39, 2;J]6^ 6+3;MWH>+^T!+=,RM1+HD%3?] M]??,D))EQ_8FV(=$,D4.9\[,F1E*YTOKOOFY4D'\J$KC+WKS$!9GAX<^GZM* M^KY=*(,G,^LJ&?#3W1WZA5.RX$55>3@:#(X/*ZE-[_*5= _7JK3+B]ZPUPS\H>_F@08.+\\7\D[=JO!U\=GAUV$KI="5,EY;(YR: M7?2NAF?7$YK/$_[4:ND[]X(LF5K[C7Y\*"YZ U)(E2H/)$'B5[#DB>;DM M/?\7RSAW/.F)O/;!5FDQ-*BTB5?Y(^'067 ZV+%@E!:,6.^X$6OY3@9Y>>[L M4CB:#6ETPZ;R:BBG#3GE-C@\U5@7+M]+[<2]+&LE*B5][100#^>' ;)IQF&> MY%Q'.:,=^2- M6T/'+&^\S] _V=!WVN>E)5N]^._5U >'V/C?-INCR,EVD<27,[^0N;KH@1!> MN7O5N_SUE^'QX.T>A2>MPI-]TI_AF;URMFNY7;CX0#3)K2NDR14B,R.^V(7.Q>EHD(D.EA]7J[V0IE@#-Q.O?OWE=#0:O%T3P&/#MZ\S$>9* MW-AJ(1%_+:.6WNB)O:]\47B,RE M0HNC6UFZ'?&WRLBYH82[]G,WA&_6]UA!%%JJSN!"/J01+,:HJU4A2BVGNM1!0Q>Y6#C[0R.?J*XQ4Y7+VBO2#Z!@V,^M M"V!ZJ!TOW&998PW2Z3<5:%\DI&D0GD#A59E8SG4.4YQJ=(0^R.5"0I5[J4M: M=8"! R]9;4S,2^F]GFG,I! :@H7Y<2_U;TJQ5#8YG8$R-B)'4OF6CGI\OE# M:]-2";I\KRUM'I45"Z=S<@TT*8-R1E)VYE$RS\,L>DPH5K90I1=U (0_Z6&2 M8*<4S&RU-HL:X <+^R$,>5(E&%>*[0P-0K"TYNZ 5C* #6K:;\'B"99G72_[ M[A2@3MM-K4,V@!H^D@RA52CGHYL"1$,5Y8-PO#[,,=:-FP1 ?$K.S(E#CJ$H MK30I6%;[LIW:W$/FBJDY$C94(-[CUFMH(+E2=FR&OM'>,;SH*+P,QOXTU!QL72UF6! MT$[T!Q:(.G09)4EANRBF%U+S Y06XV>@CFP-?:#(P5QD6>7*ASA%QAYEJL)2 MP;B&(](%\ % HO$25QZM4S[/-I5/LP^H.2G6TCDKC$22-&ZY48@XUYJNX^+T M+5LGFXG#4+VA:-?VJ: F^Z!MA(-V7V?AS);H1_U9F].H* V';\6G MQUF%8$&O2(UDD\12]GI5&UG\A2Y-%:_9K=QC)@PC # >@92CTJ2@[\#%:;W) M)[L5L)Q\H8;9V#[6JVAH8P?MZ76%Q.ZV[Y@]$M+J&Q,-:&YL:&S!XKA_%PV: MTTF_Y&=)T0MW([$ANTG:8/K0G90"JT"7&I6LT7DAO%"$B064KVJPB)-PK(( MO61!>Y$;M\A]-9WM>)^%U2;Y@7G\*%YCG4XX K=0R\@%Y!C'-<0QR3 W4'G4 M,RS JF0,8T24WKW#9BIN;+O-]:V)4OEHA77MOA;6T>E[_:,R^Y$T<& MEJZT% IUR0)9$=].;F.'E 'SN+(43:HC5#!$\J O*L]?"'[*^S7Z$7+,O3(U MM0NB0+_'2\CG-'G2/WI)#YSVWPYFX'#[I%/"X/%!?T3S&+![2SJRL9AW/'@9 M_9*VV7@\/'K9%[?ZSB"?(^R &YAQ%R.92@X#;+N6PH,V@I!2&=([3FV\ AM M2MI2VKM9-3FPX^%_*0.O(8RS5I$(E<[Z'%'-Y'V,<1V!$=D7]MJU#"MM-0_PZ]M$0SFVS&27SL)69.S?7_)SJ M=^Y@@1*O"A7O7@.>!TL]5=/@L#Y4M.,NW28%F4EE^WJ-5"!X9"RH>V+ M *PE.A-U8&=-.:.W M9+&/+?F$_>Q:$*M)D.Z.^O^4*AR=3UTZURGI##&"7$>A7E'-70'S@.>"3AO% M8\,X_\PE<1T]Z'K\D:@IG<_LE$L.AF2.9NP^NCCF,1+>'%2?ZWX*Y\$JG(FX M-M?L<8ZS)_J,S&Y+6SJQ_9-P?&80MHT =Z\(0WXG%O'^2'UK"S;#Y%0\5AE+ MP=%]E;+.M(X#_T[PA!1:O=[8<=):Z_1:>C_U_4ILGEDC"@:<2Q!DL#RY*5&# MV[*3M_[OM7F& HF4&R;SBZ?'/&V[I1:X>)[8=F8_$Z\^T$1;>TCSK^D@\WBC MILMNFO:F!?UB \R[8O/.T'JMOS0ZHY8,A:/M&M/+HA=B>)R-C@>X.4A_:>#J MT:N9SDN=,_&U?]L7=Q9ETW!.6ST31]GIFR%$':2[&^L6W(]OOAK"C)/L='+2 M7C]QF_]XUB@[/AZWUVCI"S$:9<.C(6D\R(Z&C0ECFC1,V#U.,,\':'24#<:3 M#D!IX)\ -#P9)(#H;A] ;[+CDTE[W070,'OS9M1>&X#&@VPT(,V'0V!RG-2? M#+-3;!JYST6=DZU9O2I@Z+:>>-K7 WN:TY("LIB1XUCHZ/_+9V6TX@B;1I][-$9\H&V3DZKU-5EE3J M[K0QS?%'.6T+7DJH_<$YXF=L@ R"N+3>BY/1H"L6IJ\)I @\%ML^ M%AQV/NE4"N6>/EQYP;R(7W?:T?;;V%7\)+2:'C^LP6@8@S.LFF$I:NQ1#X7_ 5!+ P04 " !I MB:I8Y5L5LM$$ #B"P &0 'AL+W=OK_^ M2-E-W2UK!]R7^]!&DLF'#TF1XMG.V#M7('KX6BKMSCN%]YO3P$03];/$2E6(@HO&EP>SL3;)B>_V M_FOPG7Q9"H>71OTA*.]=Z. -WK9NPC>X-*#T#E MI'L/TN?07\K/3RO#8BND$DN%/:KDGA,*P3T&X&.!<&G*C=#WKWZ9)?'TM8.- ML7YEE#1@5B"^5ZQD2K\]^CN>=)N3F()B29^H4*DOG^A,H]DX MAAB.QUU>IU/XG?RUW\G%]"TAW..X&]8Q?#1>*' %\>IYM"7$XVA\,F2L..F& MW?3D)>^4T>M:^[#963)JC,Z2I#%Y.&-'$$^B-![Q@KV/1]WF;!A3T618+@F_ M2=OH_Y:V>'+2$._5^^GPF:2=1)/I",9PG';#.OUATM)T1*B]L$H/I&P2);,Q M3 -2V,S^:\;&Z1@X9^-T]G*^9J,A+_@?,VC.)M_6V#=Y>,S=8ZK>5 A2@]$( M]R@L& L*73!37\NCAQO)DF)%'CP*^\*::EW BI[6<%)?O,_.56B#.^Z)0U)GJJ(WG1Y)R_M%+P[16/02N*&Y":E&Z:,WV1W3 MD9_QZZU1$5SKK-^.Q%':C\E/I;B2F1^;KE/L '7.[GYS9=G,=UTG"L<-F:M# M%&Z$_OCNZL,"+NV](2Y5\/8 H[@_W#,2(1P_0Z!_Z"T?M.:N$NTZ3)?\!%;: MUR/8_G0_P"[JN>U1O)Y^B<.:>Z3"%:D.^]-Q!VP]4=8;;S9ABEL:3S-A6!9T MI=&R 'U?&;JZS88-[,?Z^;]02P,$% @ :8FJ6.J:@..& @ HP4 !D M !X;"]W;W)K&ULA53?3]LP$/Y73AF:-BDB/VFA M:RM1&!H/2 BV\3#MP4TNB85C9[9+X;_?.4E#D$IY2>[.]WW^SO;=?*OTHZD0 M+3S70IJ%5UG;S(+ 9!76S!RK!B6M%$K7S)*KR\ T&EG>@FH1Q&$X"6K&I;>< MM[%;O9RKC15+G#'R\JZ0+"<-ZS$>[2_FEM-7C"P MY+Q&:;B2H+%8>.?1;)6Z_#;A-\>M&=G@*EDK]>B\(+ M%,(1D8Q_/:3@IK+[L^>^W,8 4[#=P!Q#XA;W=U&KTI;9H$L>ENY1[JVF5$\XNK^432JLT1S,/+!&Z<)#UX%4'CM\! M)W"CI*T,?)01#[$89P>X$N&ZI*6+_F@NA>X MY"83RFPTPI_SM;&:GL/??15WA.E^0M]8!!_83>\O.G:!)^.R W M'>2FA]@_NHR#X/W21HPPMC-%;64LJ )LA5 H0=W)90G,N!C=0U8-%P%,YG") M&=9KU+MH,AMEO5G\E:U)P) T<0IWZ2A,Z8^'%T M!@_4O\ E-%J55(&!B3]-IC#UH_@4KKCD],QS*)7*#42QGZ13B$(_"L_@I[), M$/2UP"-($S^-TMXXF<"^^PE&C5.C+MOQX$YG(VW70T-TF$#G7>.]IG?CBPZC MY-* P(*@X?'TQ /=C83.L:IIVW"M+#5U:U8T15&[!%HOE+([QVTPS.7E?U!+ M P04 " !IB:I8J]A(<(H$ >$0 &0 'AL+W=OGOU@B13G#&?.7 AZMI;JA\X1#3Q69:TO>[DQJ_/A M4"!YXV'E2CJWGQFO]VI^4PVIBQJ MO%.@FZH2ZND:2[F^[/F]S8=@"Q]P(@: &!M=MM9*U\)XR8SY1<@V)I MTL8#ZZI%DW%%S4&Y-XI6"\*9^2[:X8(7<"'"O4 $*_#X$71$?TA9UCH=47'G4,_KA::*,H]G\> M\M&IB ZKX'HXURN1X&6/$EZC>L#>_/4K?^Q='#$PZ@R,CFD_POQ1W&&K6F^_ MY@@WLEJ)^@ERH>%!J$(V&JB&E3!%O822!4$L%2*5EM% =0TRRXH$P6KMPUHH MS F%ND^95C<9L=:ZHL?C]@7B0E&.8/B,6)<*"NQ58?IFD M!)6A!@=%[=J@ZTB\5*^%$:C+K%XB]B)_3"7QX7@RMQ&@*-H6" M"[C/I3)OK?^[$E$40.0%\%4:*K[]5N%D_'[HC>@93*?PC9J*+9)=@7#L0T![ M.27/3?3[X_'8OD>CF-CA;F(*M*1R-3OIDI06I5LXG.1[[.U1M25H2X3%O9EN MPM.EPAE9$_2CB4_O,)JRW C"OA=Z$#G"Q[0^FD00QG9U0M,@]F@ZX6E,4X]H M\\.($X4:6D:T0M2/IV-*J5T25N+)-5I_0NR%3$8/I M&;VCT5D+;YL/]?"RP6W^[=)$E([Z01!9;J,PAB/'TJ@[ED;_\U@ZBCL=2Z=C MZ70LG8ZET[%T.I;^U;$TW+FS5JB6]F9.+8TKTUU?NZ_=Y?_*W7FWXNZ? PH( M=6AN11E!O<&$3BKE;N-N8N3*WH 7TM!]V@YS%"DJ%J#U3$JSF? &W5\B\[\ M4$L#!!0 ( &F)JE@.0'AT8@, +4' 9 >&PO=V]R:W-H965T???=G7BW.FCSS5:(#AYKJ>PZJIQKKI+$ M\@IK9D>Z044W.VUJYNAH]HEM#+(R&-4RR=(T3VHF5+19!=F=V:QTZZ10>&? MMG7-S-,U2GU81^/H*/@L]I7S@F2S:M@>[]']U=P9.B4#2BEJ5%9H!09WZV@[ MOKJ>>OV@\+? @SW9@X^DT/J;/]R6ZRCUA% B=QZ!T?* 'U!*#T0TOO>8T>#2 M&Y[NC^@?0^P42\$L?M#RBRA=M8X6$92X8ZUTG_7A#^SCF7D\KJ4-7SATNK-) M!+RU3M>],3&HA>I6]MCGX<1@D;YBD/4&6>#=.0HL;YACFY71!S!>F]#\)H0: MK(F<4+XH]\[0K2 [M]E:B\Y"A;($*C'E6;E5X@C9WR>\1[GN4+)74";P22M7 M6?A-E5B^M$^(T4 K.]*ZSMX$_,3,"";C&+(TF[Z!-QG"G 2\R2MXOVM='H24 MP%0)M\HQM1>%1.C#OQ&62VU;@_!U6UAGZ&?YYUP:.B_3\U[\ [JR#>.XCNB% M6#0/&&W>_3+.TU_?B&$ZQ#!]"_V'2_7S*'!6R#4]/>M [\!52'))+UBH/3#K M950B7@TU"HF]08YU@>8HG5R=:+VX?'^K"%2WELSL98?@#>"^$DV#QD(C*8\E M" 4^CX(C7, RGJ?+L"[R'#Z*1U)@YZC/YDL8Q]-\ 5O.V[J5S)%JB505+EAH M!^_S.%VDEW[-YMDEW+>%TXY)F,99NH!9G.;9,QL?G<$.ANNZT8K<6,^N,;IL MNPZ3Q?DR]]_9&/X,6!>0Q\MT2NL\GH\G/XDG%)=MB6"/5EY3HL/>G)5/X#04 MZ".3^LEG@R[^G[FV\?VO;R=4 6U*-/$SKE"APN2:HPW%+; KM*6222SC 'Q" ME#TP(9E_09Y *RCY1[01?$$BQ_5>B7^)QT4ZFE/GDC(T814$BT% KE^4!1]I MW%@
PK:BH:+P"W>^T=L>#=S!,ZLU_4$L#!!0 ( &F)JEBL&N%2' , D' M 9 >&PO=V]R:W-H965TE MHC2. M+Z*:<1G,ISZVT/.I:JW@$A<:3%O73+]U4RY(9O%;B&R]M-0O& 92X8JVP MG]7F(V[K&3J^0@GCG[#I<@>T8]$:J^HMF.8UE]V;/6_/80\PCH\ TBT@];J[ MC;S*&V;9?*K5!K3+)C8W\*5Z-(GCTC7EP6I:Y82S\X6F_FK[ DR6@(\M;^C$ M[32RQ.TRHF++<]7QI$=X,KA7TE8&/L@2RS_Q$6GJA:4[85?IJX3W3)]#EH20 MQNG@%;ZL+S3S?-E?"@UA(9BTOMX/NWKA^^726$V?R(]#I7?,@\/,[MI,3,,* MG 5T+PSJ)PSF;]\D%_'[5W0/>MV#U]C_H4'_PP-'PH6B:V M+M? C(M1)1 DH?C/(-K.@NKV\Y%N'Q'&M;49P.#,$E2R,)\F,%# MN[3*,N$J'*4Y9'$X'.6DW9@)7!9%6[>"62S),>@C*3CS;*=)'%Z,1V=PFH?# M.#T[<@0A2++G$TB3,!ZDV\%H1,>ZQX7/9-3&]4I#<_@D-]2]D_A\1$8BA/=$ M6J9 W@<OTPXK^ M5:A= JVOE+*[B=N@__O-?P%02P,$% @ :8FJ6.%'P?[=! Q@L !D M !X;"]W;W)K&ULS59;;]LV%/XK!UXPQ(!JZV)) M=I88<-*U#; 61:\8ACW0TI%%E")5DHKC_?H=4K;C)JY7]&DO-L5S^\Z5YW*M M]!=3(UJX;X0T5X/:VO9B/#9%C0TS(]6B)$JE=,,L?>K5V+0:6>F%&C&.PS ; M-XS+P?S2W[W5\TO56<$EOM5@NJ9A>G.-0JVO!M%@=_&.KVKK+L;SRY:M\#W: MC^U;35_CO9:2-R@-5Q(T5E>#171Q/7'\GN$3Q[4Y.(/S9*G4%_=Q6UX-0@<( M!1;6:6#T=X=-D $5GK&JVPH2@X;+_9_?;.!P(3,/O",1; M@=CC[@UYE,^99?-+K=:@'3=I@1)%$ #^:^_1%GXVPD?)GL?)J>T_T323NH[ MCO:T$=B3]P>-7E@2T=8():\JU"@+A"7:-:+TUVVGBYK:"%K-B>24NVLTEE./ M80D5XQKNF.@05 6\)(6\XNS -"N^=EP3JQ,61.*"6X[&T;L&R]$#ICTKIP$ MR\Z0Y\9 H9HEE\S/!6ZHBRUJ:B[BLPIJ=N=PD0AU-Y?<(G0&JTZ0K:I'3#)2 M66"-TI;_0V++SA*_L306'=&2.\X5I8$W+3E$8XS8+0ADA@Y2=DR(C4=5%$J7 MS(5IS6T-B_0=^ Y%M@L4>]NDPLXOW4)4ITA.FG&^P);"VL_UERL[U#3E#X,Q?"QYB< M+^"E5A3O&Z;UQ@'ZY/.Z*(JNZ81/]QORX!'Y\\[F8FOS8V_S#Q?^0Y$$TBQWD* MF M:>XPQR'A2B$?13^5FRR?3$V1 BJMV0\OB#^0DGOJ;B*(C(0DZ %OT@Z <*WM/&9-!W M_VZ"/!.T>QP;HVMJT;-P-*.W70B_IE!WGD54++L+I\9UM:T).33]ZXKN=3W6 MV"[1 47S16AM]& MZL76M3]=P;B-P=EZ7+=4 ;.=VQK=GDE[%17SRF^0[@7II.W7K/WM M?DE=]+O9 WN_X5(&5O1(T"-0D2@5>SH W6^-_8=5K=_4ELI2Y_AC32\*:L= M]$HIN_MP!O:K^_Q?4$L#!!0 ( &F)JEBZ)(H*L@( (0& 9 >&PO M=V]R:W-H965TMS<\B&6)UA!,QRN^A$? [ZM[3:N@8\E% M#=(()9F&8N+->J-Y8OV=PP\!&W,P9[:2A5)/=G&;3[S0)@059&@9. UKN(2J MLD24QO..T^M"6N#A?,_^U=5.M2RX@4M5_10YEA-OX+$<"MY4^* V-["KIV_Y M,E49]V6;UK=/$;/&H*IW8%K70K8CW^[Z< 8A&\ HAT@B$BC C .DF!899#O^>!Z=)+SC M^IS%/9]%892S7 M;&%0TR7Z?:P);8SD> S[L$9FQ3.8>/1R#.@U>-./'WII^.5$!4E707**_3\< MX4G^X]F_+RA[IWNFZ-4;9*I@Y,,*59%X"+EDW%@;W8&L["Z!X[J"#.H%T>VL M\>C Z]7FIUM)I*HQ!#.?6P8+^#?',Y;X43^F,?6'X;!S0+ZEW32]8/TTZJR9 MJBV..[&)_31)Z#L(0XI> )68DX:M03;@=R5'PR'1]-@WA;PB@7I7C\[8P!^D M-KM>SQ_&$3MVE8(#9:A!+YW^V?XV$EN1Z*R=Q,Y:9?GKWNHSM7,II&$5% 0- MSR_Z'M.MYK4+5"NG,PN%I%IN6M)O K1UH/U"*=PO;(#NQS/] U!+ P04 M" !IB:I8"G)F;'4# "P!P &0 'AL+W=OB#RMR2"Z\%V9W:=I_ MG]DE12F!+* OW,O,.7/CS*X[;1YMC>C@60IE-U'M7+.*8YO7*)F=Z@8524IM M)'-T-%5L&X.L"" IXC1);F+)N(JVZW#W8+9KW3K!%3X8L*V4S+SL4.AN$\VB MP\5'7M7.7\3;=<,J_(3N2_-@Z!2/+ 67J"S7"@R6F^ANMMHMO'Y0^,JQLR=[ M\)'LM7[TA_?%)DJ\0R@P=YZ!T?*$]RB$)R(WO@^NWD19! 66K!7NH^[^P2&>I>?+M;#A"UVONUA&D+?6:3F R0/)5;^R MYR$/)X L>060#H T^-T;"E[^R1S;KHWNP'AM8O.;$&I DW-<^:)\N7<^5OL(UAP]:N=K"7ZK XF=\ M3'Z-SJ4'YW;I1<(/S$QA/IM FJ2+"WSS,=AYX)N_PO=WRWRPB!:8*N#!Z*+- M'0PYX'3][]W>.D._RG_GPN_9%^?9??NL;,-RW$3-D,UH^_MOLYODCPN^+T;? M%Y?8_V>A+G*=]_1U _"Y1KC7LF%JE%I ZSAU!1: SXVV+0F VNQ1Z4Y!+AB7 M=@+,0D<=YU>?X9PW 7$0TU"!9JA"=[#O2V/0-S/DVKI)Z+K"<]><^L'PG(D1 M=72RYYS"O5\#DFP:I!;UBD10&BW!42@LSTU+'%V-"AK&BRF\HY)K8TG,'&%; M44#-* =, :>XR1"9]]BCEP,)I\E"::EHMA 9&JX+NLM%6V E%K0X..J6D%> M,U51E@@BF6I+HFT-2> [$5$(DU.-0X AD+,2R9]#KKQYRRO%2\J,JE@G: M/&G12IS"'1ARAG).05 ^2]"M.09TS"2WOEZ]XW9%U3>(/[4V7+WWV="M)?OV M.K2G_\QAQP13.>7-P1XKKI0/CRP-B7D#MY-LF=&:3>:SU'?@$P_SW?\)W;$/ M;V]N83;)WLZ G@4GD)X!*B<1C>[VY8:K+%U>P]5L,D^RZU/SJ(I?#2=),)R] M7<*YAHQ/IJA$4X6WPOJ_0;E^H(ZWXW-TUT_AHWK_EM'@HN M""P)FDQO:?J; M_GWH#TXW82;OM:,)'[8U/:EHO +)2ZW=X> -C(_T]@=02P,$% @ :8FJ M6'/O_BJ/!P 1A( !D !X;"]W;W)K&ULI5C; MCALW$OT50@F"!% DC6:<>)V9 6Q/@@18!T82;QX6^T"Q2VK:;+)-LD>C_?J< M*G:W6A[9<) 777BIRZFJ4]5]O0_Q7:J)LGIHG$\WLSKG]MERF4Q-C4Z+T)+' MSC;$1F?\C;ME:B/I2BXU;KE>K;Y;-MKZV>VUK+V.M]>AR\YZ>AU5ZII&Q\,+ M6%Y>]WJ'?U.^4W[.N+?7ZF:V8H/(D/KGEZ2Q_IMZ?)RS/!)?D4^W+V2?K MF3)=RJ'I+\."QOKRK1]Z'"87GJX^K6^^H2\R]'? M2Y%W^9G^OISZJ^YL,BZD+I+Z[_--RA%)\[]S*!0E5^>5<"$]2ZTV=#-#I22* M]S2[_>J+B^]6/WS"A:O1A:M/2?_[(?L'XM2/3>O"@7>5WD6B-V5*1-#5W.]29WI*SOKY [J Z+3F6**!N=J<(N2,"$6&EOJ%AIH8Y/ MP+(_:IH:T<9P;ROJ+>'"!SJ^TTXE[4!?<]7J@]XX5JH:3GJH_!J'4QTB1'Z# M]92U@$H7Q7&$.2%-$WSW?<+L:XMP:U2FZ6($IH ;I(RT M@'PVZ&C*5U\\75]\_T,:I93@?KB+9 &_1K'& Q&.1EFP'NG'7:Y5![H;,:D!(E35<#M,RS\Z0'@9):M20QCZ&& D. M\CO72.Y,GJ81+6EI64VVQK9"&,"X(,N9VOFMO@]12OYM5^UZQMQIKO.ITPOU M"VJ]*:I%-D+?AO)>^1PZA1HY$) MEE/^CU,CM4O,6JB&J9D#2!\V$#9^M/=4UH:3CA#J?0UKKD%#+B\[JC>74H8)CH>O/TZJEL##5 M *AAK)$S=V2HV0#D?O5RH5XC\6MN/&'C^C1-YQDOJ2)3FEQ:Q]@#)0) MR%VCWG=<6@(:C&(FZNU"5Y?#\^'HG*\Q!XHY;40]0J TY#2V3(Z2;K'X8+D- M,!E*?9<4P.3FDY;!/PGU/@(=2CJ$+F3NZ-RROV473E#=$Y#Y\F*U6,$RYRSW M0\POW\)),")RPA66T _PJ60,>\=X3NL1(SIW@YY?P0(\03 *^J'P^3@4R+C/ MM6J+%^98.Q65EEY$"OEZ>NB2\(84E34=YA*%F2.C*[P9FOQPL20E8)!K\[Z? M,LK$K%+NS7N5@QO'\0*Y,/6)'_?$9HC7H(FJKQ!64%+$&HY8U?6.#[[!WO(D MR=9PG3/_\"#WML-(P)V)-[!8[ -87(($ZQ 8/.94O=NP0:*/[- R[8T L==@ MA"/&0[FBM(L+,A21J3U2UZEW/NSAP$[HXY$I(_&R),-5!/Y=J+LN#J/5@8 Z M\>/.XQH^)9-I#*7PSAEY3*LRTY3!5Q)XO;KX%W>OT.UJ$2_T"Q V8]U.5* W M S8ICNHHOA#IF0V1-2DH0/KEDV/FBW0L7!T7/IO)&'=."A[DW8'!H\$[R3\H MAZ0IZNF8 @E/)!.Y; 0S]%3=I>G"Y[-D*]I:ZE:\*./K()AN>D(]7P$4:&ID9:*C,)))<\B MM> =X38)\N+STJ6&/SFT\J9@$S**57[6I#&N\ 'L;T/(PQ]6,+XZNOT+4$L# M!!0 ( &F)JEB$#L$GLPH !D= 9 >&PO=V]R:W-H965T)!L@CB3>5CL0XML2;VA MV$QWT\?\^OVJFJ79O[ ^W4LJ+AW62NO>=E??9Z=&1 MBU9J+5W/9"K%DX6Q:^EQ:9='+K-*QDRT3HZ&_?[T:"UUVCD_XWM?[/F9R7VB M4_7%"I>OU](^7JK$W+_O##KEC:]ZN?)TX^C\+)-+=:O\G]D7BZNCBDNLURIU MVJ3"JL7[SL7@]'),Y_G =ZWN7>.W($OFQOR@BYOX?:=/"JE$19XX2/RY4UHNG&G3^_*-)EX=>V35,F?NS(P^>].0H M*N@O _WP"?J1^&12OW+BUS16<9O^"+I4"@U+A2Z'SS+\)&U/C 9=,>P/Q\_P M&U4&CIC?Z E^US!+7&L7)<;E5HE_7)N#(&U$OQC1[\ MTWCEQ$TJ/LE'\CI\[U<*9]:93!^%="A8%>.>54HPJY0I=,KG9/0SUTYSC9G% MAH2>N/!\RJ.2Z7'C-(MQJN 626LUQ,CETJJE]#B=>^=E&I.BF=5II#,P!G.9 M1B L[UQ;XRB2!)PZXEOS*VAX-P@WCK%'>6\D/@G%HF1GAA:DJ!^YN#H#6LX M.EQ3)HN/-Y>?OX;G69([,>U-WC#SMNU1DB/AQ4*G4$>#363N%'Y[!UO)78%K MIBPC)U3>Y1UX_7/DS5S9'9Y7K'I,)A@A@80D$ X19 _TBYL:08J02;(=IGUB M^?:7V7#8?_=D^/GYX-T!T T;TBX*"[:DPG4 >4<&48:DC1Q A*=EA+M!.9.J0CFH8NXTYP=IO)V: M6ZI2S@SJG*'H, 5[50JG,LF!W^)/0BO^+["?M5(28.USJ_VCB&49IU]_AO$0C6*Z]"DT+,*#R0DAMQ;.2B3CY#$[$I_!-4CDR0*AZH'J&9BR8HQZC86LYT98 M8->6/8L,]WAUOG1KO\OPLI*A@I,LI8O<2QI)G+<,R=-KD#>YQ2 MBP78!N];M0:G6.09C3=D9_!QC1!\_3^7)<,2:C(M)J> "=N4U[#.>>VIK4IV MX04BGC3RU;\<+AB!T9'8%%QE8NAT6A%96FC.JS:D41ZIZKF&,D]P80K)BHDR=Y')Q M5#J(;Y9PYA2ILJ'!3M/$56!:AX@<5 0(O3$+[&L]]_5!J>N@UG6N_+U20=TM MW@56P4&C?HE5^WHGG\IF&:TT,ID5A[UE:EK*[EPU([A9%R0,W,&>4JDNR:88 M&0;$&".Z5>4427="$VYC?C5K[ VW..RV548196G=>.MCH*.ZYA$',JLN6FP? MHW95KF1,B"QB*^];QBSR,*.F$$"'-'J<\@6X;;FH6(Q#GRNJI)T<;8N)(_0' MK&[I1P$C;9YV;I> XS_4, @I,DHE4MB:=39<;Z MG%(?%N0\&^W2^TOH\ER$]#Q$BR.Q-2Q@'#'Y@.C,7S1;8]NB]R1_F-R2 M?D!"+#7UIM#G3>%W<+\CKP:X*-CP*>U:\4 EZ23T(DBA8U9'9,H6(=FM4(:, M,S CA% ]1$IQZ@TPD@DYQS00Q@C()WV9%F%/="3GB2*A+2[!-FT;TTJ5S35" M4S[(>J8K)KDX+^G!TR::=*7"K?I'/>=951(5E5V7( J YH*NH.(D5$YE$P(V M(@-YF*^'=:"R^F,JHH./A>(5ZR22,7"\UCRUV8 M1E)JPW11C8_/V5_"A^9E*#)D%T]7U3!73Z$..8T,P_TG\ @SRW.3W<8\<@4+ MRSGT5L$;<1C>V#G%#%J[M-D)JV/5.CH/TQ F#:3D+:H%[,1WI*)Z%)XTZY(F@_: AFN@"!_*_B9CHBW&T<:KUWJ>^PS-@2HNA>"/VQ+ [.9E6?^M0 XX/AU-QS,

IRR_F)0EEKC)G%N@2)V*P.H4PI98J%:] =C6?B Q+T;Y@&G^J, MLXN!!R8?#B=BTCLF,<E M?(U#"FA'VUJDBIT#Q3::@7S2'8Z'XJ-R[O1%FOW9X$#LG\P.&C*9$3E\TAV, MQP4C7F=H("9NH8+X[/ZL.QV<@,>T.QN-2C9).U?WQG4*W/7KO,!H,GH&C M.@GN)0$.!(?9F&K+$PQ*V@XE@R#PB!E=:O-1+U17W%Y\O_VS*ZXN;_$[TK>2 M;K;SLEO S8.GJ<=P*-!64VX "7T#R+EC&\S^Y;N''2L@ZUFF>/&V@%;M5VJ\ MJ5-8L9B8ZJQJ1N2$L,GS"P+B:6@M#2_U D1N4]%./T_"ZKQSK>B)7S<26[9U M9T3APL)U503_GWV_U15:L$C$]:Y7C"VF>)VQ*92'CTPB:*5C-H>"- [4B9). M,>3_P^WP7OFZ^HE@51GA5M*&%T*1S#3E/3IR]&,7A=4NE/!3 _'3!4%?U^(\ M@?W%G*2#S! VS$L\L%5S7]$-4N0W @@O/6+HP,J2J=$730'UO /Y% M6-@9V_=/Q#I\N:G>P!R@DB?=D^,)S\QBT.].4-2T1>/V<##C5XL%JN/G3!S2 M^%,*/VR"S5X)-[N^BQPU/E>ME5WR1SE:FZ%<^')5W:V^^UV$SUWU\?#1$*Y= MTJB5J 5(^[WC24?8\"$N7'B3\<>ON?&8J_CG2DG$BP[@^<*@R(L+$E!]#3W_ M+U!+ P04 " !IB:I8[E837^$, !5) &0 'AL+W=O%[5C7MW MLO2^?7U^[LJE6DEW9EK5X)NYL2OI\=$NSEUKE:QXTZH^GXQ&E^2J57JG':-,*J^;N3N_'K^PM:SPO^I=63R_X69,G,F"_TX>?JW9)?R1MS/].TC^P[;!E)IUZ;^K?=.67[TZN3T2E MYK*K_2?S]#<5[7E%\DI3._Y7/(6U%U5=.I MM^<>PNC1>1DWWH>-DP,;I^(7T_BE$S\UE:J&^\^A1*_))&ER/SDJ\!=IS\1T M7(C):')Q1-ZTMVS*\J;'+1-S:U;B/72UR !XUR_%>_:KLN+?=S/'S_^SSP%! M_L5^^50MKUTK2_7N!.7@E'U4)[<_?#>^'+TYHOU%K_W%,>G'XG)TXWZUDB\^ M&V2L5Q:)I%!2X:%5I5DTFHL$52[*Z*M.UD):*YN%0A5Z)_Q2PH$J$R&M8H_J M!E\JX4J A3!S\>'NX1Z'M;H4EZ/+0NR-A1L&PQ4DNU66D(;%S4T-S-#-0LQ1 MN<)YU;K7XE2_$+J"0GJ^%DJ6RU[A($_&LE'V#=;FBTEFE"^;$HK.:KV09+<3 MT8(DBK=B[\94^A9?-4X&.&FM+A4M>WPA)/0LI3^P2'@C3&>__6C95.(48F-@ M_MR$ZFFI&G&*&$GW@KSE(,)%RRR0[E$V_L Y9^(W?&SJM9!M6XRR4E$R<9;5H84SF!#Y2E<)2CC>R^.6H3FUAR#.;9=MZD+QS@<,UZHP6) M%=!8M_7!0)^)#W1@A[3)<[LX$#H8GX++9G"^[1?-S:&"BUF4!?B(GW( M7P16U@;)A*Y44U[S(8XJAG,3U:%)!OZH.C(T]TT'G+7UFK8=T>),?(:D]V;5 MRF:]25]WY/2!WL%LBO)2XY##)4.N<::N(*V5B+NJUV?BYV#(H;-H3V,\I)!5 M,:.LZ1:P1CJ?^S]&)!F2W.F.RL<>^84^Z0:QDF5I.M2#?)2ZYL-T$U@,J1]2 M@)+'?@'W0?Y4.M0CE1\$*-L@]%PNUCQR5'1)PA<=,KUFIW)L0V8< 9@$)J.LY7P-6#.3-1OB MC9=4Q-^/SJ9@(' WD:F&'URE!P6VN58QQ:)$^+&SY"HNJJ55"@##9$$16=BG M55 D#WF/?E4(P3,G !R"0]:+H,X#93"]TT M9$\LU+4BKI(7&G(#B:3K3&V7RCB)14K'8LZ>D/X6442O30^1+EL;&4U#1E"V M<1?E.D!@2*<214"GH9H=N]V %198I]2?W%AA.O?12C&6%#$%4;V 9-WT@,-- M8M-VM@PHHN=(DEOJMJ4_2!)@O>(JA#2[($A!,$)9E)ON#F]*T1J4%CL>U#[T MF!STN?V !,,H;ID)"&,+S:0%? *@="U5,]3A8I@SNL\((;P.]0O?Y,!R)A[V MZVZ<#YXN:PD_SC5E'J(H+9<;?<]E-W1*2B)T)_ ,0E+\!6#4%._0)^P M]Y]M;)&DQ3 7R)1](?;&8CBBS3-M:K/0)=$R*-["UROPO,[S(RH."XNW8[B5 M<@)09H/S85O?7,CLB%[4"ZR &H#,=5R>T1/&IS-BDMSFGCWCVO[F&>J,$4XS M ]HPC&$ERN&;EB]?V\H9@?$1 [/U$Y)[RH#-]7ZSP1*ZIDP NL?90VGK!3 ME^VF+U<4Z5I_(;")BH0%!0H(TS 70.R7H#==@#-FPWV%*"3 MT\B&.1*E\3!JIA!HQ>QB\%S.H57>Q1A-B5%Q3X7X;#W88X,UH716*$)H@;9# MY#)9U9+NG)WD[TJK4/IW#^_SX2#/@LJH0!%0@0 S @C6_ZLGXP1-]:OGJ1-K M0YGAGQ1!#/D\/R?:B/54F!D99Y8U3'@*;B^@]R_\[B@.1$*H'Y W:ZA\)OY! MCV*GB.?]\-WU9'SUQF7T.A)6PIBOVB89/$B/ZB_TU6&' C*8'F!<#P<]T-1* MNMCB(O+"1QX=M$4O]*%C$/]@F$5?#4B N/5Z:^N.62J;IF/>L&,V]X#$?^.XY51:F7=#SJT^EC6K$TE):>PV M-R'40[I" >=8X3Q@;$]%.(4XNWH&%]IG-L9B"FF :.R/$Z&,H;K=LXM MTLAVI$PH*8\6BNAK@?R>TA"@]:62PWTI;.1)[MN#D!BQ$X.*F4K2^W7/!1G,Q5E M!+HI 1@ QBRL;,'-!$_-Z4X)2Y1/J$Q.!0'A]'"#F-,DG^8=IA8NNC<*4U2(L.*(D\9W=D4W4(R3!IL2ZV(L(0B-X]+$YS MD7^P\X;9DX%4BE[&ZK;C[8AKA&U6,Z4CG6<;_L,=(R%$5O3B-);(3YCN*M(E M@$LJD&(#?WU/Q_Y]/$'?=BH"(@HSN!0)AR M_\9K,EC'\Z?):/DQ#85*$0R1&78D$WKGKXW$).;#O+%O\KB/0^P#O1O@6\:O M>"7G+5LYE.Y0:22*.))L_ ,MB"Y7J5!X('4O_;IE,Q.YZ$" MV=P\I3-TGJ<]0)@V=+!45/2U4E^M\#35@S(E-?APAIA (U!GU%C#;+#H)+SO M%8W-#0<#+H-2?(&T8P"G1KH6HM%1$U!MNS._L9P9[ @:4!XWIGD9/O7\+[3S MI<0TP6^S0LL( XWZ"SDLLDNQ.=/58X=B]2*2;Y<5LUG-F+5N+4]8 F!/DW4K M/5VBL9/3?"]CEW-RM;D'WGLZ24"\3*G9E3O'-561Q:[_HJ )(!I);JKU0%$VL<\4YI:I5E[<$_;HM&^_5@L0S48PC9@/7ZZ\!NZ3J/QUGCC]F<@KD U"D/?J MN50M]^^2+%TH]R*X/_QI)A>C\7[K0NK M\64QOKX4X^OBYF8J[O>,!9/KJ9B,;W9N3?:MO2ANKEZ):7$]>;6KRW@\%9<7 MER#^ V*[3\ZXN)Y"J>)R>A.CE%9_3UZ^FES1'U?%U6C*O7/SOLI':A3O/_*7 M 8-3^VN(T.*S*\\X/,P[3Y0LNV?>AA));TW@39D?LWWI\S^<<^AM%3=YYJ1- M>/NDPX418QTW\?P+V9=,!K=6M<9RJ05"N,6Y@/;AI3T6$(V#,I5V96TBH =8 M[F71+P]H:7[L@5<6\?T@ANCP.9+G?'SG&S_BFMYO>MW!>XQ?40#CBY>CFV]\ MQ1D,S=-A<(>XG4#];4C"DG(HEULH>CD:;-U;Y?:95<2++'?D2@UP;?6L"T<3 M63%K65/_*D3V5IA26#W)>I )ZAG(P*^NY)[7#OM?1O#KWDI7;" WMV\MCN#% M>$G?OS\->L_H9R;A.K-/R/X%U^]=M4C@_&CJQY#_,1S\GCF4 09?FA4XE/OO M'W"@MMFKADUD7@^Q,^+DZ4V"ZCYA7T1,V48T@.1U^&??SPC.LY]Z0*L%_Z"% M;I,0W/"KC_YI_YN9N_!3D&UL[5IK;]LX%OTKA"<= MM( CZV'+3IL$2-/I3!>8:=!TV@^+_4!+M,VM)'I(*H[WU^^])"7+MOR(NQUL M@0)%:DGDY7V>F]?QEKZ>2&=&YOC3W[N3UI2AUQ@MV)XDJ\YS*Y6N6B<55 M)^A4-S[PZ4SCC=[UY9Q.V3W3?\[O)%SU:BDISUFAN"B(9).KSDWP\G4?QYL! MGSA;J,9O@I:,A?B"%^_2JXZ/"K&,)1HE4/CO@=VR+$-!H,9?3F:G7A(G-G]7 MTM\:V\&6,57L5F2?>:IG5YU1AZ1L0LM,?Q"+WYBS9X#R$I$I\Y%_9\^.C\T)HS\'1-"-R$T>MN%C)9OJ*;7EU(LB,31( U_&%/- M;%".%QB4>RWA*8=Y^OI>B^3+.=J5DD3D$&M%T5V7/0W2<4PO<9)>6TGA#DD1 M^5T4>J;(+T7*TO7Y/="J5BVL5'L=[A7X.Y4>B8(N"?VPOT=>5)L:&7G1+E-G M5++SU\;4.[J$S-+D1DI:3)GY_<^;L=(2TN1?;<9;V?UVV5@Z+]6<)NRJ [6A MF'Q@G>N??PIB_]4>S?NUYOU]TI\4I+V2VO7<)9[,/?H@2G-BRE1.)R( M.0Y1Y..,D8G(H+CQ&5>$5@5.Q(2H@Q)L77*]!"F2:) &<4]F=>"[A!:IN:\T MU:4Z3BH,*S5,*%)\0LVL=;DO07/)V%K2DO=N\F>=>N3F8>J17QZ93+ABY$[" MBN3]EM0QF_*BP&NXF#/)14K"8-@-!SXY(Z$7!K6,E/S\TR@,PE?U_]OBUI7< ME'2_9B*SYRJJT,6*Z) >2X/.,@SO& M2S.B*/,QDR:;$9?4"[A+-7!8F:5D1A]05X:\ES"@K7J:*YJ9R%(F%0Q,C4,V M;K,ZXV .EZNB*#;"[T$58,WFH@0$7$#L23)#1"0V=L[^"04A4--?H$NH,Z#- MA\9W'OF,3D])(30:(*8%_P]S?ET#&/:(O]&/&:09:"LVMDDB"G; MW)8M,V6[;9-):?Q3;$JLLK&2/ 4"P*6?O +(1\:'AQ L"0T,6(%=$$I)8"XR M20FIG/$).PFT-HJJM<(A=H$W(DM&I=JTNRQJWV_@>B*45J:8CE&J;6&/?("Q MD-MHOQW>3A9R<]@I?+$E9(LS#H:LC4;* A= H<>M>A*EF*ZCR2B_8L*1-PBK M;[&L/IEZ.I)8NE$0=D<7(X#T8.1%H94&RP2CN!L.0Q(,O2@FGZQ=SP$1NZ/P MX@6!B/DA@3YVPKAY,@BZ4=]_@>/C"_*'*,Z=+]J)I!N&<=?W UP79L0FC"M^ M,/BP!@SM+J4+*M-5S3G2"6O2>7H1GJR#05MGL]-C>*(>GQEI5-HI,+>A&^A_ MUC]9G<,T/_#ZM6Q>' 2*(]4VCD!3$XU#5\"O9P*,M[($8"5T(W$%67=,FIUE M40O=*KOW%6F-&K94S%/G4N!?= =!Z-C4U2J&W)#5VN8,9:^Y=%+J$B+3D&17-$M! ML]&2VHB:Z'(;3EOR,-\J:6?OG (_Q@R#YI+2J D8#'R%=':..P;4G[M8V3;G MKY(K (XJ_A4>,0M8(.$-]"FFH7$9-WA"66"Z^PT4:#AG.X;;7&!KYF@F.*) M@D;M;=9' 5"94#4[4"C'*VXKQL["@CJ^C!K,_\<>K2 G&L&N8NHBB&Y;S#AX MHIG*Z(6<406)F1[&V6U;-W#^*?A51>"BB@ :MWL)A^!/0\A6@;OB8]JIRA+P MUM-7C#R\AMYYUTK[>Z)\[]RZ%2IA8>CT2[F^O9YG '9'%T=+E[1_^?]E3W1< M#S0 H ^@ X%-;>S!YK;J@,(+((!X0,#=H5]W0)'O=P>F QIZ%\.#C<[ 'W7A M!PH?>$,?N>#25 M4V9\91V$R>L"7MU:JUY\SO.9M;?"ZYG+NTJT*$*$,=N^%["1)"L!20BY-"#P%D9 M0@RL&4?/NL1_!MO[!YX"@I E9YGU+"62JR_G$RQW#NMB+A.)E 'S F_PS-K0 M+AH-6#MRR(4RAP<8]_ <::Y)6\<=LL"_G&I\J:+1>L@_;*L@FFBB87I>5!UU): & M" [B3==6:!.)!HW7]6C]8TW;%0J^X68;/G?QIWM1VH(?MYC)ZP-9CXUC MW.S53NAM&VVV*\ Z!BYUMZK68%Q5XY&]MX,4XE%W&/W?D ) R[?#_8]U, \U M5'C*B$[&U +CJS-9J!NLM-#W:X!?'9(VA:T;#A(8!;H!K.!SCKGW=7 =[83K M_O<'U\/1:7#=]_H_X/H'7'\+N![]S7 -#2A[3++2;"M@8[GVBFMU,E=O\"&" M%@4PQ!/\>@#V6 G+F*3V<,>%N%K7I3D(2YBT$.R.PXX[N JCBVX_[O_@B.^( M(_H[.6+P_7'$R#^5(^(?'/&#([X%1T1_,T<\];0Z\():0TPEN!&U'5\?A75/ M.YRSFPV0A0?$P 39\H@#[5&#]4X\T#[*E*\YRQXTWF+O/6Y>TZ3MC6(S?TQT M8A!^RKNTG0X_1<6M%XZ#S23R3WSEMUM->PBX.Y=OVVYNEC1"FEZN&\-5LUI. M?X/4=8#CHL@*?%OF3N8,\Z( 2OI-MK"O\B?V7;9I1AJJ4(37I)3FQ86K:9F: MC#S@BU/*D"K'MZKUG/OY.P1A42J8H5ZX5^G86]XB$YJ.Y8$5D#9GT%<$H6_^ MCZ. _&H=83DXA0: HW?-VTI;,U$WB'SX&UY$Y![HQIY]VK2S'Z#@*! ZBN%O M.(CQ>PUFS,"!*:R;B;F!?3MTV!^:X9%+FC,2FZLS,NQ&<43:OF+L-3X[S9F< MFH]KL?LI"VV_0*WOUM_OWMC/5E?#[<>_X&%HMA3)V 2F0B$,.L!WYH-:>Z'% MW'S$.A9:B]S\G#&:,HD#X/E$"%U=X +U5\W7_P502P,$% @ :8FJ6 )P M>TZ8!0 20T !D !X;"]W;W)K&ULC5=-<]LV M$/TK&+7)2=6G$WL26S.VTTYSR$PFCMM#IP>(7(J(08 !0'WDU_C2D\7L]GK:265&:TNX]I'M[JT3=#*T$&&ZNJSEANXHW-\/V[X2]'.#WX+ MSF1M[0,_O,^O1C,&1)JRP!XDOK9T2UJS(\#XVOH<]2'9]R.1)9XX.M6F,@J)1) MWW+?UF%@<#$[8;!H#181=PH44;Z30:XNG=T)Q[OAC7_$5*,UP"G#3;D+#F\5 M[,+JOH;=C*$ MH@GOC9D,C8+P:EU$^1:8Z<5@:K:.@B'R%6!J&G7FL*. MR 7B4(9:3(E-0/$=C)!9-*Y@S(;(:M4 5L(VBL?XMH)P'B&/^4 V]<4=2-A MQ?BC$N]^,NF*)-,M%XWG:&3 N-;* 9\'$/;.2U;(NM:'F*? H(#)ABJ$*@JBT ]L$"R9WA5W,7P (*.44YB)OD@:D5N/V MX9_+3>#A_NZD.!EK?D./&F3&@T9[RIH(^$F)'ZL9U>2I6+$;5O](''X#3#E> M3,0GDEI]ZUP&_AVO=VC0@[$8)P(K*HTT+KD^L-Q*I7G?#Q-:DU:T13X,C!A67[\ ,B(EEW?NVYYT*%CJ M#YW<138;\ 779>XB3'#9\.G\0;UW\!.KA CM?,4FPJG6QSD,27AU-CGO-0%, MY%. -0NM+0:1DF"!6!5+=^I&%P1'*MB3JXPYW&8 M@\Y&DG%E6Y/7(+^ H>( M+,$!,]QW#.G.-CI/QXSFR<2]("%B;*RAX(#CH]2:6$N>OTSZ//$O]UR/$&O"^L#=T#!^C_/:W^ U!+ P04 " !IB:I8 M;S7ZO7$$ 1"P &0 'AL+W=OW9K50M=."D6WAMFZ++EYNB*IFV4TC?H7 MG\5]X?R+\6I1\7NZ(_=7=6OP-!Y0_3W03NTK+FE M:RV_BMP5R^@\8CEM>"W=9]W\29V>4X^7:6G#+VM:VW02L:RV3I>=,QB40K7_ M_+&+PX[#^2&'I'-( N_V0X'E#7=\M3"Z8<9; \TO@M3@#7)"^:3<.8-= 3^W M^H2\2VTMJ\BP3)ENXV7XXWRX7MN(9+2/T@R6SI6CUVR_3^>2/-\C.!K*SM]!_+C'_ M$XI]*8A=Z[+BZ@D;Z+2!94ZS7&P!J'*X<'R<&RH&MLJHVMN;*>1X.*EVC3S+)$8227*'S M$;OB5F3[7 7PN=AQ+=D,,*8JLLU<$"IC95? M]0%W.GM@&(O60:]'RR$*?Q[(4*5-T H:PK.[$;+VR#_D5]L>Y.?95+*VP;72 MCI037$JO%E_&I&2TV6!T[CC1MUILN83E +@KAQP93"C/"0, PU*[8F_L0\+# M!HX16YNGCDZ[V]4708276FI([CF-V ?5A@R%EK.-T24$F"&8AXN)AR@)TU9I.(\:7M]A90CH/B M. Q5_Y.^[H0C'\7C[X?%I[I$73EM+M@P47YE1]-)G"33X[!,X[/I[/AY&P6E MLU"F:,-=L$++,&H&[\'WAI1&%;7?^=J5]$E?TKL8F ;6UM26TVXESD[C69K$ MLV3.9FD\2<[B^33I5.Y&>/],A([)*$F.VT6*Q;Y$6D(2,?:Z$G]NM>8UY0.] M][(./<:KH?8=RP 4_Z 8UT1M.9[T];BW:IZ3?]?.I:JM1!^>W8D?-GG##?H- M"9K/XW,XIO'TU ?V=_9%.R[W[>P[ <<[UQ24TGVXC/E6J)5K;RS#V^&^=]E> M Z&9V=1NW!TS\X785+#X80KE!A6>#.2L8;8'^C,?*Z M!_^!X1:\^@]02P,$% @ :8FJ6#FY7CT* P \P8 !D !X;"]W;W)K M&ULG57;;MLP#/T5PMV*#=ABQ\FZHDL"--V&]6% MT>[R,.Q!L9E8J"Z>1"?-WX^272'E$A/-M;=^@J1X$XKXZ=) M152?I:DO*M3"#VR-AD^6UFE!;+I5ZFN'HHQ.6J5YEIVD6DB3S"9Q[\K-)K8A M)0U>.?"-UL)MYZCL9IH,D_N-:[FJ*&RDLTDM5GB#]+V^!N.RG"99$(0*"PH,@O_6>(%*!2*6\:?C M3/J0P7%_?<_^.>;.N2R$QPNK?LJ2JFERFD")2]$HNK:;+]CE\R[P%5;Y^ N; M%COBB$7CR>K.F6TM3?LO[KHZ[#F<9D\XY)U#'G6W@:+*CX+$;.+L!EQ ,UM8 MQ%2C-XN3)ES*#3D^E>Q'LT^Z5G:+" LTN)0$M1)FDA)3!T!:=#3SEB9_@F8$ M7ZVARL,G4V)YZ)^RI%Y7?J]KGC]+^%6X 8R&;R#/\O$S?*,^SU'D&SW!=XTD M'?)K(IBWF7KX=;[PY/A=_'XLX99O_#A?Z)4S7XL"IPDW@T>WQF1V?#0\R3X\ MHW;Q%P81+UL MX4%)+8D37FPA;+0>W%]2-QJ$MAPXP$HD=#J6AI%,#Y>&=PR#KW&-ID&XX3<@ M"QP9"=-%\,'80O9(,1CPJE0KX*B]& M@\>>>;HWB#2Z51RWGA5PBNU,ZG?[B7[>#K(=O/T<<-B59+T*E^R:#=Z_2\"U M([8UR-9QK+%('I)Q6?%7"5T \/G26KHW0H#^.S?["U!+ P04 " !IB:I8 MC>RT"!4* #U'0 &0 'AL+W=O^W%>YZL/2^O#P^=LE2Y=(-3:D* M/)D;FTN/GW9Q[$JK9,I$>78\CN/3XUSJ8G!SQ?<^VILK4_E,%^JC%:[*NXY9+J7!5.FT)8-;\>W(XN M[Z;T/K_PAU8KU[D69,G,F"_TXWUZ/8A)(96IQ!,'B7^/ZEYE&3&"&E]KGH-6 M)!%VKQON[]AVV#*33MV;[.\Z];.GA<5*SN LLQL^P MF(@/IO!+)]X6J4JWZ8^A3JO3N-'I;OPBPP_2#L5D%(EQ/)Z^P&_2VCAA?I-O MV_B6;13_N)TY;X&(?_:9&[A-^[E1EERZ4B;J>H T<,H^JL'-SS^-3N/7+^@Z M;76=OL3]^^+Q@RS$@S?)%_&QLLD2 !:W"ZM43L^1U.*7S,QD)NZ- :.%>(,D M<5[[RBKQ>:EP/R]EL1:@!#N95=*KM&'L-J*\$8A;LFP#)_S2FFJQQ'\E4E ) M,\>U=F*N61(HI'/*.7ZC4&!+^I3&@Y^&2E8E9E%HSEX\2+5+,N.@V%#\M1"W MI=69&)T%:1$S:90% V7!3Q<00@]Z;)^MA2Q2,5-^I52Q14[W?[E_+WXU60I- M72162PW3H/MJ:;)L+"(SB-_E1""@36$6EO6!.9)57&W"5!B/1VE^+P/;UO*@(!#96,8UQ= E7B0/S\T_EX-'XM[BE\!,UMO&P"VFA[.(TN1C'Q;J,% M8UW0'RT\VV5Q.#H2A^-H&E\6.4_;KRW-NPGV4 M&56[B,L.)7BOD[M](-V8&W"[0P$[6S0RX9[?5\CBV@K59\.+,O>S)S@P1\5( M]7P.$^?6Y"%C&^,*0R" AY6HRJ!*W8\HL%S8D6G@\K6"XQ6W@+W$Y-0X>^U: MMM 4#-!(_P58<$\41<5.I@Y!]:8DM-011F^IN#-2QW$=?;F0]X%K3RXZU/JE MQKC=275>9GR;B@+DIE7@#XL1;$HS>INXC^/7G]Z_XZO1ZR.\&BI)@]@*'>69 MRAJ:*_-6::_2--D'<2@:TS.AH)594VXK M#>E1?USNC+0I@QV-A#JY"UP?:]5@(Z$GS#KCBRYZJ)]+!"/A":E5<:48(72 M"E6O1MYY0SO_T0[Q/:5^N^^-MOL>^-F%!=!HKT99I" 1!/28%E%"R!(,#ME 8 M.TAKG(Y,?%269PPNP=_AL!SOU1YW:DN?_XKL[NI/]V7F3&@L[?@&RM!O4*@$ M=YS"PWTTDY)?V$=II=A/CW6+PL!'W$S"C!RG. F'>I'@<15OD G0U22:>1!, MH@8G.P.D_T%<3H)N"^2:_^WI.(2JD])REJEZYP$'A+E@+V3MB+ ]Y?99W8CO M&Q()1'O9D1B;CO^^*QL+GXWA'$,VF8^YP'H0(RCDXM3<B6DT MBD_%9^-Y:AO%T>E)S#K?$N[)(^&H2;,'?*SZ9[-N=.B(H4-;:(XT#2BV%;U% MU:88;'Q&YX*MU T-HL9Q !IBD[MG.&XXH5S" W0I1I-+\9LI%J^(4M!Q1H3A M[S^V4-9A;$X\2#=34>E R!G8H6PEEDZO;"VT4X&Z MBR8I/)&&'*/%((ZA2+S-8%U6UE4R+,M"0+<6&'2BH4E3IYL50Q_'GA,U7%F5 M]. BQGEG[79FROO:PC>([1!'=B[_7)3R>G?WFY$A]_ 0C<*O.YLR=OD#JCC( MQ!\(F5J+.UE\$;=M^.W[8I MZ;W.=!7.W'69<_ 8KS@#'JW2B"=SISU*.-+4-'U]%(FEN*'0^<$U7M%L16C9 M >4.4GJ/S/5^JK/#DZ6FYO/<$@\# D>)UB-A4\A1Z8S]6_A5?-2@Q38#DS<*Z<=X.)=G=H)A3'/-H\,HCN.VR0 ?#1A(*,>PIN))-I2('EUHDU!+4Z25-K;1 MFALHO_Y!^A!;R@YQ" -3->=:4\O89GI4+U>I_4MGBC#P=9S:20H>OD/=D@(\ M49,USWS0FO <]I5MEC8%SV!LRK6O=Z:5G],BCAU;%8Q$UJVSKGRF GT M_+7DMW"@@N]LX\*FR>#YSA)C)QW[/O<<=S[%H:LM^(,C;6Z![?!5KKW;?M.\ M#9_R-J^'#Z(?,*50%#(U!VD\/#L9"!L^,H8?WI3\86]F/,+$ETLE43OH!3R? M&PR%]0\2T'[IO?DW4$L#!!0 ( &F)JEA(5(D20 ( )H% 9 >&PO M=V]R:W-H965T&E\[7O./-R,591RGL=M;R306 MC2X9AY5$JJDJ*I_G4(HVP3X^;-RS7:'M!DGCFNY@#?JA7DD3D8$E9Q5PQ01' M$K8)OO&O%Y'-=PD_&+3J:(VLDXT0CS;XFB?8LX*@A$Q;!FH^>UA 65HB(^-7 MSXF'DA9XO#ZP?W'>C9<-5; 0Y4^6ZR+!'S'*84N;4M^+]A9Z/U/+EXE2N5_4 M=KG3*499H[2H>K!14#'>?>E3?P]' /\4(.@!P6M = (0]H#0&>V4.5M+JFD: M2]$B:;,-FUVXNW%HXX9Q^R^NM32GS.!TNJ+/:*_0"J1[$3P#M&0J*X5J)*!+ M]+!>HG<7[]$%8AQ]+T2C*,]53+2I;1E(UM>9=W6"$W5"=">X+A3ZS'/(7^*) MT3P(#P["Y\%9PCLJ)RCT/Z# "Z(1/8N_AX=GY(3#/8:.+_R7>QR[KHXN&J>S MO7NM:II!@DUS*I![P.G;-_[,^S3F]3^1O7 >#V::2.T:4VW+,SP!&D3 MS/E6"'T(;(%A'*>_ 5!+ P04 " !IB:I8*E0,%0H$ !:#0 &0 'AL M+W=OU%T0M:&EG$2J)*4G;R]AV2CJPL% 8(L#>V*'%^?C/BS%"3C9 _ M5(&HX;DJ:S4-"JV;BS!4:8$54T>BP9J>Y$)63--0KD+52&29-:K*,(FBD[!B MO YF$WMO(6<3T>J2U[B0H-JJ8O+E$DNQF09Q\'KC@:\*;6Z$LTG#5OB(^ENS MD#0*.Y6,5U@K+FJ0F$^#>7QQ&1\; SOC.\>-ZEV#<64IQ \SN,VF062(L,14 M&PE&?VN\PK(T2L3QWU8TZ-8TAOWK5_7?K?/DS)(IO!+EWSS3Q30X"R##G+6E M?A";/W#KD 5,1:GL+VSH54MRUFH2:5C#SPG2K=NG4DG?41G G:ETHN*DSS-[:AT36X26O>)>)5_". MR2,8Q0>01,D85,$D*H_LJ/-Z9&5'[\@.>7L RQ>XK3.^YEG+RB'GG>AX6-3D MSX5J6(K3@!)$H5QC,/OR6WP2??4@CSODL4]]=B_JPX>V1(BCY?%AW$>'>28: M_7.\';)?-&>E0@_<<0=W[-5Y#^P))>U9]@Z;7_,CMI..[>33@?/S^74_XCOM M^$Z].G/:=G\>P1W3NJ B]L\=5DN4_PX!>84^N?_..LRS7Y$R9[\ ^;Q#/O=& MED**DK/2OF8%(A^JUI[J7[P%Q9 "'MTFZCFUX^BS/:AK4T+<_)=-E$R'<#-]P5\857S%:X* MCJ23B4OC+!6 'Y)R+1]MF_9F'.T:;^2O2Q2[ MP0[K-WOCH ^D=P*(_?N9ZW*8Q&_W<6Q]>,D.+_E4;_$TO0\4M6Q]A3O>G2)B M;\>?=5O'[-9!$+_]VQWG0]J=$F)_1^]'Z+IUR31(YI=)SD>0L1??62O>'0YB M?R>?KU825R:AYVO&2U,P!Y&[#X>Y.R[OIKNO#GH#*T[%L\2<3*.C4UI=NH.\&VC1V,/S4F@Z MBMO+@CY^4)H)]#P70K\.S +=Y]3L?U!+ P04 " !IB:I8@=<-<[T+ "W M(0 &0 'AL+W=O3!;S;I VN18*XV_MPN _RC.Q15I:FDF8=]]??0TJ:&6^\;I+> 47J M&4L423TD']+[8N/\36B4BN+CVMCP2[^]5,9M7DY. M)^7%>[UJ(KTXOGC1RI6:JWC=OO-X.NZEU'JM;-#."J^6+R>STQ\NG]-Z7O"[ M5ILP^BS(DH5S-_3PIGXY.2&%E%%5) D2_[M55\H8$@0U_L@R)_V1M''\N4A_ MS;;#EH4,ZLJ9?^DZ-B\GSR:B5DO9F?C>;7Y6V9[')*]R)O"_8I/7GDQ$U87H MUGDS-%AKF_XO/V8_?,Z&L[SAC/5.![&6/\HH+UYXMQ&>5D,:?6!3>3>4TY8N M91X]OM78%R_>^I6T^D^97&1K$?3*ZJ6NI(UP6>4Z&[5=B=8976D5Q'?O\J?O M7QQ'*$!BCJM\V&4Z[.R>PQZ*7YV-31"O;*WJW?W'4+S7_JQH?WEV4."OTA^) MAZ=3<79R]NB O(>]-QZRO(>?X8VIN'(VP-AZ<,X[KX*R,;UP2_%:6VDK+8V8 MXZ4"6&,0_YXM0O2 VW_V>2@I\&B_ A2"/X165NKEI*6S_*V:7'S[S>F3D_,# MYCWJS7MT2/K%=5"DM0I1 \\J[-/ORR2(WQHEH&DK?>^49>^4,#A%6U$Y2TE$ MQRTP'ANQ4E9Y:PL0BK]#Y(CH\W:B1XG2=,B 7M:1WP D2@%\N MD2WX--CD/.NT)I4"68;U*J:M1LN%-CI22$C^DC8!*JI\WNL&VKI/LE>WRG:* MOUN/A*S*G:0#3N1?P*+'T;HUM+HP, M/A+S463?[X?%=NRWD4.NW+J5=DMN/GUZ'H1%Q4 9, B7A5'B5IJ.;=<6ID3G MMU,1)%U?E!_'[IKRTAXM* 4W*CZ@S(KD$UUU(^1&^GJ\#I^74OOAC+2)SZW5 M(HJ@*O@J22?W5>3>91<[KT0E0R.6*#X$I,IT-7EQA<@!!#VY8 JW!<9=>8X* M,+7P+A^8?.3@ [_C*;ZKWH\=Z0^8J:2URM=6N5N G&W?DN;&V=4#@T)49S1- M>QGUR,B0/!FE76FR1^MU:$!X+C;P.FH-ZJ,])3*H"A]!^Y;PS?<]&X#8+$ M3ZF0WXM\6NLU)Y4W#%F4A''&8T+ Z$ MJ@4I*(.SC/D.Y=.SEI7V5;=&@H'8<'2@1#SN2\3C@PG^4@;-X&M'I6Y?G?@* M,>RP:RL1@H1VE->:H%>/"BT>]M;4E#=-BA+GHG6(, I;XT+G^QQ,RPAIY)K8 M>*7$.A$.181#@"[@)@M?X&OOBCH)L/0*LI'2VJ_FPI! MD2D@D%<**$D)B0QDC-@J(BE?;WI*6@ -9%DBHB9[ RF/ZX.L/X GIL5%[VW1 M@#)*>X>U[#-AJ%9C$S[/CRF;('H(A:FV]U5Y.L1MR3S:IEZBD*J]]YDL9>^S M^1R)TEJ*_+V5-9&0O.X^;40C<8L+I9B-Y"N G0ZLA"Z@[7SH9.(+3#EHX[PO M+JSNJX\5YQ!RX5H'SF[?T>),2.:OK@8JTAE5P$L9+@4X YDKNZ,])7 \ MBU4+WU$$G#W/^!S?SHX6Y9[^%^%)9V3Z&NX$&5M&I6'3.((TB@=QG6Z!2JJ1 M8ZCXSF>_SZ_%;ZIJK#-NQ>_>V.JHY[F\H"@\%3./>ZS$W)DNUUM>73NZF+XB MP[%7W$.*2^U0OVG'-D#U@3]?7_3X5/QFW@)>N'%QG5_>J-H_:TP)Q;:A?PIG]2;L2\H$4J>7[JS>#%N3> MN?H8(1 MCN.+=ZVV/;\M9'K:8Z2/H+]?$4;)?YK(6>#4@I.=!=92'IW^W7(QI*?6!9U8 M82D4=%2;&6'F?0/G3J&U=VD?["4'9MI:%%"?4XZ+Y,21!NZ?14,,6L%4@P^P MHR<].WIRD-8@92ET48)\"2:W31@Q]Y*DKY>V0R[+>V:8%+R#A["2,LM? NE2 M&JZ'\8( &I_T_6GJ@E*G:M\!%KXPD-\ZF%2E[[(]YPF MNF3]^?[APIW3DFQ)S>I*W95-S5(:!.21A)+@?V42\9Y#D/G,"+_C-)/ZJS+U MP#,:=IX8*6XTG25[<#&S"LU,EQ1ZRWW1I^ 9ID%?#:%_9/ :DFZ1Y5A"UJKC!)E:YDIZ'&V#\R0M>+9AQU/H#JKXT[SVX?(5:/5$@09 MM8;S\]OE4E=$_4%\A ZI8^4U0\=4#&![/%659/%0<<;] K<,0JY69&TDN%.? M2=D>U!VE*0U.LN6Y(1O9GHO$R"LX+AR55"G M0EN"?M[K<,-:]%ZG-_OP\G\\8,>DY[U)SP^>^%Y5ZL[/ 4AH^%RE -MGP]^3 M2$0J=9G$X*<]OY>UXT'QDL=SJ;UR-I?Z1N;MZ8>,B'\I(O[LF4QE>#+SH$P2 MQ@TGS2JZA0%#3OQ,EQG5^*@\6AYMQ#X>Q!'EXHP5FT2FQS.!8(-S78=6=(5$H7+7&U+K)>TNIZ51EF<=4LHH3B-2 MAKC<\!J: L!"G,DU@QEE+BA3*F6HIV#9J5P4<09ES$R+Y^RN.%G7.M?;^R2. M!FAWA#)O+Q(2V%*]8U@$&E\HL5&2+YB*:1S/A-$+0)CAB8+.' EDX0,/SET_ M]J Y2J *E#ERF?Z7"Z&ETB\8J(*#4JPWK3+^6K+8YU@/A@B3S0'^8869/ M)S:<43JTY+EA3[.-4C[O_;DFZ[T[8A1OK9BU(.+BT?1.;-ZB"43;P"0=R[>J M3NQ^W1J6^DE#4:(*C*0N/W00D(PJ*S] QSR4HJI0-E?C.@^F8HSBH6ZV;"Q[ MLL5O:+F \"A6>&FS%823JC8 M+7=Y([FPS'A'TPR>L\M42#E\Z"X/C$9(ZG@8 I<_/A(_CA+7W9G5EVC? P;9 M-[3)$ -2G30;U5VNL##&]TU:OY7;S'PV^FM*OZA%&\E=RBW9C^]WH(AP);PL M-?7VNV-T%//,;[%I5*TSD) C]P$H-T&?-\(:)?V]Y?YX]&/Z&B''?S+ /S/8 MF'Y7[]_V?Y4P2S_&#\O3GS2@@L'U 4EFB:TG1T\?3Y!W^<\$TD-T+?\TOW Q MNC5_;)0$1Z4%^)Y&H^6!#NC_5N/BOU!+ P04 " !IB:I8N)583WH$ L M"P &0 'AL+W=OX#>).]OY!O9DH_4S3WZ) M9\&0 6&&D6,+@OY><(59QH8(QC^US: ]DA6[WXWU.^\[^;(1%EL_;E@>Y'.K!]A5\L. XA*ZW1>*Q."7*KJ7WRM>7B+PJA6 M&'GY2?AQ'QJ] X,2Y,U_O"N>FT")Q4'9>T,[4K2<_//)A%*?A,512H& M*Q,EMS(2RA%ED2Z5DRJ!0FC(:CR0E[XY:+L;E;ZU>.N7+Z,+HR@")*#_*IRF*R14?:1>YQ^GV@SWZ#QDZ?4(!YDND]/'L:=KU5-!2P@',%[ M""I!+-\=BT[C7Y%O4=:\;+[/7:T=)/6'>)QR0J^OA'[_>PAW9 M_$9A"<=UI$X$X+(-P.6; ] 0O]G#3Z@3(XI41K"@%]@>H_^TX?]!_^%])!3) M*PI!*.",7\48B"Y6SW34%DB>-W?^_"C]'><:00OUT=V#&JOT_H3GG;!\49(O MKJ^_M#G OXYCMP;J[[HF#U3J(U,I/)2K&D%W?4^K/F/V0?%B861 M-@R!6+2I+ JVT]B@3&;/_$W9R"SK[/7AZ0A !M %:-!1,2W0MT_9O@B^SXR8I$QB8F/6UME^\?NQZ#3P5 .)+Y/LQ70JIEI5]M6<%%U M0*_B51])=9D8LU04MZ0Z[%]103)5;U9-G"Y\/[31CA+.?Z;4SJ)A =K?:NV: M"1_0-LCS?P%02P,$% @ :8FJ6&\@GW31 @ ! 8 !D !X;"]W;W)K M&UL?51M;]HP$/XKIVR:0*)-2*!E#")!UVK]4*DJ MW?9AV@>37(A7Q\YLIW3_?F<'4BI1)$1\YWN>N_.]S+9*/YD2T<)+):29!Z6U M]30,359BQA.:6B/+/:@281Q%%V'%N S2F=?=ZW2F&BNX MQ'L-IJDJIO\M4:CM/!@&>\4#WY36*<)T5K,-KM!^K^\U26''DO,*I>%*@L9B M'BR&T^7(V7N#'QRWYN ,+I.U4D].N,WG0>0"0H&9=0R,/L]XA4(X(@KC[XXS MZ%PZX.%YSW[C6[+>3 )(,>"-<(^J.TWW.4S=GR9$L;_P[:U M'9-QUABKJAV8(JBX;+_L9?<.!X!)] X@W@%B'W?KR$?YE5F6SK3:@G;6Q.8. M/E6/IN"X=$5964VWG' VO5):[QY(%<"I,A8U9P)0:Z4-]![96J#IST)+WAPF MS';,RY8Y?HH74R.N[$ MS=34U"S#>4!#8U _8Y!^^C"\B+Z<2&'4I3 ZQ9ZN:$;S1J"KW7514,#NM,C_ M4./0Y%@#5L$-ETQFKJ8K2]7U^F.)G';U6")@Y\*2Q-ZZ48U[-6F4X#FYR6E8 M!/E%6/GEPHS#?<4,JS7J?1T3V-(%_0HE:#]0OW%)Y*HQ5 K3GQX!]&X/+6!A M:#?42CN/KXD[==:6T.MS[DI)3U SGI]Q>9:QFEN2/\+%>#A(HC&=AH/QY=AK MXL%D$@$U2%,UPB=#@\XS;J&7#)-!,HK[T//F?:<9#3X/+_O'ZAD>3&:%>N/W MCPN-&J\=TD[;K;A%.]FOYNU^I/;?<.I&@05!H_/+<0"ZW3FM8%7MYWRM+&T- M?RQI3:-V!G1?*&7W@G/0+?[T/U!+ P04 " !IB:I8!I3V.T$$ #2"@ M&0 'AL+W=OA:0+;> M_)*XMH$X6; "#18D:?=AV =:.EM$)-(E*;O9K]^1DF6Y<[UN^V#S[?C<\QQY M)TYW4CWK'-' U[(0>N;EQFPF0:#3'$NF^W*#@E964I7,T%"M [U1R#*WJ2R" M. Q'0OYE-9F8(+O%>@J[)DZF6!A=S-O,C;3SSP=6[L1#"?;M@: M']%\VMPK&@4M2L9+%)I+ 0I7,^\JFBR&UMX9?.:XTYT^6"5+*9_MX$,V\T)+ M" M,C45@U&SQ&HO" A&-+PVFU[JT&[O]/?JMTTY:EDSCM2Q^XYG)9]Z%!QFN M6%68![G[!1L]CF J"^W^8=?8AAZDE3:R;#83@Y*+NF5?FSC\R(:XV1 [WK4C MQ_*&&3:?*KD#9:T)S7:<5+>;R'%A#^71*%KEM,_,;QE7L&5%A5 BTY5"BKB! MMT]L6:!^-PT,.;&F0=H +FK ^#N "=Q)87(-/XL,L^/] 9%K&<9[AHOX+. = M4WU((A_B,!Z- 2'IQ#GS]2(F95@2!78'*$:UENF'CY M2<,M%TRDG!5PI34:#4QD\)&S)2^XX23JKC[2#)B!CFZ;#?" ::44%VM8,,WU M*=5G>9U6_40$5[*@7+?(QMTB(&XTJ4S>Y?_FU44*%$M36=$TO(9HY,>CD#J]YM=,7&T9+VQL>Q36GB88BC$%PL5K M I_ZCWU8RRTJX;+YL 9#_^(R(JA>T[N6:B,5,TBE;'EDV8.Q?S$8M^VO%"5U MPBKV1Z.D;6NEKR&._6@86<:A/XSV$A)K%#6Q^]N)_(< Q4,_3 := #43_R= MT3AL F1[YP)TZ8_&@[;]7H B__(R;MM]@)+0CT/+/(HH)J.&_B#R+\CIF:HQ M;*O&\-]5C9R)-?'AXJ@2K$B@,)0_-@S4U3RC&^\^F)U"HN,SLE?$'PU%SO-\$CHJC7 O^)SFA!4&I0U\[#>,X[,*2 M]"- >^]')Z]@T'EGE*C6[C6EP65C_>1H9]L'VU7]3CF8UZ\]$DUB-!2XHJUA M?TS72=4OJ'I@Y,:]6I;2T!O(=7-Z=**R!K2^DM+L!]9!^XR=_P502P,$% M @ :8FJ6"KB6GVT P 2 D !D !X;"]W;W)K&ULS59+;]LX$/XK S4H;,".WK:]F#K>%PYIMO.,/'>"ODD\H1-?RH2JXF3J[U^LIU59ICQ=2E M6".GF:60%=,TE"M7K26RS#I5I1MXWL"M6,&=Z=CJ'N1T+&I=%AP?)*BZJIA\ MOL92;">.[^P47XM5KHW"G8[7;(5SU-_6#Y)&[AXE*RKDJA <)"XGSLR_NHZ, MO37XH\"M.I+!9+(0XLD,[K.)XQE"6&*J#0*CSP9OL"P-$-'XWF(Z^Y#&\5C> MH?]F[#D<.B?>*0] Z!)9W$\BRO&6:3<=2;$$::T(S@DW5>A.Y M@INBS+6DV8+\]/2>;U!I6F6MH//(%B6J[MC5A&SFW;1%N6Y0@E=00O@LN,X5 MW/$,LY?^+C':TPIVM*Z#LX"?F;R$T.]!X 71&;QPGV9H\<*WT^S!+2XT,)[! MW?>ZT,\PQ[26A2Y0P5^SA=*26N7O4XO0Q(A.QS#;YTJM68H3A_:'0KE!9_K^ MG3_P/IS)(-IG$)U#G\YI.V9UB2"6,-NPHC2UZM.N[,\9:6G!GE ;W5$ZIW(X M&^5T#H\YPHVHUHP_OW^7!/[P@X*UD'HIRD(8/NP%'V7X5 <^ZK"\J:#=K*C5 MR$D3*B'0J5#PU95)(,WW)8=910&*?S"#CU(H!36G(Z>TBCNE"]J.)'7N.<&( M6E$Q51<^TAFDX!.94ZC9KYP.1'JTM:2D;K!YF-/AV^7\$E9B@Y*;+CDF?0%Q M+QD-Z=NG7V?0;34^+8HD?Z)"Y\#BA<^PE\0^^-")NT:.AO"%\I6_V/DT%Q!N MQ^]:V8='H5D)*B=>?8VR C_NQ2//8/E!UXZ&H[>R*P5?-=ZGPR9!V 9-@J - M>;IB%^ />I$?&L%D[X?=5N?YM)%2K!:$WY8M_+^5S1^,6N+]9CSTSA1MU!L, M0XBA$W6M'+U:M"@*";5OI>A$R0:]((EA:)'L(/FO%8NC&$S-XBAYNUY)Z!G! M_!D&K6[P\Q[[J0Z'VAU*=5LC%!P$1WA&)D%(H!O"AFG:\F+7D<:2+2F#@['. MI:A7.2SIWK6:IO$.+7?<7$U'G3HHW:/;K4*YLG>X.4MJKIN+;J_=/Q-FS>UX M,&_>&+0 *]-L)2[)U;L&PO=V]R:W-H M965TW"3:V+AV)GM4/CO=T[:4*32O21WY_L^?V?[;K96^ME4B!9>:R'-W*NL;:9! M8/(*:V9.58.25E9*U\R2J\O -!I9T8%J$<1A. YJQJ67S;K8G U2L.5!(VKN7<1 M31>IR^\2?G% MY*VQJMZ 24'-9?]GKYMSV &H&0SJ%_2RKU^B M8L\>J/>*5B"H%0S2]XD\2+-?Y.Z-YXJZRUBWC:T05DI0DW)9 C,N1K>05\,U M ),%7&&.]1+U-II,=[(^+![?2")5K2&8.>D9' #NV9I>L$7-F3!P!''J)TGH MC+$?1^?P1&T,7$*C54FJ#8S]23*!B1_%9W#-):?77D"I5&$@BOTDG4 4^E%X M#H_*,D'0]P*/($W\-$HWQF@,^VXGV.F?&G7930EW.JVT?2L-T6$07?3]]Y[> M3S$ZC))+ P)7! U/)R,/=#\9>L>JINO&I;+4VYU9T3!%[1)H?:64W3IN@V$\ M9_\ 4$L#!!0 ( &F)JEBU62/A/ 0 .D, 9 >&PO=V]R:W-H965T M3,F3.:,Q0]W7'Q7:X1%3S452-G MSEJIS9GKRGR--9-COL&&5I98E;L[)QYE,S=RWF M4[Y55=G@M0"YK6LF'B^QXKN9XSO[B9MRM59ZPIU/-VR%MZA^VUP+&KD=2E'6 MV,B2-R!P.7,N_+/+5-L;@Z\E[N3!,^A,%IQ_UX-/Q_8/)G7)9,(EO>?6M+-1ZYF0.%+ADVTK=\-U';/.) M-5[.*VFNL+.V2>Q OI6*UZTS,:C+QM[90_L>#APR[P6'H'4(#&\;R+!\QQ2; M3P7?@=#6A*8?3*K&F\B5C2[*K1*T6I*?FG]&2DG"R1U;5"A/IZXB4+WDYBW MI04(7@ (X8HW:BWA?5-@<>SO$IF.4;!G=!D, EXQ,8;0'T'@!=$ 7MAE&!J\ M<#C#WR\64@D2P1]].5J(J!]"-\:9W+ <9PXI7Z*X1V?^^I6?>.<#!*..8#2$ M/K^E1BNV%0)?PI<-"J;*9@6L*>!#V; F1S IP!V*6IKY=Z7,^;91<,,4RKY\ MAB/>K1&4+C@L=%>"2:I1$G(4BAH9RL:VN^V\BJ(4H#@H\ML9G=.8W1/5%4*Q M)T/$T=#[FXE O3WHK"J3B:),@"(8P+>\WK#F\?6K+/#3)(5]W M:K#)8X[U L5^-CP[L#I://G44 2^E>0F3RV"=H!OPSF\ =Z5H643C4/XM;W^ MT'O9EJWUS<81>67]OKVOABKPB$S(/B;).*!?],^1GK$*QQ/*QQ_0;]SI-_YI M_5JEOG^@;X;$/F$.0O4WFE9K3B+AC=$H1;$)HHW2"4FM!2+4=C="O1OUR<<( M8(<"M<*6O"+]RS.X,[Z'.]G+ZOER7!+B)HG6+Y!YD;Y.TK9OGUO$$S B#\[A M=LV%>F,J=&@110%$7@!W7+'J>>E;&W\4>C%=@\D$OC)1FC8^- @3'P**94&. M*?JC)$G,/8XS&*A]TM4^^>G:7S&U%:4J41[O9%83GXEI69GE/ET,ANG7Q7$\ MOA5MLM53I!=VD6?%?U;I)^9/=31^)Y.]NKI>.Z67&8RBU*=[&$VT70SAR L] MB*Q>$EJ/TPC"S*RF- PRCX:I'F8T]*CJ?AB1!DF5;$FJ@&B431+JV<,:;MAC M;1K 3ZGXH:YE%M++E91!V9 72@4G!)=,3ND>Q:>M>[N[PSVKMOC4/H>OB101 MCX(@,M*(PD%II)TTTG\IC>//V@^$,1CD?V'\%X3A'AP_:Q0K<\BFPX3^)MJ3 M:#?;G>,O[/'UR=S^":""K,I&'P*6Y.J-4_I>"'NPM@/%-^8PN^"*CL;F<4W_ M15!H UI?&UL?55-;]LP#/TKA%<,#6#4CI,X M'TL").VV]E"@:+KM,.R@V$PL5)8\26ZZ?S]*3MP42'.Q)(I\?"1%>KI3^MD4 MB!9>2R'-+"BLK2919+("2V:N5(62;C9*E\S246\C4VEDN3%=8)H/JW8%E=H?U0/FDY1 MBY+S$J7A2H+&S2Q8="?+OM/W"C\Y[LS1'EPD:Z6>W>$NGP6Q(X0",^L0&"TO M>(U".""B\7>/&;0NG>'Q_H#^S<=.L:R9P6LE?O'<%K-@%$".&U8+^ZAVM[B/ M9^#P,B6,_\*NT1WT LAJ8U6Y-R8&)9?-RE[W>3@R&,4?&"1[@\3S;AQYEC?, MLOE4JQUHITUH;N-#]=9$CDM7E)75=,O)SLX7QJ U4*#(@4I,>986+I_86J#I M3"-++IQBE.WAE@U<\@%<#^Z5M(6!KS+'_+U]1-1:?LF!WS(Y"WC/]!7TNB$D M<=(_@]=KX^UYO-X'>-^5RG=<"& RASMIF=QRBA7V>;CA)A/*U!KA]V)MK*97 M\^=4&AHO_=->7"=-3,4RG 74*@;U"P;SSY^Z:?SE3 S]-H;^.?3YBCHSKXFT MVAQXW[KZT3.%1ZK?*;YG$4_S/?DT,D7]:*QS;0LDN:"VYG(+S#@9E2LKVGKY M)-]@AN4:]4':FQQIO;N\O),$JFI#9J;3(#@#6!6\JE ;J 1QS(%+9($6><^1EQF8;Q*.ZX M-1DF'5C5:ZLL$] /DW@$@S!.DSW#J141''5VBWOJY9ULC1M_+:@\8[:*=#]1BE[.#@'[0]C M_A]02P,$% @ :8FJ6' [=[_V @ B08 !D !X;"]W;W)K&ULA57;;MLP#/T5PAN&%O#J6])T7]JEIEW2HU2\06FXDJ!Q/8]NLNGM MP/L'AZ\I)X0"2^L1&+V>\ Z%\$!$X]<.,^I3^L## M]1[]?=!.6E;,X)T2WWAEZWDTCJ#"-7/"/JCM!]SI&7J\4@D3GK#M? >4L73& MJF873/N&R^[-?N_JF]#\(D@-T42. M2]^41ZOIE%.<72PU]5?;/\!D!?C+\98J;N'B,UL)-)>SQ%(2[YJ4.\#;#C _ M 5C O9*V-O!.5E@]CT^(7,\PWS.\S<\"WC-]!4460Y[F@S-X1:^X"'C%?Q3' ML!2,I'KA[WKAWV]6QFKZ5GX]+P'Y] 7CW0?*R<0U!J>=:TG?XSQ6^=EMPZC2&\5$WK+&7\AS/.)C#.4Z(EW9J: M[G001,Z*-!YZYFD\'F603>+QI( [JH75KALL7+XF#ANJGX%!G&4Y%/%D6,"C M6UEEF? *1_D$BC0>CB;$W9@IW)2E:YQ@%BL:(E3\DK. =I&E\?5X= D7DWB8 MYIC802Z&WS=QJHV#)N5LC2ZPK*F?P5J[T#G:Z7L?N,3 M]'^?Q5]02P,$% @ :8FJ6#A?#<&ULS59M;QHY$/XK(ZXZ@;2!?6%W(0=()'V+U%91D[8Z MG>Z#V1U8JUZ;VMZ0W*^_L1=H2B@7]=-] =L[+\_XF1G/9*/T5U,A6KBOA333 M3F7M^GPP,$6%-3-]M49)7Y9*U\S25J\&9JV1E5ZI%H,X#+-!S;CLS";^[%K/ M)JJQ@DN\UF":NF;ZX0*%VDP[46=W\)&O*NL.!K/)FJWP!NVG];6FW6!OI>0U M2L.5!(W+:6<>G5^D3MX+?.:X,8_6X")9*/75;:[*:2=T@%!@89T%1G]W>(E" M.$,$X]O69F?OTBD^7N^LO_:Q4RP+9O!2B2^\M-6T,^I B4O6"/M1;=[B-AX/ ML%#"^%_8M+(9"1>-L:K>*A."FLOVG]UO[^&1PBC\B4*\58@][M:11_F263:; M:+4![:3)FEOX4+TV@>/2D7)C-7WEI&=G;Y0J-UP(8+($+BV3*[X0",P8M :Z MMXQVIC<96'+F5 ;%UO!%:SC^B>$$WBMI*P.O9(GEC_H# KE'&N^07L0G#;YG MN@])%$ MAL>]N)HZ-VM6X+1#16-0WV%G]OMO41;^<2*&X3Z&X2GKLQNJT;(AT&H)K[GD M%L_>49(?B><8\M.VKPZ3(0!)3:)05)#&D@_R:2N$I1)4V5RN2,R=$4]%M2?* MW^Y+++!>H-Z=)N?0O9*DK1I#W\DRWA>XMK#Q142VV1UJZ@G0&%PV @1?8N_0 M\A. Y_!&*V/@DFG]X !]9J*A"RB*IFX$B_.PR2-.G1*@W240)1V!_"K68E M2E:C@5$0)4/HQD&<1#V2&85:H>HV6 E]I1.J1E+!Y&D(WRT8D&D/83^%662:.U/0+ M2/(@&L<.N(H;^G)H[&C)S]*3YB35!:$ M:>[H2?Z3GB@FTL=!/!S#D&[O)#UQUH.(\GYRHF^D M^[Z1/KMOS&NE+?_'WQF\NJ?7WKBBUK_04$XZ/=X*YT=Z1N#[RB7=(9,/E'YK M>L$-6$74%DJ7AUWG,7Y\A)_>YC8"X2-XG2RSUBSM=A MEE.^C*%NWSF-;@8B*<]6D(W&3B*%)!AF([?,:)FD?ID[@3!URQ%$01I2$ZB0 MAJJE)>-9D$6[\MT7YC'6!X_>?4K]E9]N#+7H1MIV!-B?[@>H>3LW?!=OIR]B M8,6E 8%+4J72("YU.]&T&ZO6?HI8*$MUYI<5#8&HG0!]7RIE=QOG8#]6SOX% M4$L#!!0 ( &F)JEB3=K>3S@( &H& 9 >&PO=V]R:W-H965TU#/1* [5;")KPYF >T5T7554 MO5P"EYNIU_-V@@>V+(T5!+/)BBYA >;GZE[A*>A8O/>^+)O M[9W!+P8;O;>6",-X;CF]SJ4%[N]W M[%]=[IA+2C5<2?Z;Y::<>D./Y%#0FIL'N?D&;3X#RY=)KMV7;!K;P<@C6:V- MK%HP1E QT:QTV]9A#S ,WP%$+2!R<3>.7)37U-#91,D-4=8:V>S&I>K0&!P3 MMBD+HU#+$&=F\RQ3->0$MMAF#9I0D1-I2E#H72D0AG!&4\:98:@]?:0I!WTV M"0PZMQ1!UCJZ;!Q%[SB*R9T4IM3D1N20O\4'&'07>;2+_#(Z2GA'U3F)>SZ) MPJA_A"_N*A$[OO@=OENQ!FWPOAGMDVM(C2O%S7/-S M9 %:C*<&?>:J-PMOT M]U 1&A_]PS[L"QOK%K/?UQ^NKU=M7[^_]O50)D=]'<[D@YLWBA/;P62REHC3)\U#!9 _HOQA/3]:!#CFOBC M<-09&+I%;9)I:$OXHCLBA>Q+LO?\*U-)-.5O?6IAF%'32;I#. MF_GQ:MY,82SGD@E-.!0(#<\O!AY1S61K#D:NW#1)I<'9Y+8E_@Q 60/4%U*: MW<$ZZ'XOLW]02P,$% @ :8FJ6)G5H>NO @ XP4 !D !X;"]W;W)K M&UL?53;;MLP#/T5PAN&! CJ6]*X66(@Z6X%5B!H MN_5AV(-B,[%06?(DN6[_?I+LN&F1YL62:/+PD!+/O!'R016(&IY*QM7"*[2N M9KZOL@)+HLY$A=S\V0I9$FV.K2B+)75#)_"@(SOV24.ZE*&W-]S07:&MP4_G%=GA+>I?U5J:D]^CY+1$KJC@('&[ M\);A;#6V_L[A-\5&'>S!5K(1XL$>KO*%%UA"R##3%H&8Y1$OD3$+9&C\ZS"] M/J4-/-SOT;^YVDTM&Z+P4K![FNMBX24>Y+@E-=,WHOF!73T3BY<)IMP7FM9W M//$@JY4691=L&)24MRMYZOIP$) $[P1$74#D>+>)',LO1)-T+D4#TGH;-+MQ MI;IH0XYR>RFW6IJ_U,3I])Y(2;A^-@U6*!\1&"4;RJBQ#.[(AJ$:SGUM$EEW M/^M 5RUH] YH#->"ZT+!5YYC_CK>-P1[EM&>Y2HZ"7A-Y!G$X0BB(!J?P(O[ MJF.'%[^#][TFMFI$!83GL)8BKS,-73.H,?]9;I26YLW\/59^BSX^CF[G:*8J MDN'"J[JV>NFG#^%Y\/D$]W'/?7P*/;TUW@HUC52P-;ZB43.X*R3BJT< @RL.NA"U,@U70W>1 M]A/#BC#",P2B88,[RCGE.YNI0DE%#A]A.DHFB5F341Q&MN1'ZB3!L-I3L3)@\ E3BXF M<.SJ_(/!*U'NG+PHR$3-=3N#O;57L&4[N"_NK?R9)VZ*5\!P:T*#LZD1#-E* M2GO0HG)CO!':B(+;%D:%45H'\W\KA-X?;()>U]/_4$L#!!0 ( &F)JECW MD^Z.$00 "4) 9 >&PO=V]R:W-H965TZ1DQ2D< M;U\DDKI[[CG>/:0F6ZF^ZC6B@:>*"SWMK8W9G ^'.E]CQ?1 ;E#0EZ54%3,T M5:NAWBADA7.J^##T_=&P8J7HS29N[5;-)K(VO!1XJT#75<74\P5RN9WV@MYN MX:YS1_;6X5S88=2E%6*'0I!2A<3GOSX/PBL?;.X$N)6[TW M!IO)0LJO=G)=3'N^)80<\1(YMT!$XUN+V>M"6L?]\0[]O2_UT69CWM93TH<,EJ;N[D]D]L\W$$<\FU>\*VL8TI8EYK(ZO6F>95*9HW M>VKW8<\A\]]P"%N'T/%N CF65\RPV43)+2AK36AVX%)UWD2N%+8H]T;1UY+\ MS.Q&BE7?H*HHE86!TP>VX*C/)D-#X-9DF+= %PU0^ 90!!^E,&L-[T2!Q6O_ M(9'JF(4[9A?A4<"/3 T@"CP(_3 ^@A=UF48.+WH#[\KF=U7JG$M=*X1_Y@MM M%'7%OX>2;;#BPUA6*>=ZPW*<]D@*&M4C]F:__1*,_-^/,(T[IO$Q]-D]*:^H M.8)<@F5]B-]1A,/\?BIU+DE9VF!APY@UPE)RDF@I5L"T7:,"Y.NN L!$06QR MK!:H=JO1^9[5JX^GUX) 9:W)39^1E:E5:9Z!FA3A6A -U ;N[,RA6S#X@\L% MXW I);9](K.+,@I#"+PHSN"]0OQ. MJ>&WNMP0+0/4E]1P@3YVD/#Y]R\N 1Q"D$: M=O"ET(9QSMR!Y2)T5 81V:?1"#(_A<]4+]4"[BQV[P!">) $X\KL 3[EO"XL ME5JP2BI3?J<]=2U0:EV[G:-@3!@C+XNB'0Q_W:LG$"3>B+C1 M(/.B(( C,DLZF27_6V9M?Y;H.M\IQ3736_([BGQ8?O,#HO*<\'1+I*"#?9]& M4]\->[9G,LF3VH^1I BZR*E9SFBK$V^<)M8B@<#W$MIU&H]H.0PR.TQ;V=$P M@SX\O 3O[W?#R:X?#M5LN'=U5:A6[H+6U%Q$KKG%NM7N'V#>7'TOYLT/!&WM MB@0$')?DZ@]2*I)J+N5F8N3&780+:>A:=<,U_<>@L@;T?2GIC&DG-D#W9S3[ M 5!+ P04 " !IB:I8JV?F2)$# X" &0 'AL+W=OTB MBG118=5 TS]*KVD6X5LM(9-3Q*1J-IU+!:!.NEV]NJ]5)VAM<" MMPITUS1,?=D@E\=5$ >GC<=Z7QF[$:V7+=OC$YI/[5;16S2@E'6#0M=2@,+= M*KB/%YN)/>\._%KC49^MP4:22_G9OGPH5\'($D*.A;$(C!X'?$#.+1#1^*O' M# :7UO!\?4)_[V*G6'*F\4'RW^K25*L@"Z#$'>NX>93'G[&/QQ$L)-?N%X[^ M["0-H.BTD4UO3 R:6O@G>^GS<&:0C=XP2'J#Q/'VCAS+'YEAZZ621U#V-*'9 MA0O561.Y6MBB/!E%7VNR,^M'/*#H$&Z>6P[#B"W,&FEJV29><%_2RI]L!$"4_DLRX0^DCUI1BN M>KDXOZG01:FZ9B><1*F60RV/P#%2X%IH@#Q-(RS M*<19.)^GM@ D&$5NOH:?9"DD\7PHPLG7I;/C<#Z;0!IFR>3?7.(XA>EX2E44 M-N_7<.(P2XE4.$WGX*MT.OW.9GF6S.QB%LY&*5S1X&30X.1_:_ 1;:NWJ=FB M,ZN0B^*["O^&^$@).>,674,MO+)LCX+<3A)@I)R6*5,SSK^X MQDP"$O!G5^YI9AAKV4[I@P M)'/KL%:45]VBFQRD4]\Z].*U"'O!WG%-WVQ?E6&J2VS/]<*DYTULV) MU=[-+$WN.V%\8Q]VA[%X[Z?!U^-^IM*]V]=" \<=F8[N9E0(Y>>4?S&R=;,A MEX92X)85C794]@!]WTEI3B_6P?#/POH?4$L#!!0 ( &F)JEA? 7XJ&PO=V]R:W-H965T=CDJ66'#EB166]&4N9,$U;>6BHU82 M>6J5BKS#?#_J%#PKG?'0GMW(\5"L=9Z5>"-!K8N"RY=+S,5FY 3.]N V6RRU M.>B,ARN^P"GJWU.;QS"'!-M$#B]GO *\]P D1M_U9A.8](H[JZWZ)]M[!3+C"N\$OE# MENKER.D[D.*_+G. MPXY"WW]'@=4*S/I=&;)>_L(U'P^EV( TTH1F%C94JTW.9:4IRE1+^IJ1GAY/ MM4@>STU<*22BH%HK;M-U>L=G.:JS84>3&2/<26K(RPJ2O0,9PC=1ZJ6"ZS+% M=%^_0^XU/K*MCY>L%? ;EQZ$@0O,9]T6O+").;1XX7LQ+[G$\TL;\PU_(8II MF$C)RP7:]1^3F=*2^/+GH> K[.YA;'.'+M2*)SARZ)(HE$_HC#]^""+_4XOG MW<;S;AOZ>$IW,EWG"&(.4\+.$H1[5#HK%W4\MI[P?65K.#&4S_3+H3!:#1T. MXVZ),!KR#Y0R@2-*%199-E4UH7 M>)G:E,6! C[/ZGSAJ&]4N1;]0D]) C1[A,\\D MW/-\?313W3!@;G_0)XX$?2]D%1J9"?J1RV(&0>R%D:TQ'9XR%KA]-C@#UO5\ M!O0;.,?,?ND%;MCUSXQ\-(#?1'E>Y^(P,UW&(M?W V.7-")H+V-A&57G\_WJ MK2E#DM(J]UO,*N?E\94]4-AV\S^SC,>5K>*@AM.(>;@@/2"5*A#19UD+SO"[3WB2#ENUS2GPR41H"^SX70VXTQT/QM M&?\-4$L#!!0 ( &F)JECA)XD+F , )0( 9 >&PO=V]R:W-H965T MPI]5!>P]5 M'TPR$&L=.[6=S?:_[]@) ;HY="]@QS/??#/^)I-%H_2+*1 MO)5"FF506%O- MH\AD!9;,7*L*)9WLE"Z9I:W>1Z;2R'+O5(HHB>-95#(N@]7"/WO6JX6JK> 2 MGS68NBR9_O<.A6J6P3@X//C*]X5U#Z+5HF)[7*/]HWK6M(MZE)R7* U7$C3N MEL'M>'XW=?;>X$^.C3E9@\MDJ]2+VWS.ET'L"*' S#H$1G^O>(]".""B\4^' M&?0AG>/I^H#^R>=.N6R9P7LEOO'<%LO@8P Y[E@M[%?5_(Y=/IY@IH3QO]!T MMG$ 66VL*CMG8E!RV?ZSMZX./^*0= Z)Y]T&\BP?F&6KA58-:&=-:&[A4_7> M1(Y+=REKJ^F4DY]=?:%[%\H8J%!#ILJ2*F4*IA&N-FPKT(P6D:4XSCK*.LR[ M%C/Y#F8*3TK:PL"CS#$_]X^(7T\R.9"\2RX"/C%]#>DXA"1.)A?PTC[IU..E MW\%[9%IRN3?P3$FO?;9_W6Z-U:21OX?R;>$FPW"N;^:F8ADN VH,@_H5@]4O M/XUG\6\7R$YZLI-+Z*LU]6%>"P2U@_?$0[ACAF? 9 X/7-06\Q VC8)[P>A6 MG] 6*A]*Z7+038&P4X):EL*!=4H GYNTQLFDJBUS764,PH^XRY;*PZ RN4R%&;HW?O M^X!248^V<;[Y%P+F']@KA=[C&88!;DQ-V"Y->E<:2PM7ZLDTG*1).$EF,$G# M.+D)9^/DY(X/%1[N6A0+:NR%Z>W$]8.(SMG_J[8IFTY9IPUU\ E(?CYU*A:Y%!01-@BTK2A2GTX ME&I0_$<-KST;5;4-Y6Z9V%K-,Q>[IH MVQG8;JRJ_-S9*DM3S"\+^FQ [0SH?*>4/6Q<@/Y#9/4?4$L#!!0 ( &F) MJEBJ[Q#)I04 .D- 9 >&PO=V]R:W-H965T]F M"2%P:K\D7J_G\3,SS]BS)TOK[OR".=!#GAE_VEJ$4!SW>CY9<*Y\UQ9L\&9F M7:X"'MV\YPO'*HU&>=8;]OL'O5QITSH[B7/?W-F)+4.F#7]SY,L\5VYUP9E= MGK8&K?7$M9XO@DSTSDX*-><;#G\4WQR>>@U*JG,V7EM#CF>GK?/!\<58UL<% M?VI>^HTQB2=3:^_DX2H];?6%$&>+VWVET[#XK1UV**49ZK,PK5=_LJU/Q/!2VSFXR\MJ[43[)B4/MB\ M-L9SKDWUKQ[J.&P8'/9?,!C6!L/(N]HHLOR@@CH[<79)3E8#30;1U6@- +ZMZ28UU46$-7\ :T1=K MPL+31Y-R^M2^!UX-N>&:W,7P5< ORG5I-.C0L#\#@_[[5[B.&Z[CU]#/ M/FA?6*\R^NQL6?@.79DD*U-MYH17"0*M3X73!=VKQ0 M9D7\4*!0/ 6+6DOLW.@?3(HRZSVA>@*6?KZ\PM[W[(,.I>,.)2I+RDP%T%"> M9C9#B?MC:E_)>EMZ95*_3^>%TQD-WE5II!M4H'B!V82/:6] >_3VS>%P,'Q/ ME\HOA,'GS$[A^J6U<>FL%$'1=-6P;8\[1X.^8!?./FA4)U-B?<4?-9]M0[0' M^]0>=L;]HWWZRG,E9T%;8D&91(V<_=<0\)BGBL[F\62V*-A9W)T0.<>+F/73*LILB;*K(*\7=H0 MZ[ SFHSH^NH3?,W1L/AX)$9'C(==&W4Y .IDVYCS(K,KAD/!)G?Q@D]W8N#( MV:=Q9] _H%L;8AT/^IV#23]R/H=^),Q53J(:$6/>7:V;V7%/,>L2^I)-'6A3-6G"H#ZRD9OZCJ-";L II$]&&)+>6\0\JCL$5QF'1RFS4)VY%HP$K@HP(M MJ<>3/UOA%ND>HCW"<2Z='@#W^MV#]40'4?:B:%#,5MTHAI]??=OX#9R$,UDH M-V?_T@$-(7:BBIP6/<'@&=QH$ZX2WT[9Q>@\->YO& L!N33C\C2&7]*)1B%X>BP'=(,NRC&>+MTH__\:M'%WLDGT%2]? MB"-D@?[=U9*>46E$9*#J$7]1B10 O!/=RT56LV\4OR8;%BJ IGRDP#C";Q5# M/*#CK5"?C>N:>2KM[J[.KK?1?H/&/'YDX$X3F5>=>#/;?,><5^W[X_+J(P@= M[UP;3QG/8-KOOINTR%4?%M5#L$5LYJ<6-WD>APM\B[&3!7@_LZCB^D$V:+[N MSOX%4$L#!!0 ( &F)JEAQZ[C:X0, !81 9 >&PO=V]R:W-H965T MX>67ONB MJDXF#(FUB9VS';BM[L/7=D)(:$A+FS>0.)[_S/PR?LIDS_B+B $D^IHF5$RM M6,KLP;9%&$.*Q8!E0-63+>,IENJ61[;(.."-,4H3VW.5:AX9G$L52-]BS288C6('\E"VYNK,KE0U)@0K" M*.*PG5J/[D/@>MK ]/B5P%[4KI%.9Q4)@+R=+26$60$EK\XZ\EB)K!:'S&P"L-O!,#=WC&P"\-_!,# MSSMC,"P-AH9,D8KA$&")9Q/.]HCKWDI-7QB8QEJE3ZA^[RO)U5.B[.3L(X\P M)7_BXB70#1(DHF1+0DRE>BDARZDD-$(92TA(0* ;] %SCO7;0F\"D)@DXBVZ M0H2B)Y(D2D9,;*DBT_IV6$8Q+Z+PSD3AHR=&92S0CW0#FQ;[H-O>]3H$;(6D MXN(=N,R]3L4GS ?(=Z^1YWA#]&D5H#=7;U6A9XQ+O$[@LX!(E;\LFQ2BSSDE MLB7TQ;]WY+=EWFT>0'@T/\39D;]?U85O=/TSNJM8977S"_ 4!;"6Z/>?50?T M7D(J_FA[OX7:L%U-3UX/(L,A3"TU.PG@.[!FWW_GCIT?VHCU*1;T)-:@.*PH M#KO49Q_R= T?QW%$E]2UF<+Q3DW*NJANU+[@1F!3QQY [_RV,!R6V&Y[<2RRK,L>47+G(>QV@VH9$T+436U8#14C'BQU#T3 M\:*>?E23VJ%'&Y5.;Y=.:WV*!3V)-2C?593O>ET<[OJDV*=8T)-8@^)]1?&^ M>P@W"I*K@KQ&&?#PS"I0B+E.;;PX ]<_&:'MO4;-7D%G8/\Q;=^[0^XPWC M#V()(-%C65 Q<9925I>N*](EE%BK-@O,12-7GNBHH#SHRH+-S \\[< M$A/JQ&/3=\OC,5O)@E"XY4BLRA+S7U,HV&;B^,Y3QYSD2ZD[W'AD0[EG[$$WKK.)X^D500&I MU BLOM8P@Z+0)+6.GPW4:>?4PMWG)_H'$[P*YAX+F+'B&\GD;C] $=*IY*2N$^42;9JSGH'0E)"L;L5I!26C]C1\;(W8$BM,O"!I!L"^( M#@C"1A ^5Q U@L@X4X=B?$BPQ/&8LPWB>K2BZ0=CIE&K\ G5^WXGN7I+E$[& MGWF.*?F-ZTV@&1(DIV1!4DREVI24K:@D-$<5*TA*0*"WZ$Z=O6Q5 &(+-&,T M!2JYT0O3PR$C$LV)>#"\Z4JH*86H>UXE(#$IQ&O%F9GH@'*8UG$$!^((T0VCYI!UM6[RI/6F.#)F&DP"+S!_ 2%_AL4>$'4LY[9 ML#R!M)6'/?+D^;.' ]&$[3:'AA<=X%W5.ZEV 5(@:WROMN_/=@>N^@P?).K? MHTM1X10FCOK!$<#7X,0O7_AGWKL^MVS"$DNPCI-1ZV1DZ.$!)_\]K.C[)S4& M74LHQ8\^(R.;1MJ$)99@'2-/6R-/!X]DUTBNC'R#*N"ZK\_$&N9[AJ;_S=:Q M=^('8W>]ZT[_J*@[*AE=[)OVQ3M(.?;0V(0EEF = M]\Y;]\YM9]^Y32-MPA)+L(Z1H];(D9@PUM M/R7VLW!XTJ,MZI]T+PW=G0)$)55N"CF!S)VSOG*WO6VQ>&5*I+W^J2XB36&S MQ=05J+H1YT25& 4L%-([.5=_XKPNZNJ&9)4I<^Z95)EM'I>J$ :N!ZCW"\;D M4T-/T);6\5]02P,$% @ :8FJ6*5?!T#W P M!0 !D !X;"]W;W)K M&ULK5AM;]LV$/XKA 9L+9!&K[&=S#:0N"Y6H$:# M&-T*#/O 2&>)B$1J)&TWQ7Y\J1=+IB +$\HOMDC=/;SG^(@ZW?S(^(M( "3Z MEJ54+*Q$ROS.MD680(;%-6\ MG'ODRSG;RY10>.1([+,,\]<'2-EQ8;G6:>*)Q(DL)NSE/,[?RG,*AM/B3P%&<7:."RC-C+\7@8[2PG"(B2"&4!016 M?P=809H62"J.?VM0JUFS<#R_/J%_*,DK,L]8P(JE?Y%()@MK9J$(=GB?RB=V M_ -J0C<%7LA24?ZB8VWK6"C<"\FRVEE%D!%:_>-O=2+.'!1.OX-7.WA=A^"" M@U\[^"71*K*2UGLL\7+.V1'QPEJA%1=E;DIOQ8;08ANWDJN[1/G)Y6<>8TJ^ MXRJG-$*"Q)3L2(BI5#D.V9Y*0F.4LY2$! 1ZA[9*2M$^!<1VZ)&S:!]*] 0' MH'M *T9#H))7>&_>@\0D%6^55VTQMZ6*NEC;#NL('ZH(O0L1^FC#J$P$6M,( M(MW?5FP;RMZ)\H,W"+C!_!KY[A7R'"_HB6?U_]W]@7#\9@?\$B^X@'=*(:]3 M&&HI_ ^M^"O;2L;[,C>(7)P =R+'(2PL]8@+X >PEK_^XDZ/>V"2NR$PC?M-P_UF4 Z=ZZX7Z$< M>#'7Q[L"0D-H>FK:,LGUC4O8:'UD"DWGWU9([F 1,EK"0=^!.NN*N-=J>GM!QVU) MXP[7-*-TO-YS]5EZA38DBM1GQ1H+>87N=UQ]A* WZ\WZ_FTOP<$(1F^N(30] M7VUAY4Z,B]MH+64*3>??5E/N8,$R6MS3WFKAIJON?K/9!76W]8\[7 "-4O=G MF?37PL.+C-Y 0VAZ2MI"R[TU+F"C]94I-+VET!98WF !,U; -5I'F4Y7P!?, M_(Z [;/^C])B7+;%!"J;-U5?I)EM6F_W9<.I,__@WJVJ!EH+4_7S-IC'1.DY MA9V"5*\(=5[RJD56#23+RR[3,Y/J@2@O$\ 1\,) W=\Q)D^#8H&F4;G\ 5!+ M P04 " !IB:I8D0P@BBP# !3#0 &0 'AL+W=O'7LS':@ M^_>[3D(*(F1%2E_ 7^?XGF/?Y&:R$?)9K0C1Z"5C7$VME=;YM6VK>$4RK"Y% M3CC,I$)F6$-7+FV52X*3$I0QVW.2I%/KQKV>N9X! ME"M^4K)1.VUDI#P)\6PZWY*IY9B("".Q-A08_M9D1A@S3!#'GYK4:O8TP-WV MEOVN% ]BGK B,\%^T42OIM;80@E)<<'T@]A\);6@T/#%@JGR%VWJM8Z%XD)I MD=5@B""CO/K'+[41.P W. +P:H#W5H!? _Q2:!59*6N.-8XF4FR0-*N!S31* M;THTJ*'<'.-"2YBE@-/13$A9.RI21.$L-9$4,T2D%%*A 5K S4D*1LS\ES2% MQ:9UD_R&X. \M4):H#O*,8\-;J&!H1H_GQ.-*5,7P/*XF*/SLPMTABA'/U:B M4)@G:F)KT& BL>,ZWMLJ7N](O-^QO$2^^PEYCA>TP&?=\#F)&[B_#[?!N<8^ MK['/*_G\(WR/'!<)U21!,\$3N-U52PE&$VR&;S$#8PA:F!-JDUOQ!^W\)HFO M58YC,K4@2Q61:V)%'S^X0^=SF_B>R/:L\!LK_"[VZ"8!(^ >P1W(,4T&E ]B MG%.-69OL3JY395=DPY+,/+?6T3#TQF-G8J];! 6-H*!;4!P76<'*8X0' XUI MZP$&!YL/?"]T_7&S>Q5DM2[<6^<&5^ZH/:T;G'?.QWJ# MGMSHBVW?CITRRNTQ)[O)3I;N'MQE-QP=R4GWM;1Q.\N%MV9E-\O)6KS#UVF+ M&'NGXC6?&U 6+BE7B)$4<,[E",R0505?=;3(RR+X26@HJ56E) ED$K&4R1@,7$N\07QO3S ]'A@L)%;;91/Y9'SI_SB)IPX7CXB MB"%0.8+J7VNX@CC.27H<7TNH4^7, [?;S_1K,WD]F4,&*::#U]EN;K/E=" M/V4Z3DVO*1-H3>,,4 )49@+THBKT&_J3"D'S-4'O"2C*8OD!O4,L19\CGDF: MAG+L*CV '.,&9;)9DO]Y]#._$WA+10_U M\0GR/7^ OLP)>O_N0\NXKEZ/Z7=@2#?FKT#UD%=@O'9,8Y;]:HWZAMOO6J,' MLT:W6VMTDZXR)9%>"O.0FGWT&8(H95\SD.B?3YJ#;A0D\M^VM2J2#MJ3YO7F M0JYH !-'%Q0)8@W.]-=?\-#[O4U@FS!B"=80>U")/>BB3Z\BFBXA?]$7]=;@ M"Q3H-Y?I)UIXW90L!&$4/]%= UUQI=XH(12MMG=G5J0=FK1Y-5Y/O;&[WM;P M98^1O].'= [^C=*<5M*<=DHS#]B<+@!]Y'&HI9 G^A4,VJ;:B3GTS;()(Y9@ M#?F&E7S#8VSCH4VQ;<*()5A#[%$E]JA[&^_=KC&CCRQFZGN;F)W00\6T"2.C M%\6A/_+JZM 0Z:P2Z>PXM:XS[:$RGKTLB]YN6;24L*'B>:7B^>%E$?V'"),! MS[2&]U1!FTJ=V$-5L@DCEF -.;%7?Y)ZQRB4959+>ENE$5NTIN);)@#_;+4\ M:?@#EJ]%J\B=B0X6V2:-E#2,M[_!>M[@M+V*8K^6SW]3!;AG\@E="]!O9:I MCW!_+>C.<+!N-FG$%JVI;NU^\%'L#[;J?ZS2B"U:4_': N$?>"![Y<"27RE% MMDDC)6VW''C^GG)0VR3\!I^DR\&EE*#0G6 !H <>:TGW?89V)SA8-JL6RA:M M*6YMHO!17!2V:J.LTH@M6E/QVDGAG[92KZT&5NV551HI:=AO5(/AGEI0.RS< M;;'V?AK &M+LAW7 JI&R2B.V:$UA:].%SX]2!ZR:,JLT8HO6_%=[;]0CNUI%+ F)ICJXD,H:_.+^H[E;'8Y?F4&CG_@Q? M7!6'7#6F.'.[I6+)4HEB6&BDUQOI/[RB.,8J+A1?F8.=1ZX43TPS JJ7)>^@ MGR\X5\\7>8+J,''Z/U!+ P04 " !IB:I8;;*=*=<& "V.0 &0 'AL M+W=O(6I(:!R85MH?OTZ@,2:)P>;R98;'];&O[R&/XA=0JS$FV6)K/ZBYUULT$.SM2RR MY6ZP6L$R3K?_^8_=1NP-"&G' +P;@$\=0'8#JIWK;U=6I77+"SX9Y]DSRLMH MA58^J/:F&JVRB=.RC/=%KMZ-U;AB\I['.=KP9"W04G"YSH6J48'>H'M%F/DZ M$2A[1,5"H&FV7/'TYQ\2O8]3GLYBGJ"W4HI"(I[.T<>8/\1)7,1"HKLMT!SQ M E7X7RO\LFCHLYBM\SQ.G] [+F.)7MZ*@L>)?*6F_')_BUZ^>(5>H#A%_RRR MM53('Z%2/@:X0#3EN%3^_!;,:N'$W-X7^UN MO<6XWF)6G^!KN>(S<=-3'U$I\HWH37[_+8R"/]NR M @(S#H)UJ@WI1 W>JH?_0EZO[*_24 M;42>5I=;^V?%.H=KC8# C.T8UMLQ].7A$#)'(# CQU&=XPCV2CAJ$(\-1X?L M; D*N\@9!OJ[/_"BYS3+5UG."Z$$T<,Q=MKG<"T=%)JY(WMJ*/1EZ&XD5)Y M:&:>6I*$5C7@SM(=WCX#!T,Z.*!I2]0H&M .GFIQ$=K511=/_U;"-#^)HU9\ MY]H!H9F[H>5+2+TY"BI9H-#,/+5H":UZP8.CK,$^]45/#CG:C I'(]S!42T_ M0KO^Z.+H79:*GZICR[^IGIS/9MDZ;9Q M$0D*6U=L170N$1":V7QKD8,#[_8;5+I H9EY:NF"K9+!T@#M!AK,PB$[U)@M M823 008EC%JR%#HZ\&0LJ8:#0S#RU MA,'VLQMWQ@X:7#S\CK>&F.O4$@3;).3-4U!] M X5F'KQK?4/LASCN1^_!49Y:0\QU:GU"[/KD.$]/;I7L,[G6#PK-W!#A#-45QZXI!3UR@T,S\ MM>PAWCX1 94P4&AFGEK"$%^OB#1MH#!@88. +6%A%'48DT1K#N+G%^T(Z-PJ MV:=SKMHESEJ(%CK$VSTBH,(%"LW,4PL7 NP@D:8[U""L+<1TT;7PH'[ND2:K M4Y-DG\W9;K_$80S58H=Z^T@45+Q H9EY:O%"@7TD>I*/U!+5[2-1+4&HGX^D M&7MRJV2?R;F*ESB@4(S\]1ZAY[O+=&F:73XU6\-,9>F M)0H]QU,BK2L%/7.!0C-_3J>E#_/VE!BHC(%",_/4,H;Y>DJL:18=$L\:8BY( MZPUVCI=$G!LD^W3.U;K$"0O3\H9Y>TD,5*Y H9EY:KG"@+TDUG2)&F2UA9CK MW/O5[3DN$G%MD.RS.=?P$D*)@)VD:+C+I(UQ%RG M5B31.2X2<6F*[#.YU@\*S=P7+8PB;Q[2%'SMJ$&-6TA MVZ7U]VZJ*^]HO./Y4YQ*E(A'-2:X&BA>Y]N;!+=/BFQ5W6?WD!5%MJP>+@2? MB[P,4.\_9EGQZTEYZUY]J^;D?U!+ P04 " !IB:I8.^ S \P" !Z!@ M&0 'AL+W=O]OVC 0_5=.636U$FM" M@'3J(%*AJU9IE2H8W8=I'TQR$*N.G=D.=/OK=W8@I1ME^Y+XUWOW[IUS&6Z4 M?C0%HH6G4D@S"@IKJ\LP-%F!)3/GJD)).TNE2V9IJE>AJ32RW(-*$<91E(0E MXS)(AW[M7J=#55O!)=YK,'59,OUSC$)M1D$WV"U,^:JP;B%,AQ5;X0SMO+K7 M- M;EIR7* U7$C0N1\%5]W*7*6'\$S;;LU$ 66VL*K=@4E!RV;S9T]:'/4 977 MS+)TJ-4&M#M-;&[@4_5H$L>E*\K,:MKEA+/I#>,:UDS4""4R4VLDQRV\@QF5 M/Z\%@EJ"+1 F!9,K-, E>,R#Q]#F1$G+:8M0-#0\1\V\X9\Y6W#!+2?4Z35: MQH4Y(^;_ IRX0%\*51LF7J%(?9-J]QDU?\2EX]N*,PA8&/,L?\)3XD MCUJCXIU1X_@HX1W3Y]#K=B".XA[,9]=P>G)VA+?7%J#G>7O'"N#-[+PPX*ZI M1@YDS!2S6FOR#,;,<-.!N50+@WK-%E2@6UG5UIU1,B.T][(#$R:R6C3&?ILJ M(8!N\8;I_/LA,QN-_<,:76.X-!7+_.E#N-TG9"[R61 MY,.C[Y#G\/M(ZO)!JF_%3 B-OL^SO+AJS;1>O&RWB_%,S)/B0BY$;GZ92C5/ MM+E5]^UBH40RJ1K-LS;I=+KM>9+FK>%E]>R3&E[*I<[27'Q2J%C.YXGZ\5ID M\N&JA5L_'WQ.[V>Z?- >7BZ2>S$2^G;Q29F[=NUEDLY%7J0R1TI,KUJO\,MK MSLL&E<775#P46]>H#.5.RF_ES?O)5:M3(A*9&.O216+^K<2UR++2D\'QS\9I MJWYGV7#[^J?W-U7P)IB[I!#7,OLSG>C95:O?0A,Q39:9_BP?WHE-0!7 LCY35:?AS:#^9>' :7 M.V#.,=D!#-@P&'&W1MP-9T.C$HJR$HJM0CD =]?M9LY[@QWD@)5)CCX,OE># M[QV5RIG,[Y$6:@[A[#D(^N7DTD 9?-TCZ[)?!]-_RDB4L9W[8NL#L>WFCFO# MF:?_!S7D01#R%ZF3#,(S $:;X=W>AJSZM -CPAU+B9W]J S)UF2WW8WK"KW= MF4] ANOLG3\@$Q_\+4;'$>&O)Q@0/P8FE-TA@(P\,PJV;(N#_#7\O="I46@& MW9LD5>AKDBW%&0K$!<(G4 YUG"& S/JTZXG!DB2F0R+ [3[,U2E))/&@GT0R0*284R4< # _ JH 8@,[\*;F\GZ&I65%43V#<+GFZ!!!^^6.'P9(Q#K.Q=T+%$'^Z,RIHYI]2+<_B M7K :H(H&848BT$TTIZ!C;/D8APGYF)IPR14209"97P5A2\,XS,./KPF7@EWA M$'[Y(X>!6#HG!] YN"(#V!=@"-#,RQ#$\C0)\_3MQ>@"W$ M*]SSP;>D3\*DOU\"DZAT'\M;,UQ+]R0:W1-@+0W4+F#EKUU+]F0018N12+2] M">84(H!:$4##(N"(P:$NWP,U UEY:X9:44##HN!:*E/.9G30I.3(L"8(^SIV MA&)Y:T9N-0$]O2:@435!+&_-#MG:9H^_S^ZR?:_/G=1UK0;='O6DKM4$]&2: M@.[?:@=,/%L!U&H">CI-0 %-P'*THH'%$ 8TJ"F)Y:YX,6E' MHHD"YM(]4#. E;]FF!4%+"P*_M SH0X1!&$_QXY.+&_-J*T@8*<7!"RJ((CE MK=DA5A"PZ(* N52/^VQW@PZR8LPSI["MD_?3';WOWR0 3#R;!,P* G8Z0<"@ M\_==S =O$C"K!]BI]0 #-OW[S,$.6#'FF]NL'F 1C^#9(6?P@!%GOJ](+)&S M,)'[DCF,UR5K)XU=$U_A63)GX>U\!VNV2>,P6'R\I(. MMR3)PR3YZ*,L[I*@.[< 1MZYA5NBY"R*^.9!OCTZH2)Y:P:]]:7;_G/X0Q-J M[:D;)BC(RB6H]M:WLN6'RA\3=6\F@9+VK][>_Z1LM%]?GLG=1: MSJO+F4@F0I4&YO>IE/KG3?E%;OT%]O _4$L#!!0 ( &F)JEB^Y=2&NP( M "\) 9 >&PO=V]R:W-H965TIEE3+U=HY#KKA=X[Q./?)8:.^'' MG06;X0C-TV*H:.17+!.>8:ZYS$'AM.M=!9>]MHUW <\U+\X!.3=KTO M'DQPRI;"/,KU'99Z+BQ?(H5V3UB7L0T/DJ4V,BO!E$'&\Z)EKZ4/&X"@N0<0 MEH#PHX"H!$1.:)&9D]5GAL4=)=>@;#2QV8[SQJ%)#<_M5QP916\YX4P\R%>H M#7T6HZ$&#TPI9GV%TSX:QH4^H]FG41].3\[@!'@.]UP(\E]W?$/+6Q(_*9>Z M+I8*]RQUSU0=HN 5_LBQ1WO]'!NG_.9ERHQ-M3AM@+!"PL$=7]M .-2D= MB&!/32[>Z-0PJ&AONO!IQ;7+LB*/KRX/>\"NXF8]Z/BK32<.QVP)O*@$7GRD MUF\^4N 'F?[VJQZ);$MTJQ+=^L<%WCJF%4[!H+2E&9[V O8^)YSS[G8UTDMU;,N QY M*;G0$Z&,P%WBNAU65*UO08NZXGC.[L/]VQ5&/O!39.*KF .YK&Z4SAS>Y:< ME2 TDX(H6$Z<*_]R&MOX)N '@UKOC8EULI#RV4YN\XGC64' (3.6@>)K U/@ MW!*AC-\=I].GM,#]\8[]IO&.7A94PU3R)Y:;8N)<."2')5USC+$#1\X5_*L"4SIC,N]5H!^7FU MT$;A1OLUY*\EC(8)[>&[U!7-8.+@Z=*@-N"D'S_XL?=UR.U_(GOE/>R]A\?8 MTWM:XXXRH!CE@W^RA<<-W':%31I$8>@E[F;?PD!4'/A?^JA7VJ)>6W14VQ/V M +O3*B57Z'Q07LLPVDLI/5#\+H4-M E.=[[U0N[L7%1\4]2$,YEJX_WD/ZXC?_+ HC/SK0-Q@UB@_T MN7M-R%X >,)73&C"88DX[WR,!E7;5-N)D573EQ;28)=KA@7>0Z!L *XOI32[ MB6UU_&ULM9==;YLP%(;_BL6D:9.Z@LEGNP1I_9A:J5VK M5NLNIEVXY"18!9O:3FFE_?C9)H5,"J:)RDW X//R&,[QFS,IN'B0"8!"SUG* MY-1+E,H/?5_&"61$[O,Y #*S05GJAT$P]#-"F1=-[+5K M$4WX4J64P;5 ]UPLW=)$H<\&/)CE9P"VHG_FUT"._4IG1 M#)BDG"$!\ZGW#1\>X0,38&?<42CDVCDR2[GG_,$,SF=3+S!$D$*LC 31AROGK^K?[>+U8NZ)A&.>_J(SE4R]L8=F,"?+5-WPX@Q6 M"QH8O9BGTOZBHIS;#SP4+Z7BV2I8$V24E4?RO'H1:P&XWQ 0K@)"RUT^R%*> M$$6BB> %$F:V5C,G=JDV6L-19K[*K1+Z+M5Q*KH O22)OJ ?1 ABWA#Z= ** MT%1^GOA*/\',\^.5VE&I%C:H71*QCWIX#X5!V/\_W-=@%5U8T856K]^@=P,D M1:=2$07(DJ*_Z)(RFBVS37!.,9/?AS(G,4P]G< 2Q!-XT<!A\=:#V*M2> M5>\UOD@I ?9*S#UT C(6-+>9]_M"ST7G"C+Y9Q-VKP/L?H7==[[AJQS,9V<+ ME);@"D2&^!S%G"FA:V83L%NRAUZ ".F &U1P@^W@!)B-IKI@83=%,Y+;KC=L8UY\'O6STM>H-VMMIWL-MX[B"A<0J(L!FZ M4@D(=/JXI+G^.Z+<%N36W3$K<6U"N#,7PEW8$*Y]"'=@1"V:_?:,J*T(=^1% M+;JMFSZNW0B[_:,E:9L-P*V[ZZ>OW0J/.DO:+KP+U^:%G2:S8]*Z-=^PC=4N MA;>TJ3BO]2*FK],MP8(RJ9\WUU+!_DB7@RA;I7*@>&[;DWNN=+-C M3Q/=7H(P$_3].>?J=6 ZGJIAC?X!4$L#!!0 ( &F)JE@,\7*PJP( "L( M 9 >&PO=V]R:W-H965TX[O.;ZV M,]L)>:\* $T>JI*KN5-H79^[KDH+J*B:B!HXOLF%K*C&KER[JI9 ,PNJ2C?P MO-BM*.-.,K-CUS*9B8TN&8=K2=2FJJC<7T(I=G/'=PX#-VQ=:#/@)K.:KN$6 M](_Z6F+/[5@R5@%73' B(9\[%_[Y(C;Q-N G@YTZ:A.C9"7$O>E\SN:.9Q*" M$E)M&"@^MK" LC1$F,:?EM/IIC3 X_:!_$($,0#@* %!(\! MTP% V )"*[3)S,I:4DV3F10[(DTTLIF&]<:B40WC9A5OM<2W#'$Z^0+H@2+O MR2W61[8I@8BD2O&*4^!V%#R'62E[/B2J51LN"8W5"/%FR5H MRDKU=N9J3,S0NVF;Q&631#"0Q%^&(G.>_+K8J6TQ#K[W:>HH8CZ*.U$8>W)G*QTR0K>XZFL@V6%=L08 *T-TU5!:8_K<:*;P&T?-R;%- MO(D7X6ILCW4^&7:B(.H41/^G(&\K>#C_J#>QL\@[_OF/U R !M1,.S73?U,C MP9S&G?]$XPXDC),]4*F>N3[C4\8M5T JP76AB!^0C.[[F!;/8XH.3$'4PW3B M2]SY$K^L+T^O^OB$8Z-B&EO&J:(#5<-$XD%3W*.CW%RC>#2N&5&PO=V]R:W-H965T]@*VN?O?[P[C8[3FXD6FA"BTR3,FQU:J5'%IVS).28[E!2\( M@R<++G*L8"J6MBP$P8EQRC/;=9S SC%E5C0R:_X%DF>=8_)F0 MC*_'5L_:+3S09:KT@AV-"KPD,Z*>BGL!,[M626A.F*2<(4$68^NJ=SD-M;TQ M>*9D+??&2&_:")2L?6T$()6> R4P]\_85L\_&U7LPS::YH7=D.' O%I50\ MWSH#04Y9=<>;;1WV'$"GW<'=.KA-A_X;#M[6P3.)5F0FK6NL<#02?(V$M@8U M/3"U,=Z0#67Z+$X5I M)L_ ZFEVC4Y/SM )H@P]IKR4F"5R9"M T8)VO T[J<*Z;X3UT!UG*I7HAB4D M>>UO0PIU'NXNCXG;*7B'Q07R>I^0Z[C]%I[I\>Y>!XY7E]4S>EYW67]>S:42 ML%5_M96HDNBW2^C/]U(6."9C"[Y/2<2*6-''#[W ^=R6WW\2>Y5MO\ZVWZ4> M?2^(P(JR)!UV+CN.V M@QIPT GXR!7.$#_V'0\."'J>XS4\1VV\&#S]X(@:,"U&/G^L$%G[_6$G(BE:942(I=, M5<=JO5IWXRO3A!KK$^C255/])U.U>#@TEY1)R&D!DL[% .HEJK99310O3.>9 MI_E^@O4$L#!!0 ( &F)JECV/5H<7 , M ,\, 9 >&PO=V]R:W-H965TU>/KN)$ZP9S&PGZ?[];$,A'2:9NNU+P.![SSD0 M/S+3+1??94&( H\EJ^3,*Y2JSWU?S@M28GG&:U+I.TLN2JST4*Q\60N"%[:H M9#X*@L0O,:V\?&JOW8I\RM>*T8K<"B#798G%SPO"^';F0>_IPAU=%P?,+9 OLC*^4;.7..3!1'CC_;@8? M%C,O,(X((W-E6F!]V)!+PICII'W\:)MZG:8IW#U_ZGYMP^LP#UB22\Z^T84J M9E[F@059XC53=WS[GK2!8M-OSIFTOV#;S@T\,%]+QOR"BN<3P7? F%FZV[FQ$:UU=H2 MX!3]6#,"^!)\Q&HMJ*+ZQJ>:"*QHM0*X6H!K6N%J3H"M C<4/U#6S#N^ M(@I3)D_ $: 5^%SPM=051M?A^R2HBXILGW#D;Y]DB:SRUG3(7)W, OD7-9X3F:>7@&2B WQ\M>O M8!*\W>,O[/R%^[KG-N[Q!)2\4H74_WBSIK3=$Y?1IE5B6YF%M\E1E,*IOW$8 MB#H#T2$#L4NKJ8IWM,(@#-Q:<:<5'])*7%KQ0 O%:>362CJMY)!6ZM)*AEHH M&\F5=EKI(:W,I94.M8((N;6R3BO;J_6Y()K#2T6$2S$;*$;9)'$K3CK%R7Y% MKC #S"[^&O_4<%;.9309:,,434*W. QZ5 5[Y6^(E.>:+CHQDKBAOX4;$>[:A_\>VMO7N/@1&8?:;)7]G>VJV^GJ'MZ*5U!)+71:< MI3J2:';/S4#QVNY8'[C2^U][6N@O#B+,!'U_R;EZ&IA-&PO=V]R:W-H965T[";!\+[G/.?8QHPW0KZJ#$"3MYP7:F)E6I?7MJV2#'*JKD0) M!3Y9"IE3C4.YLE4I@::U*>>VYSB!G5-66/&XOOWT;&7TM M^,%@HW:NB:ED(<2K&3RD$\LQ0, AT28"Q;\UW +G)A!B_&EC6EU*8]R]WD:_ MJVO'6A94P:W@/UFJLXD5622%):VX?A*;>VCK&9IXB>"J_B6;5NM8)*F4%GEK M1H*<%C.1\ M!IHRKBY0_#*?D?.S"W)&6$&>,U$I6J1J;&OD,UGLI&6Y:5B\(RS?J;PBOON% M>(XWZ+'?GK;/(.GL_GN[C5WI6N-UK?'J>/Z1>-^$2#>,H=$>U2'HJ$3'($*.ZCP8PO1[$P)31,3D9>BP%E69F&64J15'W $@CP.=+(?1V8(Z<[@LC M_@=02P,$% @ :8FJ6.&HZT)R @ V04 !D !X;"]W;W)K&ULK51-;]LP#/TKA%<,+=#5B9VE7><8R,>Z]="A:-#M,.R@ MV$PL5)8\28F[?S]*=KRT<(L==K$EBN^1?!*9U$H_F +1PF,II)D$A;7591B: MK,"2F3-5H:23M=(EL[35F]!4&EGN0:4(H\%@'):,RR!-O.U6IXG:6L$EWFHP MV[)D^O<,A:HGP3#8&^[XIK#.$*9)Q3:X1'M?W6K:A1U+SDN4ABL)&M>38#J\ MG(^G";ZWP2#%Q"*#"SCH'1;X=S%,(141J_6LZ@"^F MA^L]^Y6OG6I9,8-S);[SW!:3X"* '-=L*^R=JK]@6\][QYA-T,=+"._C*M&9.8#A>H&5< MF!.RWB\7<'QT D? )=QP(>@B3!):RL.QA5D;<];$C%Z(&<.-DK8P\$GFF#_% MAY1_5T2T+V(6O4IXP_09Q,-3B ;1J">?^;_#XU?2B3M-8\\7O\#W6:F\)G6 MR1RNI65RPU<"H=5ZP4TFE-EJA!_3E;&:GO+//A6;**/^**Z]+TW%,IP$U+\& M]0Z#].V;X7CPL4^"_T3V1)!1)\CH-?;>1W9*S4:A,LY\.^,CS26#?3(TW!\\ MMQM*NW1P=IZ$N\/J^GPN.I\FZ?"@2TK4&S\\#&1J*VWSUCIK-Y^FOBV?V6F&7KTDC9<&A"X)DI*D[I>-X.DV5A5^5Y<*4N=[9<%S5[4SH'.UTK9 M_<8%Z*9Y^@=02P,$% @ :8FJ6+^I$M&N P ]1 !D !X;"]W;W)K M&ULM5C1CILX%/T5BZU6K30S8 @AF4V0VLQ6K=25 MHF:[^[#:!P_OIQ&>Z2Z0^88>+@NQ@ _)+L>9J9+^K$X^,G]/=5\:J81R)@Q=*_:2R3I36S4 Q;4J;R,SM\ M@*8@7^-%+!75+SHTL8Z%HE)(EC7)BD%&\_J??&^$.$K DV<2W";!_;\)7I/@ M5876S*JR'H@DX8*S ^(Z6J'I@TJ;*EM50W,]C1O)U56J\F2XYJHCN/R!2!XC M^%;20LV11+=HHQHF+E- ;(MZ0;^W0:\?0!*:BC&]-5P^@-$;;K73[>5,JT\ M;BN/6^%Y+\AS@]8I427W!?CGDPI''R5DXE]3J37VQ(RM%^B]*$@$2TNM0 %\ M#U;XZR]XZOQF*GPDL)X,7BN#-X0>;LI'R21)3476F=,J4S\T]J&' W>^L/?' M[ U1CA]T43U:DY;69)#6)Q#B'KV-HC(K4R(A5@M851]1HA\1)K(UGG]$XQ8[ MTUEPPM80-O<=U\S6;]GZ@VS-2^T&Y2!-5/TS#BYV)NX)4V-4$)B93ENFTQ=T M50_&A*4QHEG!V1XT4>-B'L2YM,-' NN5'+0E!U=S:IQZTWPZ>O(5.0ZYC;$W0-'\5KW;=TH" MLTT?A+IX3D9"ZQ?>^1D\O69[CNIRQD+K2]'Y'#SH'X;;,SASZ1.,3RVG(A490( -$% 9 M>&PO=V]R:W-H965T%,P$(1O2T*JIZGP.5^[/6]H^&>;7)C#7X2EW0#2S /Y4+ASF]8 M,E: T$P*HF ]]B;]T2RR_L[A.X.]/ED36\E*RD>[^9J-O9Y-"#BDQC)0_.U@ M!IQ;(DSCJ>;TFI 6>+H^LG]VM6,M*ZIA)OD/EIE\['WT2 9KNN7F7NZ_0%W/ M>\N72J[=E^PKW\'0(^E6&UG48,R@8*+ZTT.MPPD >=H!00T(7@.B,X"P!H2N MT"HS5]8M-32)E=P39;V1S2Z<-@Z-U3!A;W%I%)XRQ)EDH?!!*/-,J,@(/&U9 MB5=DR#ORC2I%K<3D^A8,95S?H/5A>4NNKV[(%6&"S!GG>!4Z]@UF8OG\M(XZ MK:(&9Z*&9"Z%R36Y$QED+_$^5M"4$1S+F 87">=4=4G8[Y"@%T0M^ M2"=L5 T=7_@753MDP2G*:<6]:\3].5EIH_ !_VI3KF*.VIEM4X]T25,8>]BU M&M0.O.3MF_Z@]ZFM[/]$]D*$J!$ANL1^YFEUL,DP6,JH:V,XX#S2T"9$Q3YT M['88[9)>]T/L[T[K:_,9-CY5VOY)=Q2@-FYH:)+*K3#5"VNLS5R:N'9\99_B MO*K&RQ^::MCA^]DPH0F'-5)BFMCMJAH@U<;(TO7@2AKL:+?,<>:"L@YXOI;2 M'#&ULM5E=;Z,X%/TK%CM:M=*D8)- Z":1.JEFIE)G M54W;F8?5/KC@)&@ 9VRGF>ZO7_-1"&!,,DU>VI#<>SCW@L\]ALF6LA]\18@ MO^(HX5-C)<3ZTC2YOR(QYA=T31+YRX*R& MYR)8F7S."@RPICDQD68X9XS Q M9I/LNSLVF]"-B,*$W#' -W&,VQGO!Y*^AS!.S M3Y0&VS"* $X"$"8")\OP*2( '\-SMZ=@W<2%#RLZ(;+$_")*23G],RF7_#[D/-#'?R^ M8'8!;/@>( L-%>ES??HU\!-A(=MP%5,FPO]PNBQ51>=(3H:4JLKS; =;^1.S.?=%12'VFI?\\D*&WP,V%24L$C)XM-!&[# M!0%G+!GE2@%Q6E?2=J&'&E>R+ZI&TRUINH?23(A0DR5)7NGE&GOF'TX$EBM M#]"JQKNEO?B?TE4#YIBQES!9@F\XVA#E%+9:MY[GV4[C_NR+JI/<\2#P:-.D M@-JE,!C:([O)5!6&H-M!M9K_4#M6N^=)D;>XV!=K7 X,U#:9(7A9[" M%\#*&,#1*>4-:L?ZP;TX$EJ]%Y51@'JGL+? M0W &-K#YOKLB:J3K&P"U/N$ M@P2N;0(&"-FPR5059KE= E>9!:AW"]T"-VY+EV>U!*X=Y5BC+E;5/(?:,?DF M@=,C0YCG*F_M_5(/,<"HFMQ(/[D?B+]*:$27+W([C?V?FY"10+FIU.( ?WFTP#4?APP=ISF(PI%E(>ZMF>H&N?H M9!O]'F2[$"A/*U!%<7JHX1X/#>KU5R,$R&WT4M&2$P2H71Q M>J"#E_>1T.IE5Z8 N2>5.JWE.+@71T*K]Z)R'4CO.O:6NK:]<$=6%/-*S9TW*^EKK2^8+<.$@X@L)*9UX4BM>#]/U-^;YN]C]02P,$% @ M:8FJ6+G?0"UM @ V 4 !D !X;"]W;W)K&UL MK51-;]LP#/TK@E<,+;#5B>VV:Y88R,<^),?=?OTH MR7'3+@UZV,62*+Y'/EKDL)'J3A< AMR77.A14!A3#<)09P645)_*"@3>K*0J MJ<&C6H>Z4D!S!RIY&/5ZYV%)F0C2H;-=JW0H:\.9@&M%=%V65/V> )?-*.@' M6\,-6Q?&&L)T6-$U+,#<5M<*3V''DK,2A&92$ 6K43#N#Z:)]7<.WQ@T>F=/ MK)*EE'?V,,]'0<\F!!PR8QDH+AN8 N>6"-/XU7(&74@+W-UOV3\Z[:AE235, M)?_.R&8WKC8.C6J8L']Q M813>,L29]).4><,X)U3DA E#Q9HM.1"J-1A-WI(O5"EJ2TV.9V HX_H$K;>+ M&3D^.B%'B"%?"UEKQ.MA:# E2QQF;?B)#Q\]$SXF5U*80I,/(H?\,3Y$*9V> M:*MG$ATDO*+JE,3]-R3J1?*8OA\<'THF[\L:.+WY)>>SI_\L0(+:4R[ ^U3;U/N:<[=W1V)&W2RS[^V,VNH']]^LG99>?D M$PUWFJ0$M7:S0Y-,UL+X]]59N_$T=EWYQ#[!L>6GS .-GWGX>M9,:,)AA92] MTPML>N7GB#\86;E67$J#C>VV!8Y>4-8![U=2FNW!!NB&>?H74$L#!!0 ( M &F)JE@M#W*^KP( !<' 9 >&PO=V]R:W-H965TEKJU>Y6ELC*<";A71%=E2=7/*^!R/?0Z MWNO" UL4QB[X6;JD"YB >5K>*YSYC4K.2A":24$4S(?>J'-Y-;#[W88O#-9Z M:TQL)E,IG^WD+A]Z@34$'&;&*E!\K. :.+=":./'1M-KD#9P>_RJ?N-RQURF M5,.UY%]9;HJAEW@DASFMN'F0ZX^PR2>R>C/)M?LEZ\W>P".S2AM9;H+10JV8%+U46C.2;LGS(Q"M\R MC#/9K93YFG%.J,@)$X:*!9MR(%1K,)J@[S"%3DGHU(JPWY15\\/+W@P M-! \&.2&"6;@_!,6."=W?U1&MYK2J^=8B_8I5[2&0P]O$$:U J\[.V;3AR\/Y!#M\FA M>T@]W%46QLD@]5BP ^_C<@&HC)CO$..[LR6[0$ >'B=)0W@8;[![' M(.S^2_.W^IS]9& W6#"A"8$9>0A$;E"K1K;&F,R9'94\5^7_.X;_-^IO"!>[YRXCNMW MR*?'Y3.(:KGW6FYC)NMTNG4ZW<*?]X:_VVP#2F.5:W5.9K#014INGG.F7\@< M,*5E*GY?+9266,-_ND(N[_"[[S#?]:5:TP@F%GZX"N0&K/#CAU[@?.Y*P']R M]BH=7IT.[YCW5G5U!5MZ" H/IN=L0M_MXW^Q:0;1-@I&SJ@V>@7GUW#^N^ T MW763E?)^\])@< #6MND';C=7O^;JOXLK$JG)&C7MK@NOW[K:"WS_@*_#:.@X MW8!!#1@R#LL [O1I&ULK59= M;YLP%/TK%JNF55H+@7S0+D%JVDV;M$I5LVX/TQXFO/1]G>904'TN2Q#X9B5500UN MU=K7I0*:.5#!_3 (QGY!F?"2J3N[4\E45H8S 7>*Z*HHJ'J: Y?US!MXVX-[ MMLZ-/?"3:4G7L #S4-XIW/D=2\8*$)I)012L9M[5X/)Z8NV=P7<&M=Y9$^O) M4LK?=O,EFWF!%00<4F,9*#XV< V<6R*4\:?E]+I/6N#N>LO^R?F.OBRIAFO) M?[#,Y#,O]D@&*UIQ3:_9*ZM0T\DE;:R*(%HX*"B>9)']LX M[ "0IQ\0MH!P'S!\ 1"U@,@YVBAS;MU00Y.IDC51UAK9[,+%QJ'1&R9L%A=& MX5N&.)/\H$I189XP(QK4!@AG=,DXPY,SLL":R2H.1*[(G9)9E1K2 ;YVAN]N MP%#&]2E"'A8WY-W)*3DA3)!ON:PT%9F>^@:UVB_Z::MKWN@*7] 5D5LI3*[) M1Y%!]ASOHX^=H^'6T7EXE/"6JG,2#=Z3, B'/7JN7P^/CLB)NKA'CB]ZB4]N M "^#L6%:&(P151G!!_GX:,"Z?!CPJS15%>7OR1>1XH758 /?K$[)SWO).<'* MKI'H5U^\&SW#?CVV65SJDJ8P\\JV%+SD[9O!./C0%ZS_1/8L=,,N=,-C[,F< M&N%K6-8KTMMY135O0J'1^H.(O#T9[4'J-!%,3]6B>=ULEK4X^7Y'C2)SU) M#X(]E8=&<7PQVA/I[[37 M3:31U-4ED)TS2@[K0;;%>NG^^=SW'@-?/I'TTS M+;&]8"5KPF&%E,'Y! .GF@G4;(PL71-?2H,CP2US'-J@K &^7TEIMAO[@>YO M0/(74$L#!!0 ( &F)JECK)IXF7 ( /,% 9 >&PO=V]R:W-H965T M5B;FR+76Q1!]/3=N%G4N*RY!6:X5,;">T.OA MU33S\2'@&X>][8V))UEJ_> G7U<3&ON"0$")WH&YUPZF((0W2J>;-#NP\]P? E0=(*DM<*TE:0!M"FLH U8\B*W.@],3[:N?E! MV)N@=C1<^5-EH^ M@[*3I\_ED4/O^)../PE^Z2OYI\_X9]R60MNM ?+C>FG1N+_NYS'F)DEV/(GO MQ"M;LQ(FU+6:!;,#6KQ],QS'GX[MP'\R>[8?:;[?I$)W/^(U'6$66GB9B YFSA4'*'@^Q M:O;(E@*.X61_X8S^H&DB/O8C!ED7TQ09]5K27X?NM]]P98F M5/%@_&ULK9Q? M;]LX%L6_"N$=+%J@$UN2XZ3=Q$!3B9P :1LTG9F'Q3[0$AT+E40/12?-8C[\ M4G]BF;;,1-CSTEBV[N]2YC$O=<3RXE&J'^5*"$U^YEE17HY66J\_C,=EO!(Y M+T_D6A3FDZ54.=?F4-V/R[42/*F#\FSL3R:S<<[38C2_J-^[5?,+N=%96HA; M13JD4B$[&N$-S\>1"? M1)95)-..OUKH:)NS"MQ]_4RG]<6;BUGP4GR2V9]IHE>7H_,12<22;S+]33[^ M)MH+.JUXL_:J%RTW\+37XE7[A2O)('>1,* MS=.L?$M^(6E!OJ_DIN1%4EZ,M4E3?&>*:206O2@HI=0YL):ENO"J!L3BGB+"1P8YL9\C?7)P94YNB_8 MBBZHN<'1YAFI71>E5ALSJFGR[QMS KG6(B__T]/*JX8V[:=5@_6'?))"P$ F+D#"*A#$0S!++="N6J8L^_[+)%T(1N23U M,%7]KDK"2U,[14+^/O8[NW)"AVH&"0L;V&D-JV8*#_/@8ORP*P1D.HJ$,1#, M$L+I5@BG3B%\EYIG=9EZ1\3/.-LD:7%/-@7/I=+I?XT:ZA*6&FGP(A8DEJ7N M*U97SC1#I8&$A4A8U,!F.SKSI\&Y9VN-]IQUZD]]^RP&:IC5[[-MO\_<_;X2 M31W[7OW^;R0O^CK5R1C:J4A8B(1%2!A%PA@(9DGD;"N1,^B$X@PI%B0L1,(B M)(PB80P$L\1ROA7+N7,\J<62;L7RCBQ-)F*JR*;0?6)QTH:*!0D+D;#H_+ 0 M3*:3R5ZY0*9D()BE@O=;%;P?I@)S4YWFFYPLI#*H:FH1I (W;*@,6IIU9]"C VC2 M"$JC4!I#T6PM[%ACGE,+7]>56UH2+5LY]$K R1@L >] EZ?!)!)(RB-0FD, M1;,EX'<2\(=5"9XD::4*FU%W P;KQW^=?I!)(RB-0FD,1;/UTQF=GM,:>YU^-$G2,E:B?C8CER03 M12)4KUB@3FA+>U$L4),32J-0&D/1;+%T1J?G=CIOE8R%2$JR5#)OW,Y,\J)_ MV(#ZFRW-GOSW* &9-(+2*)3&4#1;"9W3Z;FMSH-A(RV,'$Q%(8IKT=VKE-H< M)F0M5&Q.X_>"+*4BPM09-"5FS9]JERS9]#XY<6,'JV)V,+1X_N'( M C5)H30*I3$4S19%9Y1Z3FMM?KT[D/3V/M0;A=)"*"UJ:5Y@CU>SV9[E!]V3%31RL"*@#"J5%4!J%TAB*9NNFF^FXSM6<&4J8E:19-$C,3>> JY8M, M'*U&[@1#9=32]D?\R>G>; 2:-8+2*)3&4#1;()W#ZKL=UB_U8IY;_E2)H+?_ MH>XJE!9":1&41J$TAJ+9*NE,6-^'UAX?:JE":2&4%D%I%$IC*)HMFLYY]=W. M*VRUF#O/8#5!EY^VM-V;Z^G!,_L(FI-":0Q%LU726:Z^VW(=NA;$C1LL!B0M MA-(B*(U":WRW693BKTU5KCXG7JPJH/0NEA5!:!*51*(VA:+9Z.GO6Q]JS/M2>A=)" M*"V"TBB4QE T^S]A=O9L,-">?>'FQXT;*AHH+832(BB-0FDL.%PE[$V/W?P$ MG14;#+!B3?V)BE7EBR1=^>F5!-2?A=)"*"V"TBB4QE T6SJ=/QM@_=D ZL]" M:2&4%D%I%$IC*)HMFITM :NC'VI^& W <#N H#=!@"[#P!V(X!#P]D[/UI\ M.ALV<-NP+ZY* M*(=D8FE")R=G9OA3S1YXS8&6ZWH+MH746N;URY51E5#5">;SI305L#VH$FQW M(IS_#U!+ P04 " !IB:I8N[1"KDP% "I( &0 'AL+W=O&0+OUHQ@F>-4Y'[81 D?H&STIN. MF\_NV'1,:YYG);ECH*J+ K-_WI.]%X^N,\62RX_\*?C%5Z0!\(_K^Z8 M>/+;*+.L(&65T1(P,I]X[^#%)4JD0V/Q1T;6U1!(ZOVZ!>.Z9TW'W_$OU#0UZ0><05N:3YG]F,+R?>T ,S M,L=USN_I^E>R)13+>"G-J^8O6&]LDY$'TKKBM-@Z"P1%5FY>\?-V(G8<8-3C M$&X=PF,=T-8!-40WR!I:5YCCZ9C1-6#26D23;YJY:;P%FZR4R_C F?@V$WY\ M>D/+Q1DGK!#<'SDX P\B469U3@"=@ROYT>LKPG&65V_$EY\?KL#K5V_ *Y"5 MX-.2UA4N9]78YP*)C.>GVU'?;T8->T:]Q>P<(/@6A$$8&=PO[>Y7)&W=D>[N M"_[M)(3M)(1-/-0;3_"\+BO.:I&A'/QU(PS -2=%];>)W"9:9(XF"^^B6N&4 M3#Q1615A3\2;_OP33()?3%0=!=.(HY8XLD6??J(?2.S359D557C,B4@I14W+O=FF*091NX<3],P0D,X]I]VJ1JLXC *6RN- M0]1RB*P<;DA57?P7S)NP\0Z:LPYB@\UH:,8;MWCC(^?N/&7+VW"!>=!M)>5!\UT?#L='_Z837\[CKZ?CY)]&@>L=!:J94-K8YPV M=71#<6E$YK1#NXJF,U4]&B*GI02M/?]D\HZBZ>15M7IX;*__OZ46=XM((MRG=4?1=/)*PT"[B'&7P,-.9B9AN)^^ M72.(HAZ]#944@=:&/_W "/E&&"!?ZVS5K&'>US>WN*SG..4UD]CU^C)C=:I-7$73V2MM$D9N"\PJ=4XF M[RB:3EY)F] N;0X76'QD@1VTTQ$JT1+:18N[ DNZ;2GJT# 8#7J.MD(E/D+[ M.<=+Z\I$EN$\Q\V13%_WLL_<(\M+_%O,%D)Y@)S,A5]P/A"3PC;WXIL'3E?-U?(CY9P6S=LE MP3/"I('X?DXI?WF0M]7M_TZ8_@M02P,$% @ :8FJ6*C>;C7/ @ A0D M !D !X;"]W;W)K&ULK99?;YLP%,6_BL6JJ976 M\I^$+D'J$DV;M$I5TVX/TQX@@WW''[' 5\F M6\:?1 X@T7-!2S&UL@E)=63%>8*FF?&V+B@/.C*B@MN4+MES(JS"_:MK6.A=):2%:T8D50D+(YXN=V'78$;O"&P&L%WK\* M_%;@FZ -F8DUQQ(G$\ZVB.MJY:8'9FV,6J4AI?X7%Y*KJT3I9/*-E>M+";Q0 MV9<27:*%>DZRF@)B*W2+9ES,T?G9!3I# MI$0/.:L%+C,QL:4BU/>QTY;F4T/CO4%SB_D5\MT/R'.\H$<^&Y;/(>WD_FNY MK=:E6QRO6QS/^/EO^JF<^FW\5I4.(6I MI5XW 7P#5O+^G1LY'_N"_B>S5[']+K8_Y)[HQ4?G,2I8*7.AWE6]&Y!R?=&7 MNK&*C)7>,C9)&(_"B;W933-XOQ/3!%V:X%B:L ^\484[X*X3NNX>^:#WB>1A M1QX>(X_ZR,,#\M!SQWO@@]8G@D<=>'0,?-0''AV >V$<[8$/6I\(/NK 1\? MQWW@HP-P9X]ZT/=$ZG%'/1ZD?LA!-?"5VL7[V,='V0?=3V2/._9XF)U)3$WO MZ6./#S87+_"=??Z>JM -@JZJ ;-WFJ3^0%&]9DU*@2BLE,ZY&JDEXDW3;R:2 M5:9O+IE47=@,<_6=!%P7J.LKQN3+1+?B[LLK^0M02P,$% @ :8FJ6,A7 MJ#V8 @ L@< !D !X;"]W;W)K&ULK551;],P M$/XK5IC0)HVE3=(!I8VT-B!X*)I6#1X0#VYR::PY=K#==O#K.3MI:*NT;-)> M$OOB[[N[[^*[T4:J!UT &/)8JI :W:NGK M2@'-'*CD?M#K7?LE9<*+1\YVJ^*17!G.!-PJHE=E2=7O"7"Y&7M];VNX8\O" M6(,?CRJZA#F8^^I6XZM,#=]9;]D\L=-F4KL)CK@)R4P*4VCR4620[>-]#+F-.]C&/0E.$LZHNB)A_Y($ MO2#JB&?Z='C8 4].PQ-(C\'WL@G;*H2.+_Q/%7(E2S)%I13>!_P33$&F[A\ M17[<++2S_^R2O^:/NOEM[QCJBJ8P]K Y:%!K\.+7K_K7O0]=VKTD6?)"9'NZ M1JVNT2EVK%,.2D&&#,=@FN8Y[5UC3]:X@)[T\5Y NAV];AWMY M#MH\!\_*\W*[P'Z#CE"B@]R[S@3[9Y*3T3VWQOY.-\,??^FF M@B:I7 E3-XC6V@Z>&]=O#^R3_G!:SX]_-/4TP^N_9$(3#CE2HOR8@*HG1+TQ MLG(],?Q%F'@K*==WOB_F*YH3<@+.65L>_EX$LR\8*2$Y:)A\=[ M]$]5\:J85R+H \O^3!.YFGBQ!Q*Z()M,OK#=9]H4-"CQYBP3U5^P:V(##\PW M0K*\258,\K2H?\F/IA$'"0JG.P$U">@X(3R3@)L$7!5:,ZO*>B223,><[0 O MHQ5:>5#UILI6U:1%.8TSR=755.7)Z0O=TF)#P2]@IA22;#(*V +UKO$=6P"?";P&&-P % M*.S@\_#V=&RA@]N6XPH/G\%[3 59+CE=DJJ[JMW[2?CK=Q4*ODB:B[^[^E;C MAMVXY0-_)]9D3B>>>J*%FBKJ37_^"4;!KUU%.P(S6A"V+0AMZ-.O3)(,-!*[ M4:^#0HUO*HF)1F*\[DE7&VKLJ,(N7U/;*89#-!S[V\/Z.J*&PP"W40;Q04M\ M8"7^7%.VL;,"7#I)CL",6J.VUJ@GG48N6^ (S&C!L&W!L$>=UMB# P6B,#Y0 M8%W?:12&@]$9G<8M\=A*_!.G]#_**Z9R179=]*P(E\Z2(S"CV%%;[*@GH8Y< MML 1F-$"&.C_XT&/4FW #U488QP>2;4C"B(KLR79;72O*Q1/F",VL69L?..A+MTY=D2LTLPW: M%T&KY[A6M]&I+8B/34%7$!R=T:QV,]!N9V9O8&=%N'BB'*&9]6H3!..^].K4 M'+E",]N@[1&T6H]K]3HZD>(@B.-CP9Y&A>'PC#- VM4@NZMYXUO6CG+I=+E" M,VO6;@C!GE2+G)HD5VAF&[1)0E;W<:5J&W!#CZ/AX$BU'5$X1H,SJM7&!MF- MS5N^ONP0%\]5'ZLY2)LA%/8E6:?^R!6:V0;MCY!]=>A*R0Y.G2H\-@8=05$8 MG1&L=C3([FA>*J965J'X2&?' M%3[^_.J*BO 9)XNTI4%V2_-67^!T@<<5FKEKH+T0#OK:-W!JCURAF6W0]@C; M%XNN4VT#'ME5VQ5UJEK_8-LMIWQ9[48*,&>;0M:[4^W9=L?S8[7/=W3^'MX] MU/N6&J;>1GTB?)D6 F1TH2"#VZ%ZD'B],UD/)%M7FWNO3$J65X)"BF#H4 RB2(BGBXAY,N!A:WU@Q&=!\H\L+U^3.8P!G47#X7N MV06*3R-@DG*&!,P&U@7N7>*V,4AG_**PE!MM9*1,.'\TG1M_8#F&$80P50:" MZ)\%7$$8&B3-XT\.:A5K&L/-]AK]:RI>BYD0"5<\_$U]%0RLCH5\F)$D5".^ M_ :YH*;!F_)0IM]HF<]U+#1-I.)1;JP91)1EOV25;\2&@>N^8.#F!F[*.ULH M97E-%/'Z@B^1,+,UFFFD4E-K38XRXY6Q$GJ4:COEC6 !+ %TAL;:X7X2 N(S M- +C4,KF: @B=3V; OHY">FO7&UU[=ZQKZ MLHIU#(./;FEDYFD'C?60G)$LLN^_:VQTHR"2#]MDU@\@LU'(;%1ZH9 I"IGQ MADR^(9-$/&%JFX!LB5:ZA+EF%A[N].W%%EK-@E9S-UIOWOT:&BLB%-*G#]#] MQ8K*AUX:RF>._F#T5R_!% FKXK"2ZYX.:A4[T3J6.&P=0&:[D-E^KSB$M4Q5 MR)3/'*X-*?>W*:SFT$419RJ0%7(ZA9S.T<3O#A=I)=D]/=LMMJ)[+ 'N[X=JLOL& M7IFIX*-)5? ACF-[HUXUM;\N >=4%Y4AS#22<][6<2*R MR$*UT0I\T B _"3-#C,\[5NF.JXN)/#>\?4$L#!!0 ( &F) MJECH>S?R_@( !,* 9 >&PO=V]R:W-H965TVT?:B*BM9^-LE!K#IV9AMHI?WX^24$I@$" MUGU)?(Z?N^<>^W+N+X5\43F 1J\%XVH0Y%J75V&HTAP*HAJB!&Z^3(4LB#:F MG(6JE$ R!RI8B*.H$Q:$\B#IN[F13/IBKAGE,))(S8N"R+.7]JTO>)#,A"FX$ M>Z:9S@=!+T 93,FQ_ 950FWK+Q5,N2=:5FNC *5SI451@0V#@G+_)J^5 M$!N )MX!P!7 "1'Z0([E+=$DZ4NQ1-*N-M[LP*7JT(8+!,==W([ZX6(+QW;-L;V7X]TKR)3: M@W0HC_9?/'90Z-04.D?*!#P[0:#.40)U:W;=O>Q\?0E_PA!XNVQ'SHWJ:T#1QO%S:.UO_GZ(@B.8%6Y?^ HHDWFD;\SV5S"M6J5^'# M-,1KNO@]Z^@4YOB0S0\W^G0!&ULQ9U=<]I(%H;_2A<[M954C0WZ!+*VJV*KI9FMS4PJWF0NMO9" MA@:T%HB1A!UO[8_?EI#=M&@.*'E3SD6,L_R^6 A1LJ_+ M=%5<]A9EN7[7[Q>3A5C&Q7FV%BOYEUF6+^-2_IK/^\4Z%_&TKK1,^_9@X/>7 M<;+J75W4[WW,KRZR39DF*_$Q9\5FN8SSIVN19H^7/:OW_,:G9+XHJS?Z5Q?K M>"YN1?EY_3&7O_5?*--D*59%DJU8+F:7O??6N\BWJPIUB2^)>"QV7K/J4.ZR M[+[ZY=?I96]0M4BD8E)6B%C^>! W(DTKDFS'GPVT]Q*SJKC[^ID>U@@%OF\J^)K%=>W9;9Y/ZL2N:43;*E5'@1UQHY8[_%>1Y70F%O E'&25J\ MO>B7,F95LS]I^'S+MP_P'?8A6Y6+@O'55$P-]2.ZOF43@+X\V)V"[[/-MP-[\]):MA[R2=*>F M.SK](#*@D:&X.V>V6R/M$Y'\A'/@6*US<,KAAZ>#U>$?I$4T+1 3 TTUDU"# M\Z)_IP[A'-)_!3J[KO5_LZO_]U+\J[F0O6[)[I[8;KF/\5/]]OO'.)^R?_U# M(MFOI5@6_S8BVX\4C?;[F8K@G73W<2J1_I9:J?JJH1)$R2Y MJR:0L )X]Z>)GQKY.QK8K_3F+;J4>&BT P31_#%WT, M27W\4:^HI 3B!Y'+%:)P\JI\FB8SV/E-VZT-U<[Q(<+P()QO<=;J(A$4@F):H\4NBQF2B MJA5(+A:5TR.7W6E6&/MWDM'U5-+Q_/'^( ]J MH)9<:Z"\E@&9WB_-P+X6>9)-B9Z:YG1-,9060&G\R!ESZ][:V#M#VQ&A:+HR M=EPXBUXG3O^S*$T@(HC4-I M(906H6BZS)0O:ATQ1K_#!Z?1G04$-4*A--[0=L>!]A(9&C!"T715*#?4HCV\ MSZM<3++Y*OEO>]?")"O*@LVR_%LOJ-&1.XL&ZI)":;RA4?XY-&"$HNFB41ZH M19N@GZ00\F12N>CUIA=C]I%.X@V4%D!I'$H+H;0(1=.%HCQ8:_S:4QNH@PNE M!5 :A])"*"U"T?1=:,H,MFEK\WNF-C2ZJX"@M !*XPUM=Y1RAZ:M']"P$8JF M:T/9P39M!__ "0X=N;-TH%XRE,8;VJYT',\U:@?J$Z-HNG:43VR3!N'.EK-9 MG.1JMUFY.+3++*X&K9=M)D;10)UA*"V TGA#TT1C&S4#-7U1-%TSRO2U:=/W MFS53+N*R_LL!W4!M8B@M@-*XO6_%.N9Q"NH HVBZ;I1+;-,N\QJ.&H& MK'J0.GQAF^9U%@34.X;2^)$S9V\O;+/A\SXD_^ V)&B[(A1-5XSRC6UZ8VO4 M<2\CC>LL&*@+#*7QAK8[\E@CWQ[:[0X$ZN^B:+HI?'WDJ<0Q MS=*T^H"LGV]SJ71RZ-:/1BM0PQ=*"Z TWM!&NUH9GOM^6RI0T]<4='3NV.9+ MC;9RJS0FD<2@NAM A%TZ6BW%B'=F.IRX#+.+\7Y4 -6VA-.XMJ5+>N^ MVO99.G)G54 ]6BB--[3=9(_,#]V#[IY%T73I**?6I9W:SG8;S>LL"*C_"J7Q M(V>NL=O\QFXSC2W0]D0HFJX49N<1KB?XJ2@#C8[5N;N 6K)0&F]HNU:A[9T/VTJ! M6JVFF/ZY9]ZAYBH+U:4M5* O1D?JG'^HSPJE<=?P@%;39#%T]S>^^IYQ5ODC MW%%7N:,N[8YVM+QH6N=,0QU0*(V[^T]B-8UL(31JA*+I:E &J$L;H/_,RCC= MIG^1I5-1S1?+3;YB<5G&R:I>:KZ1 \-$OC!/'+?\ZL%S:C5U;GOMZ0#4ZX32 M.)060FD1BJ;+0]FB+FV+_I+(I62>3*1&'K)4+C[3I'PZ(HC1OB &YZ.V'HRE MAJUB@;F8[[0>PTH?1><,0BU*%$W/H+(H7?I9K$'RD$S%:LJ>$I%.CZ1N;#C; M[<0=+Q.<4(;3S>Z<,JC=AZ+IS\Q7=I]'VWV?DN+^;):+^ML6A(Q0LES.VDP9 M:TB6HWT^!F[[2O:AQY];.Z1 /;!A\G>?'/-X)MK" M;3) M1EY=ELNO#\DJ66Z6QJ1#]T%":0&4QJ&T$$J+4#1=/\J[\]Q7OL[L00T]*"V MTCB4%D)I$8JFRVSGVYIH@_"[S8"&3RX@3B@3T.WLG''H5DDH+4+1](PK,]"C MS<"C U/\]># !#4&H;0 2N-06@BE12B:KA]E'WK#UQZ8H%LNH;0 2N-06@BE M12B:+C-E0WJT#?G] Y/!1VS?&')"F8!N9^>,0VU+*"U"T?2,*]O2HVW+8P,3 M_RHFF_I;G7^?S9*)^6O Z!B=^P[HYDDHC4-I(906H6CZ5U(J-]4?O/(0Y4.W M6$)I 93&H;002HM0-%UFRO;UC]Q#_QU[=/W]/8K&/08WIH(C0\' 5-!DC''Z MJ#IG%.K>HFAZ1I5[Z]/N;=>=>Z1KY?L(#-:D$<.Q"'/,?]^3S)V M6CG0>3_Q1+<[J4]XZ^4>;\DSD?_L'[EJ>8U*2G-2",H*P,EFY=S!VP<4Z8#R MCA=*3N+L&&B45\;>=..O=.7X.B.2D41J":R^CN2!9)E64GG\6XLZS3-UX/GQ MN_KG$E[!O&)!'ECVE:9RMW)B!Z1D@P^9?&*G/TD-%&J]A&6B_ 2G^E[? 3L!+B^ M6ZGI@[(V9;2BH87NQF?)U56JXN3Z6;+D[487(@4)R]7H$+BL[PUX5D,F/60$ ML UX)OQ($P)>B)"TV-[4^Q- M =![ >Z145#E[P(__A4@'\WZ\AD1'L"^\$XZ0=,?0:DW&]"[K&!/1O=&!3WO M;\4>)V3EJ(DM5,<19_W+3S#R?^O#FTBL SMK8&>E>C T^(8&P?UL2L2)Q#J( M88,8&OOS[X,44LT3-6D %GHJO9(M+0K=5HT]X92EX ,MZAGQL:\:QD?85J,2 M"TLQO<@?URB *%[$2^_8 QHUH)$1] ^."SUJ?X!B%+%%B:Y08!RA.>HGF3_#?D3HMYNQ;UP0O\K4!7?'K0O*Z034 MED[ 9TPY>,'9@?2!U8H3D4VEUN4_,R-PHM4R95F&N="GJF[O[77SXZR+4ZG% MG?7�:6&XA::C1ZZ1S)912TYJK4(#H'F[M!- #6>AEH-C-G*^E(KDFM3:W6 MX4(SUQ_JL-:V0*-EN%A71Z)-:FEJM[S.8A%&87^> MJ+4ZR&@E1KILLXAMT6NUCC6]H.[2M,8%V1H7*W=J5K?&A#UC*T9#^QYJC0I" M4]M3-*E3F4JMR]_Z&63V,U/;4_/CK(L37&V1*'*')FIK=I#9[-B[4[.@-5:/ MU4&!.S286Z>#S$['VIR:]:RQPAZLN;N8#W"UC@:9'7ACN"4<'V#NKYA3+XW] .:_U;6_P%02P,$% M @ :8FJ6#=WR."E P W! !D !X;"]W;W)K&ULQ5AM;YLP$/XK%INF35H+AH2D78+4I'N3-JEJ]O)AV@<7+@'5V)GM).V_ MGVTH@92@=4+JE\0V=X_O'C\X=YGLN+B5*8!"=SEE1$GO(U M,/UDR45.E)Z*E2O7 DABG7+J^IX7NCG)F!--[-J5B"9\HVC&X$H@N$Z6Z7*++C19$U6L #U?7TE],RM4)(L!R8SSI" Y=2YP.=S'!H' M:_$C@YVLC9%)Y8;S6S/YG$P=ST0$%&)E((C^VL(<*#5(.HX_):A3[6D9W,#9$PY_1GEJATZHP=E,"2;*BZYKM/4"8T-'@QI])^HEUIZSDHWDC% M\])91Y!GK/@F=R41-0>-T^[@EP[^HV)(2)!,<^U.B2Q_)Z@A99,LJ& ^!)9 M,S2O&[R_,V- KR]!D8S*-]KE^^(2O7[Y!KU$&4/?4KZ1A"5RXBH=J=G/C^;^[ M!QWA!!7K@<4+CK&>$@$G,\MZ@]0+(0A;@7Y/%+JY1W6[*W)OER]V1"3HUQ<- MB3XKR.7O-GZ+_0?M^YN[X5RN20Q31[_\$L06G.C5"QQZ[]K(Z0FL0=6@HFK0 MA1Y]XXK0M@P+M]"ZFP1JYAE6OXS$(-^Z2J)[ &5:.*JM'_";5P&]8TB+'O'0BU MQ2@,<+M0QU5$X\Z(/@(#02C2=S BB?[QR*02Q/QLZJM>JM9[N1/QJ@7MC$]6)^9UMWVGWN8HN_7G=(J8Q)16&I([W2D M615%*UU,%%_;;O2&*]W;VF$*) %A#/3S)>?J86(VJ/[0B/X"4$L#!!0 ( M &F)JEB)"2JV0P, -L* 9 >&PO=V]R:W-H965TM&Q+ M63)<>+,-I#8'=:' D'3=@_#'FCI9!&52(T\VS4FSP'NEK>6>XY[CEU\^L) MWR3N[%$;G).UUM]=YV,R]P(G"'.,R3$(?FUQB7GNB%C&WP=.KUW2 8_;C^R_ MU=[9RUI87.K\#YE0-O>N/$@P%55.G_7N=SSXN7!\L "$IX#Q"X#H (AJHXVRVM9*D%C,C-Z!<;.9S37J MV-1H=B.5V\5[,OQ5,HX6'U6L"P02>[1PMD(2,K?G\!Z^WJ_@[-TYO .IX$NF M*RM48F<^\:(.ZL>'!6Z;!<(7%HC@DU:46?B@$DR>XGT6VRH.'Q7?AKV$GX09 M0C0:0!B$XPX]RQ^'1SURHC: 4K"T9/J-_=46L M81QW,[I[>VU+$>/Q'IP=PSXG% M(IRM46$JZ;S+>,,VJ=EO\39:!@&/W=Y7O8"7[D_D];YY(V< M=V[A &PF#+YW>3*!4CQP^B80Q@BU0=<>@"ATU1VPR;-]G 3!R5[WJG]E;"[; MV%R^46P$08H)&I&#)4$5:?-P"AIPWB;.D@0)9P",)"]MWI/KU\9&Z>N%( M]0)?&;:K-FQ7_VO8>N+3"!D%1TT-Q@I3-(;OAO,C MK$6R ]B*O!)-C9)SD214C%WNIL_NQ\7X\MD-Z5W_O[KSC^J$ LVF+I\LQ.X* M-S_@=K2MT&[JPN1D_)8KMZ;0^I>F*?OX][J1RD*.*5,&PTM.?Z8II9H.Z;*N M1M::N+:IFQE7GVC:DV/';= 6\\N_@%02P,$% @ :8FJ6*J7L+J' M P '@T !D !X;"]W;W)K&ULM5=M;]LV$/XK MA%H4"9!&$B6_)+4-U':'#5B&H&[6SXQ%6T0ITB4IN_OW.U*R(J>T*F#>%ULD M[QX^S]V)/$T.4GW3.:4&_2BXT-,@-V9W'X9ZG=."Z%NYHP)6-E(5Q,!0;4.] M4Y1DSJG@(8ZB85@0)H+9Q,T]JME$EH8S01\5TF51$/7/G')YF 9Q<)SXS+:Y ML1/A;+(C6[JBYFGWJ& 4-B@9*ZC03 JDZ&8:?(SO%W%B'9S%WXP>=.L962G/ M4GZS@S^R:1!91I33M;$0!/[V=$$YMTC XWL-&C1[6L?V\Q']-R<>Q#P331>2 M?V69R:?!.$ 9W9"2F\_R\#NM!0TLWEIR[7[1H;:- K0NM9%%[0P,"B:J?_*C M#D3+ 7#\#KAVP*\=TC,.2>W@(A=6S)RL)3%D-E'R@)2U!C3[X&+CO$$-$S:- M*Z-@E8&?F?T%E<*EUFA'%5K+HH#0ZIPHBMZC%=1,5G**Y 9](DHPL=7H$>Q6 MUN &S8EF:T1$AI:,EX9F-^C+0:(%)X#W0$TN,W2UI(8PKJ\![VFU1%=OK]%; M%%9[:,0$>A+,Z!N8A.-.P >B;E$2WR F@DS2)2AQ>R M\APZ3WL\[6?OXPCC>!+NV_1]9LDH3ANS$V*#AMB@%S%$.)=K M6.C#QY8W+) M,ZJ\S"OHP:^8^\S.,Q\VS(?_'_-AOYC[S,XS'S7,1YTUOZ1"PIEWMNI'EZSZ M"X&="!TW0L>=*?KJ;AM(#-G#2[ZE)]F!4U+KTIZNS^[ O6+'A6M?4,8_%5$Z M2!.P4U$8ZLL!&JRS-- =N\<&PO=V]R:W-H965TQAY4^R86E2Q/DI/L MW^]*=MRXN*&#//3%UL>]1^<>Z4IWO)'J46< AFP%S_7$RXPI+GU?)QD(JL]E M 3G.+*42U&!7K7Q=**"IN[&YBL>R-)SE,%=$ET)0]7<* M7&XF7L_;#=RS56;L@!^/"[J"!9COQ5QASV]04B8@UTSF1,%RXEWU+F"0&(M \;>&&7!N@9#&GQK3:Y:TCOOM'?IG M%SO&\D US"3_R5*33;P+CZ2PI"4W]W+S!>IX!A8OD5R[+]G4MH%'DE(;*6IG M9"!87OWIMM9ASP%QNAW"VB%\[M!_P2&J'2(7:,7,A75-#8W'2FZ(LM:(9AM. M&^>-T;#<[N+"*)QEZ&?B;WA0N-2:%*!((H5 :75&%9 /9(%')BTY$+DD5[EA M*>.E%9TL("D5,PPTN=DFO$PA)4LE!9E)492&N@U"IQNJ(W,G<9+AXCBNW_7V,OQ$AW(DP#0\" MWE%U3J+>&0F#L-_!9_9Z]^@ G:C9D\CA12_@'4OK7U\1F-P:$/IWE\H5BWXW M"WM]7.J")C#Q\'[0H-;@Q>_?]8;!IRZ)C@36$JS?"-8_A-X63#\)!BW!DK9@ ML!/,GGQW%,\(%;+,#3EA=1+HTR[=*C(#1\;>DNLX&@V'%_;HK/C_W?,C M@;54J#-]$D@R/*=B1P%J"C1K!1F\I24:O3)(.N\XD\??>. %JY9Y^C7R1 M2W73-Z--=7'E'M5GXU.L.JHBX0FF*EGP'E\Q3"D.2X0,SD?(2E5E0-4QLG O MZ8,T^"Z[9H:5$RAK@/-+**R$-).@M+:^"$.3E5@Q,U U2MHIE*Z8I:E>AJ;6R'(/ MJD081]%Y6#$N@W3LUVYT.E8K*[C$&PUF555,/TU1J,TD& ;;A5N^+*U;"--Q MS99XA_:^OM$T"SN6G%-V1F#<[)0ZL%-ON23 M('*"4&!F'0.CUQIG*(0C(AD_6\Z@2^F N^,M^R?OG;PLF,&9$M]X;LM)\#Z M' NV$O96;3YCZ\<+S)0P_@F;-C8*(%L9JZH63 HJ+ILW>VSKL ,@GGY W +B MYX#1"X"D!23>:*/,VYHSR]*Q5AO0+IK8W,#7QJ/)#9?N*]Y93;N<<#:]JFJA MGA!A@1(+;J$63,+Q'"WCPIS 6[B_F\/QT0D< 9=PS86@ZIMQ:"FYHPBS-M&T M212_D"B!:R5M:>!*YICOXT,2W2F/M\JG\4'":Z8'D Q/(8[B48^>V9_#DP-R MDJZ0B>=+7N"[1#[Y<)832?U1U^]&KY1/Y^[O1>F9AE. KJ> M!O4:@_3UJ^%Y]+'/['\BV[,^ZJR/#K&G,/K#FBY6_G^X5R+^@4:M29*YDJMJ%HWL!2*V.@9D]]96NT#",OQC6I=3H$>Z=--/ MFXE5M6])"V6IP?EA2;\@U"Z ]@NE[';B$G0_M?074$L#!!0 ( &F)JECS MMH40G@0 %\3 9 >&PO=V]R:W-H965T>"8VE)F4]_;E*AI[@44$,83&FN#X]PCG$,?6$N)X6!OU*I]VX.;SL_4O M1? 8S(QK.)?Q'R(RB[%W[)$(YCR/S8U<7L(ZH)ZU%\I8%[]DN>X;>"3,M9') M>C B2$1:_O.G=2(V!G19RP"V'L *W*6C N4%-WPR4G))E.V-UNQ#$6HQ&L&) MU,[*U"C\*G"@B4C);2J,[F C/O]8R%SS--(CWR!&Z\D/UWC.2CRL!<]II@X)'70( M"UB7W$XOR-ZG?0))%LL5P(;/?YOV,>PJ=E;%S@I?W19?7V,YXS$YEQ*_W#5A M=8ZW"^9$9SR$L8=8AEQ!'!TA0X=\EX9@EU"F1J0Y MPOPM UOG,M7D;_)R,3B=[YC??A5:_WV+H?\!8 <5V,'NQ= A\SR-L'VV(AB( M,*LF^*6#WD9Y=(>TI3R.*UC'3E@WD/%58I,GY\A2$O\?*ZB_O8*.6LNXYG_J%H WE4JA M'D5Q1 (C@->)LQO1KAFOI84>OW.%.+5J5[RU$E&W%+V^0H9;%=):(*S6'>;6 MG;?MU,ZOR*6,(T3^NMIP@]DQUZS6,T;?MS:84Q]WQ;MQ*G+KWQ2/R+8J,H6J M0S#SY8F+[.')+I)QS)6N6_=Q!MH.9>MHMJ6R98O :IUD;EV; M9&1$YQ-Q<5 M.[H?H!+R3?*T$<%'G(Q8+9RL^\[S_Q%JQVJU8^YCE,VE2$N1G@,N1Y[(/&W< M!JTM;4K4\3Q5P[X#3(66_[6.EO7)?8 MJZ=?D?T$4DL,YI0O1F;%# MRE1W:I-_ %!+ P04 " !IB:I8>O[,W&P# A"@ &0 'AL+W=O'+]DMH'$;IL 6QO4 M2_=AV =:.MM$*5(E*3L!]N-WE!7%J65U';HO$M_NN>>.]\+15NG/9HUHX3$3 MTHR]M;7YE>^;9(T9,Q5LA7.T#_F]IIE?HZ0\ M0VFXDJ!Q.?:NPZN;,'("Y8E/'+=F;PS.E(52G]WD+AU[@6.$ A/K(!C]-CA% M(1P2\?A2@7JU3B>X/WY&?UL:3\8LF,&I$G_PU*['WL"#%)>L$/:CVMYB9="E MPTN4,.47MM79P(.D,%9EE3 QR+C<_=ECY8@]@3@^(A!5 J4C_)VBDN6,6389 M:;4%[4X3FAN4II;21(Y+=RMSJVF7DYR=S(N%P2\%2@NXH:^!#LRXR95A MYI M5>3F'.YD(HJ4RY7;2I2T7!:8PH<<-7.^-7 Z0\NX,&()[#+8JT M0R'5F3.!Y_!>V:/()^"#63.-!KB$!\DM$3IQX]_7JC!,IF;D6_*$L\=/*JMO M=E9'1ZR^SO4%A/USB(*H"P_S&9R>G.VI>HWHDT]KQT:U8Z-21?>(BG="+_NZ,]? MZ03<6*-I-@Y&\: MM%[66B];M4Z968-5\/HB85G(E")T\40K6<[D4Q.9'?+E'IE.=Q@>(=2K"?5: M"5WGN5:/G"H10J(,I2JQH_HFX-NQUCLD%'6#83.A?DVHWTKH/:Z8JZDEB?J" MFM3W#]7WX_"(^D&M?O =&08)T_K)#:A(

O4=V$ZOR\@VP4)9>%.5P36\XU.X [2^5LL\3]ZRH7X63?P!02P,$% M @ :8FJ6-SN*2R)! QQD !D !X;"]W;W)K&ULO9EM;ZLV%,>_BL6NIGNEMCP%DG1)I!;N0Z5UJYK>[<6T%PXX":K!7-LT MK;0//QLH#PGUBF3M38+!Y^_CG^W#,5X<"'UD>X0X>$YQQI;&GO/\TC19M$OZI_*3LO.K.!# 4$_YG$?+\T9@:(T186F-^3PS=4=\B3>A'!K/P% MA[JN98"H8)RDM;'P($VRZA\^UR Z!O;D#0.G-G".#;PW#-S:P'UO"Y/:8%*2 MJ;I2<@@AAZL%)0= 96VA)B]*F*6UZ'Z2R7%?)L*.K];%AJ$?!_!^BP' M"_SUJZ@!;CA*V=\#[EU71D8OT#PH3E MA E,7RDI\C/P#>'X7+QGSM<0HS/P&^&R2B26:Y(5 MCO.:(E+2:,^X2'N"G] M&!>[KQ*A3+-0DUL,X;3!.QRSP!T13.6$1 SE\(=OM M$,GIR;)RO+G?7WN!LMFQA#2)]0C-&D(S):$K)A(]L6IQ C<)%F]XP69+2?J. ME5L)>UU0KG<4I )EZV-!:1+K@9HWH.9*4/E2Z^/KI-ZV$M\#X1 /LK!/ M)Y+E>]8Q#*7\:!B:U/HPG!:&HXY(440*N?\0(1IN\/ <<4ZYS*P3+,J&1F/1 MI-;'TF;\MC(3EEBH3*]48:>6Z&+Q3ZEH3=]UJ?6IM F\K<[@=>>KZS)@!=U0 M];D"_JYD5NWMV#1,JUJH2ZT_4NW&PO;T9K2VUIV!5K50EUJ?9;LYL)5)\[A< MI-;JQ4KW-"IHS?EUJ?7YM%F_K4[[=4>% +)]%0?BA!?"X_<% YV;A$"K6JA+ MK3] [:;#GFD.!CKW$8%6M5"76I]ENR^Q-6Y,:JWN[G8@%FC=F>A2J_"8G2_< M*:*[\J2 @3)EK+X&-W>;TXBK\AO\T?U GE*47\Y;F>J(XQ;272+6/49;(6E= M3$7HI-6I057@)"^_HV\(YR0M+_<(QHC*"N+YEA#^6I --&&POO#!@LJ ML>_Q.??8OFG<]BN]%.QAQI@.%KF0U8#,M"[?AV$UF;&<5E=%R:1!LD+E5)NN MFH95J1A-*R#E(NRT6G&84R[)L"_G^5VNJV!2S*4>D&X3"MSM4SH@[?B:!$YN M5*1L0)XNWGZ?%_KV3>#N9^_.SEI/E[>[\0L+7)+0*WIS@.A5JX4+ XB)QX>) M[]/&I+L'2>]1QH1[V\)V]+G1<;QSC)9X:/6Z_7:=NBT_^7R3[#*'=:D,^UDA MUQ43$1#VZX' M55SKY%P6RN9V&=SWN!Z^ ZQZ8) +T1CL$!<8]DNJ-5/RSG3L8!M\ 05U^W%9 M&H=319?MS@U9$^S-)!D7*F6J2=,FJ]"P+U@&=A2?SN"NBS($4.LB-XV4TVDA MJ?6P8M0-(SMA0CS (_XMV])>9!O[9G=--DUCJ&XZ&=_TJW:#D MSX7^.#?3D;8/QE=,BPSUW3M#SWUWG*9-,4;%IVM3^ M,:_RJQU'W7]EV?Y6V37L]5B_MX_=Y,TIF(Q/P>1)U&3O%$PFQV\R.@&/]?GR MZ$R&]4EHX[BU==AJH@$<:@?D*QR1Q3II,)YSH;FL>S.>IDR^.',9>4W'YH^U M+7TS/F49G0O]V( #LFY_82F?YTDSZAX6HAZU;G^&Z;7CYD1MV&9B&R5I?0-A%[NSE1S".P_P(8%@>S '&<2PLS_\TGQXZ'X=AWGI>I(=R M>BC'L7S(R'ZP/'Y.8B[_3),DBN(86]'1R.M@A*U;',./7PWS!@PL#V3ZL[7& M=QNOD/UU@.WIO@K!9HI7(C93?*T!\:\;,)+$O]M8'F!@NX#5#N3WYX&:\G.B M"'85\X8]P3B2)!@"M>BOT3A&5B>&CW]_L* M-8?20$3;8T.P6BP^0"X99K>]9!:GUGS9(NDH$\@B&\7"[V\ MM>[KRMJOXEM=&7\VVS;-[L5\[HNMJJ7_W>Z4@3-KZVK9P$NWF?N=4[+T6Z6: MNII'IZ?9O);:S%Z]/+1U[>;XA6U4T6AKX&!WX(M6M_[^?/=2[+77*UWIYNYL MUO]?J9FHM=&U_J[*L]GI3/BMO?W3.OW=FD96-X6S574V6PPGOBC7Z.+1X9L. M\K-<^?Y((U>?)("EX%.NRN$+-D"&NLN]T'#"794](Q_/7T:VI6Y4*2ZL*97Q MPW_>5KH$(@09$9#1A)#_1 @R)B#C*2%C!)D0D,F4D F"3 G(=$K(%$%F!&0V M)62&(',",N>%_.@VTNCO_0DA32F\WA@-;Y:F@3D202X)R"4OY(5U;G"*L&NA M:VA!.2TKH9RSSB/(YP3DP8T+:2A=+)A]<>X]Q!IBJZI20 /" M/1A/E"46S)J ,&\'0=A=/V>H?UN]>SC:*3TLF/WPUMKR5E=53Z6'!;,@SHO"M2 %]6W7V<'WM+;90OA7M,YA3,H0"V9%_"V= QOZ'NM;#Y-;W80$Y X3ORA0/YA9*#PMF/[RS9G,"WJI% MJ5;X28DH+T3,7OBD8!)N@RB>BUTW<<"C &&2WTH7W%3*%1&S*U[7N\K> M*256RJBU;L2NDL$=I501,:OBIEUY\!=<)+I'(;!#1-DA8K;#M;P3>R^NE>O? M;@HE+K4OX$ZWX:VEW! QN^'*>%W"L/OL9 DSKCCO5+%1#^/,B+)#Q&P',L4) MU@8BR@\1LQ]H3+PZ$%/"B)F%0>9BX4H+)9*8623CV9AX]ED"A_\-8U(^B=E] M\BLM&V4C5ZN8O8+RLU$V2BDQLU*&1&T4BY))S"R3L8QM%)(22\PMEM'4;123 M4DO,K!8ZAQ,8D[)+S&P7,HD+YT/*+C&S78XG4@)*GR"EN<<8%("2ID%A#.OL#?[,QB3+,(S6^AG$C;2 MD8$I4TI!*;."?C'B7OP(\8?L*@0XBT@I!:7,"AK%[ ^*UY!88$Q*02FS@D8Q MW\NF=;H)2RTII:"464&C:?@]--X>0BDH8U;0$+9QB3LE#VI 7_1V$2WO]'62A_VB6WT.V7 M6)8Y9:&I;,ZB$Q M@R&YI-2S9%;/Z#:K\9M.R6?)+)_'U97 E1B3DL_RR8M )]W^JYWULA)O\72Y MI.2S?.KM:Z$M,28EGV4OGWE_L7_ULH3Q8U3Y 3["P_%"5L4U#'WXT[6TB)*T MVTJ[;JOJ HY]-.^L+ \_ECO\T._5#U!+ P04 " !IB:I84C7&HXH" "Y M,@ &@ 'AL+U]R96QS+W=O#8\0\/2K M'MIQWYV&W?X\+#Z.A].P:G;C>/X1PK#>U6,[/'3G>KHPG43'RZ3F\7+VZKI7]YB$^8.$@B2^8,4@G3^H 1!:?X@ M@R";/\@AR.1P.N(8$<" ML2.2'0G,CHAV)% [(MN1P.V(<$<"N2/2'0GLCHAW)-!;4&\AT%M0;R'06R8/ MVP1Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'HKZJT$>BOJ MK01Z*^JM!'KKY&4)@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=X) M]4X$>B?4.Q'HG5#O1*!W0KT3@=YI\K*;0.^$>B<"O1/JG0CT3JAW(M [H=Z) M0.^$>B<"O0WU-@*]#?4V KT-]38"O0WU-@*]#?4V KUM\K&20&]#O8U ;T.] MC4!O0[V-0&]#O8U ;T>]G4!O1[V=0&]'O9U ;T>]G4!O1[V=0&]'O9U ;Y_\ M;$*@MZ/>3J"WH]Y.H+>CWDZ@=T:],X'>&?7.!'IGU#L3Z)U1[TR@=T:],X'> M&?7.!'IGU#L3Z)TG/PL2Z)U1[TR@=T:],X'>!?4N!'H7U+L0Z%U0[T*@=T&] M"X'>!?4N!'H7U+L0Z%U0[_*=>@_CYZ$.MYZO-5[_.ZD>+^?6V^6ORZ^=DWO\ MBG.XKQB>_P)02P,$% @ :8FJ6(/1K $N @ 1#$ !, !;0V]N=&5N M=%]4>7!E&ULS=M-;MLP$(;AJQC:!I8L4J34(LZF[;;-HA=@)3H6K#^0 M3.K':^_OXX6;\Z]MW@M\D^A.ECEOEZ;WOC MTW&R0US9C:XW(7YU=]EDZH.YLYG8;'16CT.P0UB'N49R<_W9[LQ]%U9?CO%G MWX[#-G&V\\GJTVGCG+5-S#1U;6U"7,\>AN:/E/530AI/+GO\OIW\5=R09*\F MS"M_#W@Z]^W!.MGY$J_T..YV;6V;L;[OXY'4 M3\Z:QN^M#7V7GHI>G4\.\8;MZ3._.'\I/EL>E]_Q[S-^J?_./@2D#PGI MHX#TH2!]:$@?):2/"M+'!T@?^8;2"$74G$)J3C$UIZ":4U3-*:SF%%=S"JPY M159!D5509!44605%5D&155!D%119!45609%54&25%%DE159)D5529)44625% M5DF155)DE119)476@B)K09&UH,A:4&0M*+(6%%D+BJP%1=:"(FM!D5519%44 M615%5D6155%D5119%45619%54615%%DU159-D5539-44635%5DV155-DU119 M-45639&UI,A:4F0M*;*6%%E+BJPE1=:2(FM)D;6DR%I29*THLE8462N*K!5% MUHHB:T61M?J?LOX8Q\,_CE^>:6_:X3D_6_X\X K @ $0 @ &O M 9&]C4')O<',O8V]R92YX;6Q02P$"% ,4 " !IB:I8F5R<(Q & "< M)P $P @ ', 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 M Q0 ( &F)JE@JSTR'WP4 -X> 8 " @0T( !X;"]W M;W)K&PO=V]R:W-H965T&UL M4$L! A0#% @ :8FJ6$0>B8!' P T@L !@ ("!$!8 M 'AL+W=O( >&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ M6)7YI=7V!P TD0 !@ ("!KB, 'AL+W=O&PO=V]R:W-H M965T&UL4$L! A0#% @ :8FJ6,!5>\OR! ? L !@ M ("!84D 'AL+W=O&UL4$L! A0#% @ :8FJ6.5;%;+1! MX@L !D ("!C5@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6 Y >'1B P M0< !D M ("!$V4 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ :8FJ6+HDB@JR @ A 8 !D ("!$W$ 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ M6(0.P2>S"@ &1T !D ("!;G\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6 )P>TZ8!0 20T M !D ("!+Z( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6(WLM @5"@ ]1T !D M ("!YZ\ 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ :8FJ6('7#7.]"P MR$ !D ("!Z\ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6 :4 M]CM!! T@H !D ("!F-0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6+59(^$\! Z0P !D M ("!R-\ 'AL+W=O0" \!@ &0 @($[Y >&PO M=V]R:W-H965T_]@( M (D& 9 " @5;G !X;"]W;W)K&UL4$L! A0#% @ :8FJ6#A?#<&PO=V]R:W-H965TCQ !X;"]W;W)K&UL4$L! A0#% M @ :8FJ6/>3[HX1! )0D !D ("!SO0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6*"^,MM% P 9@\ !D M ("!2P\! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ :8FJ6%GZJKY>! 6!P !D ("!6!H! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M:8FJ6!?'YK*C!@ C2T !D ("!_B@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6%;83?( P MO X !D ("!E34! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6/8]6AQ< P SPP !D M ("!R3X! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ :8FJ6+^I$M&N P ]1 !D ("!-T@! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ M6+G?0"UM @ V 4 !D ("!&50! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6-#+BCH# P $@@ M !D ("!LUP! 'AL+W=O)EP" #S!0 &0 @('M7P$ M>&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6+NT0JY,!0 J2 !D M ("!U&H! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ :8FJ6*W=)B&F! *QX !D ("!+'8! 'AL+W=O MP$ >&PO=V]R:W-H965TS?R_@( !,* 9 " @71^ M 0!X;"]W;W)K&UL4$L! A0#% @ :8FJ6!KC M*V(Z# F84 !D ("!J8$! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ :8FJ6(D)*K9# P VPH !D M ("!N98! 'AL+W=OPNH<# >#0 &0 @($SF@$ >&PO M=V]R:W-H965T&UL4$L! A0#% @ :8FJ6"H/BNV> @ X 8 !D ("! M#:$! 'AL+W=O&PO=V]R:W-H965TH 0!X;"]W;W)K&UL4$L! A0#% M @ :8FJ6-SN*2R)! QQD !D ("!6JP! 'AL+W=O&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$" M% ,4 " !IB:I8@]&L 2X" !$,0 $P @ &$O@$ 6T-O F;G1E;G1?5'EP97-=+GAM;%!+!08 7@!> ,D9 #CP $ ! end XML 100 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 101 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 103 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.1.u2 html 238 383 1 false 97 0 false 9 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.biolifesolutions.com/role/CoverPage Cover Page Cover 1 false false R2.htm 0000002 - Statement - Unaudited Condensed Consolidated Balance Sheets Sheet http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets Unaudited Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 0000003 - Statement - Unaudited Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical Unaudited Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - Unaudited Condensed Consolidated Statements of Operations Sheet http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations Unaudited Condensed Consolidated Statements of Operations Statements 4 false false R5.htm 0000005 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Loss Sheet http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss Unaudited Condensed Consolidated Statements of Comprehensive Loss Statements 5 false false R6.htm 0000006 - Statement - Unaudited Condensed Consolidated Statements of Shareholders' Equity Sheet http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity Unaudited Condensed Consolidated Statements of Shareholders' Equity Statements 6 false false R7.htm 0000007 - Statement - Unaudited Condensed Consolidated Statements of Cash Flows Sheet http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows Unaudited Condensed Consolidated Statements of Cash Flows Statements 7 false false R8.htm 0000008 - Disclosure - Organization and significant accounting policies Sheet http://www.biolifesolutions.com/role/Organizationandsignificantaccountingpolicies Organization and significant accounting policies Notes 8 false false R9.htm 0000009 - Disclosure - Correction of immaterial errors Sheet http://www.biolifesolutions.com/role/Correctionofimmaterialerrors Correction of immaterial errors Notes 9 false false R10.htm 0000010 - Disclosure - Fair value measurement Sheet http://www.biolifesolutions.com/role/Fairvaluemeasurement Fair value measurement Notes 10 false false R11.htm 0000011 - Disclosure - Investments Sheet http://www.biolifesolutions.com/role/Investments Investments Notes 11 false false R12.htm 0000012 - Disclosure - Inventories Sheet http://www.biolifesolutions.com/role/Inventories Inventories Notes 12 false false R13.htm 0000013 - Disclosure - Leases Sheet http://www.biolifesolutions.com/role/Leases Leases Notes 13 false false R14.htm 0000014 - Disclosure - Assets held for rent Sheet http://www.biolifesolutions.com/role/Assetsheldforrent Assets held for rent Notes 14 false false R15.htm 0000015 - Disclosure - Property and equipment Sheet http://www.biolifesolutions.com/role/Propertyandequipment Property and equipment Notes 15 false false R16.htm 0000016 - Disclosure - Goodwill and intangible assets Sheet http://www.biolifesolutions.com/role/Goodwillandintangibleassets Goodwill and intangible assets Notes 16 false false R17.htm 0000017 - Disclosure - Accrued expenses and other current liabilities Sheet http://www.biolifesolutions.com/role/Accruedexpensesandothercurrentliabilities Accrued expenses and other current liabilities Notes 17 false false R18.htm 0000018 - Disclosure - Warranty reserve liability Sheet http://www.biolifesolutions.com/role/Warrantyreserveliability Warranty reserve liability Notes 18 false false R19.htm 0000019 - Disclosure - Commitments and contingencies Sheet http://www.biolifesolutions.com/role/Commitmentsandcontingencies Commitments and contingencies Notes 19 false false R20.htm 0000020 - Disclosure - Long-term debt Sheet http://www.biolifesolutions.com/role/Longtermdebt Long-term debt Notes 20 false false R21.htm 0000021 - Disclosure - Revenue Sheet http://www.biolifesolutions.com/role/Revenue Revenue Notes 21 false false R22.htm 0000022 - Disclosure - Stock-based compensation Sheet http://www.biolifesolutions.com/role/Stockbasedcompensation Stock-based compensation Notes 22 false false R23.htm 0000023 - Disclosure - Income taxes Sheet http://www.biolifesolutions.com/role/Incometaxes Income taxes Notes 23 false false R24.htm 0000024 - Disclosure - Net loss per common share Sheet http://www.biolifesolutions.com/role/Netlosspercommonshare Net loss per common share Notes 24 false false R25.htm 0000025 - Disclosure - Employee benefit plan Sheet http://www.biolifesolutions.com/role/Employeebenefitplan Employee benefit plan Notes 25 false false R26.htm 0000026 - Disclosure - Subsequent events Sheet http://www.biolifesolutions.com/role/Subsequentevents Subsequent events Notes 26 false false R27.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 27 false false R28.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 28 false false R29.htm 9954471 - Disclosure - Organization and significant accounting policies (Policies) Sheet http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesPolicies Organization and significant accounting policies (Policies) Policies 29 false false R30.htm 9954472 - Disclosure - Organization and significant accounting policies (Tables) Sheet http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesTables Organization and significant accounting policies (Tables) Tables http://www.biolifesolutions.com/role/Organizationandsignificantaccountingpolicies 30 false false R31.htm 9954473 - Disclosure - Correction of immaterial errors (Tables) Sheet http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsTables Correction of immaterial errors (Tables) Tables http://www.biolifesolutions.com/role/Correctionofimmaterialerrors 31 false false R32.htm 9954474 - Disclosure - Fair value measurement (Tables) Sheet http://www.biolifesolutions.com/role/FairvaluemeasurementTables Fair value measurement (Tables) Tables http://www.biolifesolutions.com/role/Fairvaluemeasurement 32 false false R33.htm 9954475 - Disclosure - Investments (Tables) Sheet http://www.biolifesolutions.com/role/InvestmentsTables Investments (Tables) Tables http://www.biolifesolutions.com/role/Investments 33 false false R34.htm 9954476 - Disclosure - Inventories (Tables) Sheet http://www.biolifesolutions.com/role/InventoriesTables Inventories (Tables) Tables http://www.biolifesolutions.com/role/Inventories 34 false false R35.htm 9954477 - Disclosure - Leases (Tables) Sheet http://www.biolifesolutions.com/role/LeasesTables Leases (Tables) Tables http://www.biolifesolutions.com/role/Leases 35 false false R36.htm 9954478 - Disclosure - Assets held for rent (Tables) Sheet http://www.biolifesolutions.com/role/AssetsheldforrentTables Assets held for rent (Tables) Tables http://www.biolifesolutions.com/role/Assetsheldforrent 36 false false R37.htm 9954479 - Disclosure - Property and equipment (Tables) Sheet http://www.biolifesolutions.com/role/PropertyandequipmentTables Property and equipment (Tables) Tables http://www.biolifesolutions.com/role/Propertyandequipment 37 false false R38.htm 9954480 - Disclosure - Goodwill and intangible assets (Tables) Sheet http://www.biolifesolutions.com/role/GoodwillandintangibleassetsTables Goodwill and intangible assets (Tables) Tables http://www.biolifesolutions.com/role/Goodwillandintangibleassets 38 false false R39.htm 9954481 - Disclosure - Accrued expenses and other current liabilities (Tables) Sheet http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesTables Accrued expenses and other current liabilities (Tables) Tables http://www.biolifesolutions.com/role/Accruedexpensesandothercurrentliabilities 39 false false R40.htm 9954482 - Disclosure - Warranty reserve liability (Tables) Sheet http://www.biolifesolutions.com/role/WarrantyreserveliabilityTables Warranty reserve liability (Tables) Tables http://www.biolifesolutions.com/role/Warrantyreserveliability 40 false false R41.htm 9954483 - Disclosure - Long-term debt (Tables) Sheet http://www.biolifesolutions.com/role/LongtermdebtTables Long-term debt (Tables) Tables http://www.biolifesolutions.com/role/Longtermdebt 41 false false R42.htm 9954484 - Disclosure - Revenue (Tables) Sheet http://www.biolifesolutions.com/role/RevenueTables Revenue (Tables) Tables http://www.biolifesolutions.com/role/Revenue 42 false false R43.htm 9954485 - Disclosure - Stock-based compensation (Tables) Sheet http://www.biolifesolutions.com/role/StockbasedcompensationTables Stock-based compensation (Tables) Tables http://www.biolifesolutions.com/role/Stockbasedcompensation 43 false false R44.htm 9954486 - Disclosure - Net loss per common share (Tables) Sheet http://www.biolifesolutions.com/role/NetlosspercommonshareTables Net loss per common share (Tables) Tables http://www.biolifesolutions.com/role/Netlosspercommonshare 44 false false R45.htm 9954487 - Disclosure - Subsequent events (Tables) Sheet http://www.biolifesolutions.com/role/SubsequenteventsTables Subsequent events (Tables) Tables http://www.biolifesolutions.com/role/Subsequentevents 45 false false R46.htm 9954488 - Disclosure - Organization and significant accounting policies - Narrative (Details) Sheet http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails Organization and significant accounting policies - Narrative (Details) Details http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesTables 46 false false R47.htm 9954489 - Disclosure - Organization and significant accounting policies - Schedule of Concentrations of Credit Risk and Business Risk (Details) Sheet http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails Organization and significant accounting policies - Schedule of Concentrations of Credit Risk and Business Risk (Details) Details 47 false false R48.htm 9954490 - Disclosure - Organization and significant accounting policies - Schedule of Product Revenue Concentration (Details) Sheet http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails Organization and significant accounting policies - Schedule of Product Revenue Concentration (Details) Details 48 false false R49.htm 9954491 - Disclosure - Correction of immaterial errors - Schedule of Effect of Adjustments to Financial Statements (Details) Sheet http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails Correction of immaterial errors - Schedule of Effect of Adjustments to Financial Statements (Details) Details 49 false false R50.htm 9954492 - Disclosure - Fair value measurement - Narrative (Details) Sheet http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails Fair value measurement - Narrative (Details) Details 50 false false R51.htm 9954493 - Disclosure - Fair value measurement - Schedule of the Company's Financial Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) Sheet http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails Fair value measurement - Schedule of the Company's Financial Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details) Details 51 false false R52.htm 9954494 - Disclosure - Fair value measurement - Schedule of the Changes in Fair Value of Contingent Consideration Liabilities (Details) Sheet http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails Fair value measurement - Schedule of the Changes in Fair Value of Contingent Consideration Liabilities (Details) Details 52 false false R53.htm 9954495 - Disclosure - Investments - Schedule of Available-for-Sale Marketable Securities (Details) Sheet http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails Investments - Schedule of Available-for-Sale Marketable Securities (Details) Details 53 false false R54.htm 9954496 - Disclosure - Investments - Narrative (Details) Sheet http://www.biolifesolutions.com/role/InvestmentsNarrativeDetails Investments - Narrative (Details) Details 54 false false R55.htm 9954497 - Disclosure - Inventories - Schedule of Inventory (Details) Sheet http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails Inventories - Schedule of Inventory (Details) Details 55 false false R56.htm 9954498 - Disclosure - Leases - Narrative (Details) Sheet http://www.biolifesolutions.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 56 false false R57.htm 9954499 - Disclosure - Leases - Schedule of Operating and Finance Lease Terms and Discount Rates (Details) Sheet http://www.biolifesolutions.com/role/LeasesScheduleofOperatingandFinanceLeaseTermsandDiscountRatesDetails Leases - Schedule of Operating and Finance Lease Terms and Discount Rates (Details) Details 57 false false R58.htm 9954500 - Disclosure - Leases - Schedule of Lease Expense (Details) Sheet http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails Leases - Schedule of Lease Expense (Details) Details 58 false false R59.htm 9954501 - Disclosure - Leases - Schedule of Maturities Operating and Finance Lease Liabilities (Details) Sheet http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails Leases - Schedule of Maturities Operating and Finance Lease Liabilities (Details) Details 59 false false R60.htm 9954502 - Disclosure - Assets held for rent - Schedule of Assets Held for Rent (Details) Sheet http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails Assets held for rent - Schedule of Assets Held for Rent (Details) Details 60 false false R61.htm 9954503 - Disclosure - Assets held for rent - Narrative (Details) Sheet http://www.biolifesolutions.com/role/AssetsheldforrentNarrativeDetails Assets held for rent - Narrative (Details) Details 61 false false R62.htm 9954504 - Disclosure - Property and equipment - Schedule of Property and Equipment (Details) Sheet http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails Property and equipment - Schedule of Property and Equipment (Details) Details 62 false false R63.htm 9954505 - Disclosure - Property and equipment - Narrative (Details) Sheet http://www.biolifesolutions.com/role/PropertyandequipmentNarrativeDetails Property and equipment - Narrative (Details) Details 63 false false R64.htm 9954506 - Disclosure - Goodwill and intangible assets - Schedule of Finite-Lived Intangible Assets (Details) Sheet http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails Goodwill and intangible assets - Schedule of Finite-Lived Intangible Assets (Details) Details 64 false false R65.htm 9954507 - Disclosure - Goodwill and intangible assets - Narrative (Details) Sheet http://www.biolifesolutions.com/role/GoodwillandintangibleassetsNarrativeDetails Goodwill and intangible assets - Narrative (Details) Details 65 false false R66.htm 9954508 - Disclosure - Goodwill and intangible assets - Schedule of Amortization Expense for Finite-Lived Intangible Assets (Details) Sheet http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails Goodwill and intangible assets - Schedule of Amortization Expense for Finite-Lived Intangible Assets (Details) Details 66 false false R67.htm 9954509 - Disclosure - Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details) Sheet http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details) Details 67 false false R68.htm 9954510 - Disclosure - Warranty reserve liability - Schedule of Product Warranty Liability (Details) Sheet http://www.biolifesolutions.com/role/WarrantyreserveliabilityScheduleofProductWarrantyLiabilityDetails Warranty reserve liability - Schedule of Product Warranty Liability (Details) Details 68 false false R69.htm 9954511 - Disclosure - Commitments and contingencies (Details) Sheet http://www.biolifesolutions.com/role/CommitmentsandcontingenciesDetails Commitments and contingencies (Details) Details http://www.biolifesolutions.com/role/Commitmentsandcontingencies 69 false false R70.htm 9954512 - Disclosure - Long-term debt - Narrative (Details) Sheet http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails Long-term debt - Narrative (Details) Details 70 false false R71.htm 9954513 - Disclosure - Long-term debt - Schedule of Debt (Details) Sheet http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails Long-term debt - Schedule of Debt (Details) Details 71 false false R72.htm 9954514 - Disclosure - Long-term debt - Schedule of Maturities of Long-Term Debt (Details) Sheet http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails Long-term debt - Schedule of Maturities of Long-Term Debt (Details) Details 72 false false R73.htm 9954515 - Disclosure - Revenue - Narrative (Details) Sheet http://www.biolifesolutions.com/role/RevenueNarrativeDetails Revenue - Narrative (Details) Details 73 false false R74.htm 9954516 - Disclosure - Revenue - Schedule of Bioproduction Tools and Service Revenues (Details) Sheet http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails Revenue - Schedule of Bioproduction Tools and Service Revenues (Details) Details 74 false false R75.htm 9954517 - Disclosure - Revenue - Schedule of Remaining Performance Obligations (Details) Sheet http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails Revenue - Schedule of Remaining Performance Obligations (Details) Details 75 false false R76.htm 9954518 - Disclosure - Stock-based compensation - Schedule of Service Vesting-Based Stock Option Activity (Details) Sheet http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails Stock-based compensation - Schedule of Service Vesting-Based Stock Option Activity (Details) Details 76 false false R77.htm 9954519 - Disclosure - Stock-based compensation - Narrative (Details) Sheet http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails Stock-based compensation - Narrative (Details) Details 77 false false R78.htm 9954520 - Disclosure - Stock-based compensation - Schedule of Service Vesting-Based and Market Based Restricted Stock Activity (Details) Sheet http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails Stock-based compensation - Schedule of Service Vesting-Based and Market Based Restricted Stock Activity (Details) Details 78 false false R79.htm 9954521 - Disclosure - Stock-based compensation - Schedule of Stock Compensation Expense (Details) Sheet http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails Stock-based compensation - Schedule of Stock Compensation Expense (Details) Details 79 false false R80.htm 9954522 - Disclosure - Income taxes (Details) Sheet http://www.biolifesolutions.com/role/IncometaxesDetails Income taxes (Details) Details http://www.biolifesolutions.com/role/Incometaxes 80 false false R81.htm 9954523 - Disclosure - Net loss per common share - Schedule of Earnings Per Share, Basic and Diluted, Two Class Method (Details) Sheet http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails Net loss per common share - Schedule of Earnings Per Share, Basic and Diluted, Two Class Method (Details) Details 81 false false R82.htm 9954524 - Disclosure - Net loss per common share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) Sheet http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails Net loss per common share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) Details 82 false false R83.htm 9954525 - Disclosure - Employee benefit plan (Details) Sheet http://www.biolifesolutions.com/role/EmployeebenefitplanDetails Employee benefit plan (Details) Details http://www.biolifesolutions.com/role/Employeebenefitplan 83 false false R84.htm 9954526 - Disclosure - Subsequent events - Narrative (Details) Sheet http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails Subsequent events - Narrative (Details) Details 84 false false R85.htm 9954527 - Disclosure - Subsequent events - Disposal Groups, Including Discontinued Operations (Details) Sheet http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails Subsequent events - Disposal Groups, Including Discontinued Operations (Details) Details 85 false false R86.htm 9954528 - Disclosure - Subsequent events - Schedule of Additional Costs Incurred (Details) Sheet http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails Subsequent events - Schedule of Additional Costs Incurred (Details) Details 86 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 10 fact(s) appearing in ix:hidden were eligible for transformation: ecd:TrdArrDuration, us-gaap:LesseeOperatingLeaseRemainingLeaseTerm, us-gaap:LesseeOperatingLeaseRenewalTerm, us-gaap:LesseeOperatingLeaseTermOfContract, us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - blfs-20240331.htm 4 blfs-20240331.htm blfs-20240331.xsd blfs-20240331_cal.xml blfs-20240331_def.xml blfs-20240331_lab.xml blfs-20240331_pre.xml blfs-20240331_g1.jpg http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 106 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "blfs-20240331.htm": { "nsprefix": "blfs", "nsuri": "http://www.biolifesolutions.com/20240331", "dts": { "inline": { "local": [ "blfs-20240331.htm" ] }, "schema": { "local": [ "blfs-20240331.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] }, "calculationLink": { "local": [ "blfs-20240331_cal.xml" ] }, "definitionLink": { "local": [ "blfs-20240331_def.xml" ] }, "labelLink": { "local": [ "blfs-20240331_lab.xml" ] }, "presentationLink": { "local": [ "blfs-20240331_pre.xml" ] } }, "keyStandard": 320, "keyCustom": 63, "axisStandard": 35, "axisCustom": 0, "memberStandard": 51, "memberCustom": 45, "hidden": { "total": 15, "http://fasb.org/us-gaap/2023": 9, "http://xbrl.sec.gov/dei/2023": 5, "http://xbrl.sec.gov/ecd/2023": 1 }, "contextCount": 238, "entityCount": 1, "segmentCount": 97, "elementCount": 714, "unitCount": 9, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 766, "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 10 }, "report": { "R1": { "role": "http://www.biolifesolutions.com/role/CoverPage", "longName": "0000001 - Document - Cover Page", "shortName": "Cover Page", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets", "longName": "0000002 - Statement - Unaudited Condensed Consolidated Balance Sheets", "shortName": "Unaudited Condensed Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical", "longName": "0000003 - Statement - Unaudited Condensed Consolidated Balance Sheets (Parenthetical)", "shortName": "Unaudited Condensed Consolidated Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations", "longName": "0000004 - Statement - Unaudited Condensed Consolidated Statements of Operations", "shortName": "Unaudited Condensed Consolidated Statements of Operations", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GeneralAndAdministrativeExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R5": { "role": "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss", "longName": "0000005 - Statement - Unaudited Condensed Consolidated Statements of Comprehensive Loss", "shortName": "Unaudited Condensed Consolidated Statements of Comprehensive Loss", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R6": { "role": "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity", "longName": "0000006 - Statement - Unaudited Condensed Consolidated Statements of Shareholders' Equity", "shortName": "Unaudited Condensed Consolidated Statements of Shareholders' Equity", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-28", "name": "us-gaap:PreferredStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-28", "name": "us-gaap:PreferredStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows", "longName": "0000007 - Statement - Unaudited Condensed Consolidated Statements of Cash Flows", "shortName": "Unaudited Condensed Consolidated Statements of Cash Flows", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R8": { "role": "http://www.biolifesolutions.com/role/Organizationandsignificantaccountingpolicies", "longName": "0000008 - Disclosure - Organization and significant accounting policies", "shortName": "Organization and significant accounting policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.biolifesolutions.com/role/Correctionofimmaterialerrors", "longName": "0000009 - Disclosure - Correction of immaterial errors", "shortName": "Correction of immaterial errors", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ErrorCorrectionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ErrorCorrectionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.biolifesolutions.com/role/Fairvaluemeasurement", "longName": "0000010 - Disclosure - Fair value measurement", "shortName": "Fair value measurement", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.biolifesolutions.com/role/Investments", "longName": "0000011 - Disclosure - Investments", "shortName": "Investments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.biolifesolutions.com/role/Inventories", "longName": "0000012 - Disclosure - Inventories", "shortName": "Inventories", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.biolifesolutions.com/role/Leases", "longName": "0000013 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeFinanceLeasesTextBlock", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeFinanceLeasesTextBlock", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.biolifesolutions.com/role/Assetsheldforrent", "longName": "0000014 - Disclosure - Assets held for rent", "shortName": "Assets held for rent", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "blfs:AssetsHeldForRentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "blfs:AssetsHeldForRentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.biolifesolutions.com/role/Propertyandequipment", "longName": "0000015 - Disclosure - Property and equipment", "shortName": "Property and equipment", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.biolifesolutions.com/role/Goodwillandintangibleassets", "longName": "0000016 - Disclosure - Goodwill and intangible assets", "shortName": "Goodwill and intangible assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.biolifesolutions.com/role/Accruedexpensesandothercurrentliabilities", "longName": "0000017 - Disclosure - Accrued expenses and other current liabilities", "shortName": "Accrued expenses and other current liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.biolifesolutions.com/role/Warrantyreserveliability", "longName": "0000018 - Disclosure - Warranty reserve liability", "shortName": "Warranty reserve liability", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.biolifesolutions.com/role/Commitmentsandcontingencies", "longName": "0000019 - Disclosure - Commitments and contingencies", "shortName": "Commitments and contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.biolifesolutions.com/role/Longtermdebt", "longName": "0000020 - Disclosure - Long-term debt", "shortName": "Long-term debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LongTermDebtTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LongTermDebtTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.biolifesolutions.com/role/Revenue", "longName": "0000021 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.biolifesolutions.com/role/Stockbasedcompensation", "longName": "0000022 - Disclosure - Stock-based compensation", "shortName": "Stock-based compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.biolifesolutions.com/role/Incometaxes", "longName": "0000023 - Disclosure - Income taxes", "shortName": "Income taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.biolifesolutions.com/role/Netlosspercommonshare", "longName": "0000024 - Disclosure - Net loss per common share", "shortName": "Net loss per common share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.biolifesolutions.com/role/Employeebenefitplan", "longName": "0000025 - Disclosure - Employee benefit plan", "shortName": "Employee benefit plan", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.biolifesolutions.com/role/Subsequentevents", "longName": "0000026 - Disclosure - Subsequent events", "shortName": "Subsequent events", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R27": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": null }, "R28": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "ecd:NonRule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:MtrlTermsOfTrdArrTextBlock", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "ecd:NonRule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:MtrlTermsOfTrdArrTextBlock", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesPolicies", "longName": "9954471 - Disclosure - Organization and significant accounting policies (Policies)", "shortName": "Organization and significant accounting policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:UseOfEstimates", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:UseOfEstimates", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesTables", "longName": "9954472 - Disclosure - Organization and significant accounting policies (Tables)", "shortName": "Organization and significant accounting policies (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsTables", "longName": "9954473 - Disclosure - Correction of immaterial errors (Tables)", "shortName": "Correction of immaterial errors (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.biolifesolutions.com/role/FairvaluemeasurementTables", "longName": "9954474 - Disclosure - Fair value measurement (Tables)", "shortName": "Fair value measurement (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.biolifesolutions.com/role/InvestmentsTables", "longName": "9954475 - Disclosure - Investments (Tables)", "shortName": "Investments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.biolifesolutions.com/role/InventoriesTables", "longName": "9954476 - Disclosure - Inventories (Tables)", "shortName": "Inventories (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.biolifesolutions.com/role/LeasesTables", "longName": "9954477 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "c-1", "name": "blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.biolifesolutions.com/role/AssetsheldforrentTables", "longName": "9954478 - Disclosure - Assets held for rent (Tables)", "shortName": "Assets held for rent (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "firstAnchor": { "contextRef": "c-1", "name": "blfs:ScheduleOfAssetsHeldForRentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "blfs:ScheduleOfAssetsHeldForRentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.biolifesolutions.com/role/PropertyandequipmentTables", "longName": "9954479 - Disclosure - Property and equipment (Tables)", "shortName": "Property and equipment (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "37", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsTables", "longName": "9954480 - Disclosure - Goodwill and intangible assets (Tables)", "shortName": "Goodwill and intangible assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "38", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesTables", "longName": "9954481 - Disclosure - Accrued expenses and other current liabilities (Tables)", "shortName": "Accrued expenses and other current liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "39", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.biolifesolutions.com/role/WarrantyreserveliabilityTables", "longName": "9954482 - Disclosure - Warranty reserve liability (Tables)", "shortName": "Warranty reserve liability (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "40", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.biolifesolutions.com/role/LongtermdebtTables", "longName": "9954483 - Disclosure - Long-term debt (Tables)", "shortName": "Long-term debt (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "41", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.biolifesolutions.com/role/RevenueTables", "longName": "9954484 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "42", "firstAnchor": { "contextRef": "c-1", "name": "blfs:RevenuesByProductLineTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "blfs:RevenuesByProductLineTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.biolifesolutions.com/role/StockbasedcompensationTables", "longName": "9954485 - Disclosure - Stock-based compensation (Tables)", "shortName": "Stock-based compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "43", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.biolifesolutions.com/role/NetlosspercommonshareTables", "longName": "9954486 - Disclosure - Net loss per common share (Tables)", "shortName": "Net loss per common share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "44", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.biolifesolutions.com/role/SubsequenteventsTables", "longName": "9954487 - Disclosure - Subsequent events (Tables)", "shortName": "Subsequent events (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "45", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails", "longName": "9954488 - Disclosure - Organization and significant accounting policies - Narrative (Details)", "shortName": "Organization and significant accounting policies - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "reportable_segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "reportable_segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails", "longName": "9954489 - Disclosure - Organization and significant accounting policies - Schedule of Concentrations of Credit Risk and Business Risk (Details)", "shortName": "Organization and significant accounting policies - Schedule of Concentrations of Credit Risk and Business Risk (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-44", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-44", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails", "longName": "9954490 - Disclosure - Organization and significant accounting policies - Schedule of Product Revenue Concentration (Details)", "shortName": "Organization and significant accounting policies - Schedule of Product Revenue Concentration (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-50", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-50", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails", "longName": "9954491 - Disclosure - Correction of immaterial errors - Schedule of Effect of Adjustments to Financial Statements (Details)", "shortName": "Correction of immaterial errors - Schedule of Effect of Adjustments to Financial Statements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:AdditionalPaidInCapital", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:AdditionalPaidInCapital", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails", "longName": "9954492 - Disclosure - Fair value measurement - Narrative (Details)", "shortName": "Fair value measurement - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-72", "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R51": { "role": "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "longName": "9954493 - Disclosure - Fair value measurement - Schedule of the Company's Financial Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)", "shortName": "Fair value measurement - Schedule of the Company's Financial Assets and Liabilities Measured at Fair Value on a Recurring Basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-93", "name": "us-gaap:AssetsFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R52": { "role": "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails", "longName": "9954494 - Disclosure - Fair value measurement - Schedule of the Changes in Fair Value of Contingent Consideration Liabilities (Details)", "shortName": "Fair value measurement - Schedule of the Changes in Fair Value of Contingent Consideration Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-114", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-114", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails", "longName": "9954495 - Disclosure - Investments - Schedule of Available-for-Sale Marketable Securities (Details)", "shortName": "Investments - Schedule of Available-for-Sale Marketable Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "blfs:DebtSecuritiesAvailableforsaleUnrealizedGainCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R54": { "role": "http://www.biolifesolutions.com/role/InvestmentsNarrativeDetails", "longName": "9954496 - Disclosure - Investments - Narrative (Details)", "shortName": "Investments - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-123", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-123", "name": "us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails", "longName": "9954497 - Disclosure - Inventories - Schedule of Inventory (Details)", "shortName": "Inventories - Schedule of Inventory (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.biolifesolutions.com/role/LeasesNarrativeDetails", "longName": "9954498 - Disclosure - Leases - Narrative (Details)", "shortName": "Leases - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-128", "name": "us-gaap:LesseeOperatingLeaseTermOfContract", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-128", "name": "us-gaap:LesseeOperatingLeaseTermOfContract", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.biolifesolutions.com/role/LeasesScheduleofOperatingandFinanceLeaseTermsandDiscountRatesDetails", "longName": "9954499 - Disclosure - Leases - Schedule of Operating and Finance Lease Terms and Discount Rates (Details)", "shortName": "Leases - Schedule of Operating and Finance Lease Terms and Discount Rates (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "td", "tr", "table", "div", "blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "td", "tr", "table", "div", "blfs:LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails", "longName": "9954500 - Disclosure - Leases - Schedule of Lease Expense (Details)", "shortName": "Leases - Schedule of Lease Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails", "longName": "9954501 - Disclosure - Leases - Schedule of Maturities Operating and Finance Lease Liabilities (Details)", "shortName": "Leases - Schedule of Maturities Operating and Finance Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails", "longName": "9954502 - Disclosure - Assets held for rent - Schedule of Assets Held for Rent (Details)", "shortName": "Assets held for rent - Schedule of Assets Held for Rent (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "c-3", "name": "blfs:ShippersPlacedInService", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "blfs:ScheduleOfAssetsHeldForRentTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "blfs:ShippersPlacedInService", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "blfs:ScheduleOfAssetsHeldForRentTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.biolifesolutions.com/role/AssetsheldforrentNarrativeDetails", "longName": "9954503 - Disclosure - Assets held for rent - Narrative (Details)", "shortName": "Assets held for rent - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "c-1", "name": "blfs:AssetsHeldForRentDepreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "blfs:AssetsHeldForRentDepreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails", "longName": "9954504 - Disclosure - Property and equipment - Schedule of Property and Equipment (Details)", "shortName": "Property and equipment - Schedule of Property and Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R63": { "role": "http://www.biolifesolutions.com/role/PropertyandequipmentNarrativeDetails", "longName": "9954505 - Disclosure - Property and equipment - Narrative (Details)", "shortName": "Property and equipment - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:Depreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:Depreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R64": { "role": "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails", "longName": "9954506 - Disclosure - Goodwill and intangible assets - Schedule of Finite-Lived Intangible Assets (Details)", "shortName": "Goodwill and intangible assets - Schedule of Finite-Lived Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsNarrativeDetails", "longName": "9954507 - Disclosure - Goodwill and intangible assets - Narrative (Details)", "shortName": "Goodwill and intangible assets - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": null }, "R66": { "role": "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails", "longName": "9954508 - Disclosure - Goodwill and intangible assets - Schedule of Amortization Expense for Finite-Lived Intangible Assets (Details)", "shortName": "Goodwill and intangible assets - Schedule of Amortization Expense for Finite-Lived Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails", "longName": "9954509 - Disclosure - Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details)", "shortName": "Accrued expenses and other current liabilities - Schedule of Accrued Expenses and Other Current Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AccruedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AccruedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.biolifesolutions.com/role/WarrantyreserveliabilityScheduleofProductWarrantyLiabilityDetails", "longName": "9954510 - Disclosure - Warranty reserve liability - Schedule of Product Warranty Liability (Details)", "shortName": "Warranty reserve liability - Schedule of Product Warranty Liability (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R69": { "role": "http://www.biolifesolutions.com/role/CommitmentsandcontingenciesDetails", "longName": "9954511 - Disclosure - Commitments and contingencies (Details)", "shortName": "Commitments and contingencies (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PurchaseObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PurchaseObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R70": { "role": "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "longName": "9954512 - Disclosure - Long-term debt - Narrative (Details)", "shortName": "Long-term debt - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "c-147", "name": "blfs:NumberOfTermNotesAssumed", "unitRef": "note", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-147", "name": "blfs:NumberOfTermNotesAssumed", "unitRef": "note", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R71": { "role": "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails", "longName": "9954513 - Disclosure - Long-term debt - Schedule of Debt (Details)", "shortName": "Long-term debt - Schedule of Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDebtTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:DeferredFinanceCostsNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDebtTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R72": { "role": "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails", "longName": "9954514 - Disclosure - Long-term debt - Schedule of Maturities of Long-Term Debt (Details)", "shortName": "Long-term debt - Schedule of Maturities of Long-Term Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R73": { "role": "http://www.biolifesolutions.com/role/RevenueNarrativeDetails", "longName": "9954515 - Disclosure - Revenue - Narrative (Details)", "shortName": "Revenue - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "73", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R74": { "role": "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails", "longName": "9954516 - Disclosure - Revenue - Schedule of Bioproduction Tools and Service Revenues (Details)", "shortName": "Revenue - Schedule of Bioproduction Tools and Service Revenues (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "74", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-174", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "blfs:RevenuesByProductLineTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R75": { "role": "http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails", "longName": "9954517 - Disclosure - Revenue - Schedule of Remaining Performance Obligations (Details)", "shortName": "Revenue - Schedule of Remaining Performance Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "75", "firstAnchor": { "contextRef": "c-187", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-187", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R76": { "role": "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails", "longName": "9954518 - Disclosure - Stock-based compensation - Schedule of Service Vesting-Based Stock Option Activity (Details)", "shortName": "Stock-based compensation - Schedule of Service Vesting-Based Stock Option Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "76", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R77": { "role": "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "longName": "9954519 - Disclosure - Stock-based compensation - Narrative (Details)", "shortName": "Stock-based compensation - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "77", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R78": { "role": "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails", "longName": "9954520 - Disclosure - Stock-based compensation - Schedule of Service Vesting-Based and Market Based Restricted Stock Activity (Details)", "shortName": "Stock-based compensation - Schedule of Service Vesting-Based and Market Based Restricted Stock Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "78", "firstAnchor": { "contextRef": "c-193", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-193", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R79": { "role": "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails", "longName": "9954521 - Disclosure - Stock-based compensation - Schedule of Stock Compensation Expense (Details)", "shortName": "Stock-based compensation - Schedule of Stock Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "79", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-219", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R80": { "role": "http://www.biolifesolutions.com/role/IncometaxesDetails", "longName": "9954522 - Disclosure - Income taxes (Details)", "shortName": "Income taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "80", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R81": { "role": "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails", "longName": "9954523 - Disclosure - Net loss per common share - Schedule of Earnings Per Share, Basic and Diluted, Two Class Method (Details)", "shortName": "Net loss per common share - Schedule of Earnings Per Share, Basic and Diluted, Two Class Method (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "81", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "blfs:WeightedAverageNumberOfSharesIssuedDiluted", "us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding", "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicByCommonClassTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } }, "R82": { "role": "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails", "longName": "9954524 - Disclosure - Net loss per common share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)", "shortName": "Net loss per common share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "82", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "0", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R83": { "role": "http://www.biolifesolutions.com/role/EmployeebenefitplanDetails", "longName": "9954525 - Disclosure - Employee benefit plan (Details)", "shortName": "Employee benefit plan (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "83", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R84": { "role": "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "longName": "9954526 - Disclosure - Subsequent events - Narrative (Details)", "shortName": "Subsequent events - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "84", "firstAnchor": { "contextRef": "c-230", "name": "blfs:DisposalGroupIncludingDiscontinuedOperationCashRequiredOnClosingDate", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-230", "name": "blfs:DisposalGroupIncludingDiscontinuedOperationCashRequiredOnClosingDate", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R85": { "role": "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "longName": "9954527 - Disclosure - Subsequent events - Disposal Groups, Including Discontinued Operations (Details)", "shortName": "Subsequent events - Disposal Groups, Including Discontinued Operations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "85", "firstAnchor": { "contextRef": "c-231", "name": "blfs:DisposalGroupIncludingDiscontinuedOperationExpectedSellingPrice", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-231", "name": "blfs:DisposalGroupIncludingDiscontinuedOperationExpectedSellingPrice", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true, "unique": true } }, "R86": { "role": "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails", "longName": "9954528 - Disclosure - Subsequent events - Schedule of Additional Costs Incurred (Details)", "shortName": "Subsequent events - Schedule of Additional Costs Incurred (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "86", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-231", "name": "blfs:DisposalGroupIncludingDiscontinuedOperationLiabilitiesAssumed", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "blfs-20240331.htm", "unique": true } } }, "tag": { "blfs_AbyJMatthewMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "AbyJMatthewMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Aby J. Matthew [Member]", "documentation": "Aby J. Matthew" } } }, "auth_ref": [] }, "us-gaap_AccountingChangesAndErrorCorrectionsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingChangesAndErrorCorrectionsAbstract", "lang": { "en-us": { "role": { "label": "Accounting Changes and Error Corrections [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Accruedexpensesandothercurrentliabilities" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current liabilities", "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]", "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period." } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r28", "r767" ] }, "us-gaap_AccountsPayableCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "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." } } }, "auth_ref": [ "r99", "r971" ] }, "us-gaap_AccountsPayableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts Payable", "label": "Accounts Payable [Member]", "documentation": "Obligations incurred and payable to vendors for goods and services received." } } }, "auth_ref": [ "r24" ] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts Receivable", "label": "Accounts Receivable [Member]", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r715" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, trade, net of allowance for credit losses of $1,745 and $1,710 as of March\u00a031, 2024 and December\u00a031, 2023, respectively", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r286", "r287" ] }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Accretion of available-for-sale investments", "label": "Accretion (Amortization) of Discounts and Premiums, Investments", "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r137" ] }, "blfs_AccruedExpensesAndOtherCurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "AccruedExpensesAndOtherCurrentLiabilities", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 7.0 }, "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current liabilities", "totalLabel": "Total accrued expenses and other current liabilities", "label": "Accrued Expenses And Other Current Liabilities", "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [] }, "us-gaap_AccruedIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": "blfs_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued taxes", "label": "Accrued Income Taxes, Current", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations." } } }, "auth_ref": [ "r114", "r160" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": "blfs_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses", "label": "Accrued Liabilities, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r32" ] }, "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses", "label": "Accrued Liabilities", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities." } } }, "auth_ref": [ "r99" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: Accumulated depreciation", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r74", "r189", "r598" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive loss, net of taxes", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r38", "r39", "r125", "r198", "r595", "r618", "r622" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income", "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": [ "r3", "r14", "r39", "r501", "r504", "r544", "r613", "r614", "r887", "r888", "r889", "r900", "r901", "r902" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r817" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in-capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r117", "r767", "r977" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital, Common Stock", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r117" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-in Capital", "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r469", "r470", "r471", "r632", "r900", "r901", "r902", "r946", "r979" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r823" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r823" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r823" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r823" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r82", "r83", "r435" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net loss to net cash used in operating activities", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "blfs_AdvantageTermNote1Member": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "AdvantageTermNote1Member", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Advantage Term Note 1", "label": "Advantage Term Note 1 [Member]", "documentation": "Represents information related to term note 1 loaned by Advantage Capital." } } }, "auth_ref": [] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r788", "r799", "r809", "r834" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r791", "r802", "r812", "r837" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r823" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r830" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r795", "r803", "r813", "r830", "r838", "r842", "r850" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r848" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails": { "parentTag": "blfs_DisposalGroupsIncludingDiscontinuedOperationsAdditionalCosts", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "netLabel": "Share-based payment arrangement, expense", "verboseLabel": "Total", "terseLabel": "Global Cooling employee stock based compensation expense", "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r464", "r472" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for doubtful accounts", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r199", "r288", "r330" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCosts", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 20.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of loan costs", "label": "Amortization of Debt Issuance Costs", "documentation": "Amount of amortization expense attributable to debt issuance costs." } } }, "auth_ref": [ "r129", "r396", "r529", "r893" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 4.0 }, "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsNarrativeDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible asset amortization", "verboseLabel": "Amortization of intangible assets", "label": "Amortization of Intangible Assets", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r9", "r68", "r72" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive securities excluded from computation of earnings per share, amount (in shares)", "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": [ "r256" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities [Axis]", "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r54" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "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.biolifesolutions.com/role/NetlosspercommonshareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities, Name [Domain]", "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": [ "r54" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r158", "r192", "r220", "r263", "r276", "r280", "r325", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r496", "r498", "r520", "r590", "r669", "r767", "r779", "r938", "r939", "r961" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r184", "r201", "r220", "r325", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r496", "r498", "r520", "r767", "r938", "r939", "r961" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets:", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Assets", "label": "Assets, Fair Value Disclosure", "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r91" ] }, "us-gaap_AssetsFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosureAbstract", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Assets:", "label": "Assets, Fair Value Disclosure [Abstract]" } } }, "auth_ref": [] }, "blfs_AssetsHeldForRentDepreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "AssetsHeldForRentDepreciation", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/AssetsheldforrentNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Assets held for rent, depreciation expense", "label": "Assets Held For Rent, Depreciation", "documentation": "The amount of depreciation expenses recognized for assets held for rent." } } }, "auth_ref": [] }, "blfs_AssetsHeldForRentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "AssetsHeldForRentNet", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Assets held for rent, net", "label": "Assets Held For Rent, Net", "documentation": "Amount of assets held for rent classified as noncurrent." } } }, "auth_ref": [] }, "blfs_AssetsHeldForRentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "AssetsHeldForRentTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Assetsheldforrent" ], "lang": { "en-us": { "role": { "terseLabel": "Assets held for rent", "label": "Assets Held For Rent [Text Block]", "documentation": "The entire disclosure for assets held for rent." } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total marketable securities, Gross Unrealized Gains", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax", "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r295" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "negatedTotalLabel": "Total marketable securities, Gross Unrealized Losses", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax", "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r296" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total", "label": "Debt Securities, Available-for-Sale, Amortized Cost", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r292", "r336", "r589" ] }, "us-gaap_AvailableForSaleSecuritiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesAbstract", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Estimated Fair Value", "label": "Debt Securities, Available-for-Sale [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecurities", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 1.0 }, "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Available-for-sale securities", "terseLabel": "Estimated Fair Value, Total marketable securities", "totalLabel": "Total", "label": "Debt Securities, Available-for-Sale", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r293", "r336", "r584", "r909" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 1.0 }, "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Available-for-sale securities, current portion", "verboseLabel": "Due in one year or less", "label": "Debt Securities, Available-for-Sale, Current", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current." } } }, "auth_ref": [ "r290", "r336" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Due after one year through five years", "label": "Debt Securities, Available-for-Sale, Noncurrent", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent." } } }, "auth_ref": [ "r187", "r290", "r336" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r845" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r846" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r841" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r841" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r841" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r841" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r841" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r841" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r844" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r843" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r842" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r842" ] }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetRelatedDisclosuresAbstract", "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unaudited Condensed Consolidated Balance Sheet", "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.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Organizationandsignificantaccountingpolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Organization and significant accounting policies", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r138" ] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition, Acquiree [Domain]", "label": "Business Acquisition, Acquiree [Domain]", "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree." } } }, "auth_ref": [ "r493", "r762", "r763" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Axis]", "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r85", "r86", "r493", "r762", "r763" ] }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAcquisitionRelatedCosts", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisition costs", "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": [ "r84" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 3.0 }, "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "verboseLabel": "Change in fair value of contingent consideration", "terseLabel": "Change in fair value of contingent consideration, increase (decrease)", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r495", "r892" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration, liability", "label": "Business Combination, Contingent Consideration, Liability", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r1", "r90", "r494" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": { "xbrltype": "decimalItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration, liability, measurement input", "label": "Business Combination, Contingent Consideration, Liability, Measurement Input", "documentation": "Value of input used to measure contingent consideration liability from business combination." } } }, "auth_ref": [ "r516" ] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase of property and equipment not yet paid", "label": "Capital Expenditures Incurred but Not yet Paid", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r45", "r46", "r47" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r44", "r186", "r730" ] }, "us-gaap_CashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAxis", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Axis]", "label": "Cash and Cash Equivalents [Axis]", "documentation": "Information by type of cash and cash equivalent balance." } } }, "auth_ref": [ "r186" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails": { "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash equivalents", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsAndShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsAndShortTermInvestments", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash, cash equivalents, and available-for-sale securities", "label": "Cash, Cash Equivalents, and Short-Term Investments", "documentation": "Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable." } } }, "auth_ref": [ "r886" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash, cash equivalents, and restricted cash \u2013 beginning of period", "periodEndLabel": "Cash, cash equivalents, and restricted cash \u2013 end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r44", "r135", "r219" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net decrease in cash, cash equivalents, and restricted cash", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r2", "r135" ] }, "blfs_CashExpendituresMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "CashExpendituresMember", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash Expenditures", "label": "Cash Expenditures [Member]", "documentation": "Cash Expenditures" } } }, "auth_ref": [] }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash investing and financing activities", "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]" } } }, "auth_ref": [] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r821" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ClassOfStockDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockDomain", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsNarrativeDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Domain]", "label": "Class of Stock [Domain]", "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock." } } }, "auth_ref": [ "r179", "r195", "r196", "r197", "r220", "r245", "r246", "r253", "r255", "r261", "r262", "r325", "r372", "r374", "r375", "r376", "r379", "r380", "r400", "r401", "r403", "r404", "r406", "r520", "r626", "r627", "r628", "r629", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r657", "r679", "r697", "r709", "r710", "r711", "r712", "r713", "r856", "r895", "r905" ] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r822" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r822" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies (Note 12)", "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": [ "r36", "r100", "r592", "r656" ] }, "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.biolifesolutions.com/role/Commitmentsandcontingencies" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r147", "r354", "r355", "r716", "r933" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r770", "r771", "r772", "r774", "r775", "r776", "r777", "r900", "r901", "r946", "r976", "r979" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value (in dollars per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r116" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r116", "r657" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares issued (in shares)", "label": "Common Stock, Shares, Issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r116" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares outstanding (in shares)", "periodStartLabel": "Beginning balance, common stock, shares outstanding (in shares)", "periodEndLabel": "Ending balance, common stock, shares outstanding (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r15", "r116", "r657", "r675", "r979", "r980" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, $0.001 par value; 150,000,000 shares authorized, 45,689,583 and 45,167,225 shares issued and outstanding, respectively, as of March\u00a031, 2024 and December\u00a031, 2023", "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": [ "r116", "r594", "r767" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r827" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r826" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r828" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r825" ] }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationAndRetirementDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Retirement Benefits [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive loss", "terseLabel": "Comprehensive loss", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r40", "r205", "r207", "r211", "r585", "r603" ] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Domain]", "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r57", "r61", "r93", "r94", "r285", "r715" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Axis]", "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r57", "r61", "r93", "r94", "r285", "r623", "r715" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Axis]", "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r57", "r61", "r93", "r94", "r285", "r715", "r865" ] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Concentrations of credit risk and business risk", "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for credit risk." } } }, "auth_ref": [ "r102", "r168" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk [Line Items]", "label": "Concentration Risk [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": [ "r715" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration risk, percent", "label": "Concentration Risk, Percentage", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r57", "r61", "r93", "r94", "r285" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk [Table]", "label": "Concentration Risk [Table]", "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r56", "r57", "r61", "r62", "r93", "r157", "r715" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Domain]", "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r57", "r61", "r93", "r94", "r285", "r715" ] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Construction in-progress", "label": "Construction in Progress [Member]", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "blfs_ContingentConsiderationLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ContingentConsiderationLiabilitiesMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent Consideration Liabilities", "label": "Contingent Consideration Liabilities [Member]", "documentation": "Information pertaining to contingent consideration liabilities." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/RevenueNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue", "label": "Contract with Customer, Liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r408", "r409", "r420" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": "blfs_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue, current", "label": "Contract with Customer, Liability, Current", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r408", "r409", "r420" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/RevenueNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue, revenue recognized", "label": "Contract with Customer, Liability, Revenue Recognized", "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": [ "r421" ] }, "us-gaap_CorporateDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateDebtSecuritiesMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate debt securities", "label": "Corporate Debt Securities [Member]", "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment." } } }, "auth_ref": [ "r759", "r761", "r975" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of goods and services sold (exclusive of intangible assets amortization)", "label": "Cost of Goods and Services Sold", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r131", "r580" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenue", "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "us-gaap_CostsAndExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostsAndExpenses", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "Costs and Expenses", "documentation": "Total costs of sales and operating expenses for the period." } } }, "auth_ref": [ "r130" ] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Axis]", "label": "Counterparty Name [Axis]" } } }, "auth_ref": [ "r222", "r223", "r384", "r402", "r545", "r735", "r737" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "terseLabel": "Cover [Abstract]", "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "blfs_CryoStorProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "CryoStorProductsMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "CryoStor", "label": "CryoStor Products [Member]", "documentation": "Information pertaining to CryoStor products." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "blfs_CustomerAMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "CustomerAMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer A", "label": "Customer A [Member]", "documentation": "Information about customer A." } } }, "auth_ref": [] }, "blfs_CustomerBMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "CustomerBMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer B", "label": "Customer B [Member]", "documentation": "Represents information about major customer B." } } }, "auth_ref": [] }, "blfs_CustomerCMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "CustomerCMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer C", "label": "Customer C [Member]", "documentation": "Represents information about major customer C." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer Concentration Risk", "label": "Customer Concentration Risk [Member]", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r58", "r285" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "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": [ "r89" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "blfs_DebtInstrumentAdditionalMaximumAmountUponCertainMilestoneAchievements": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtInstrumentAdditionalMaximumAmountUponCertainMilestoneAchievements", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument, additional maximum amount upon certain milestone achievements", "label": "Debt Instrument, Additional Maximum Amount Upon Certain Milestone Achievements", "documentation": "Amount of additional maximum capacity upon achievement of certain milestones." } } }, "auth_ref": [] }, "blfs_DebtInstrumentAdditionalMaximumAmountWithinNineMonthsAfterClosing": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtInstrumentAdditionalMaximumAmountWithinNineMonthsAfterClosing", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options to borrow", "label": "Debt Instrument, Additional Maximum Amount Within Nine Months After Closing", "documentation": "The maximum amount of addiotnal borrowing capacity within 9 months of closing." } } }, "auth_ref": [] }, "blfs_DebtInstrumentAdditionalMaximumAtDiscretionOfLender": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtInstrumentAdditionalMaximumAtDiscretionOfLender", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument, additional maximum at discretion of lender", "label": "Debt Instrument, Additional Maximum At Discretion of Lender", "documentation": "Amount of additional maximum borrowing at the discretion of the lender." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument [Axis]", "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r25", "r113", "r114", "r159", "r161", "r224", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r530", "r746", "r747", "r748", "r749", "r750", "r896" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument, basis spread on variable rate", "label": "Debt Instrument, Basis Spread on Variable Rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total debt, excluding unamortized debt issuance costs", "label": "Long-Term Debt, Gross", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r25", "r161", "r398" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument, face amount", "label": "Debt Instrument, Face Amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r96", "r98", "r381", "r530", "r747", "r748" ] }, "blfs_DebtInstrumentFinancialCovenantCashOutflowAndUnsecuredIndebtednessLimitationAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtInstrumentFinancialCovenantCashOutflowAndUnsecuredIndebtednessLimitationAmount", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial covenant requirement amount", "label": "Debt Instrument, Financial Covenant, Cash Outflow And Unsecured Indebtedness Limitation, Amount", "documentation": "Debt Instrument, Financial Covenant, Cash Outflow And Unsecured Indebtedness Limitation, Amount" } } }, "auth_ref": [] }, "blfs_DebtInstrumentInterestRateMaximumStatedPercentageForEachTrancheBorrowed": { "xbrltype": "percentItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtInstrumentInterestRateMaximumStatedPercentageForEachTrancheBorrowed", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument, interest rate, maximum stated percentage for each tranche borrowed", "label": "Debt Instrument, Interest Rate, Maximum Stated Percentage for Each Tranche Borrowed", "documentation": "Represents maximum stated interest rate for each tranche borrowed." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateStatedPercentage", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Interest rate", "terseLabel": "Interest Rate", "label": "Debt Instrument, Interest Rate, Stated Percentage", "documentation": "Contractual interest rate for funds borrowed, under the debt agreement." } } }, "auth_ref": [ "r34", "r382" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument [Line Items]", "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": [ "r224", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r530", "r746", "r747", "r748", "r749", "r750", "r896" ] }, "blfs_DebtInstrumentMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtInstrumentMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument, maximum borrowing capacity", "label": "Debt Instrument, Maximum Borrowing Capacity", "documentation": "Represents maximum borrowing capacity." } } }, "auth_ref": [] }, "blfs_DebtInstrumentMaximumBorrowingCapacityAtClosing": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtInstrumentMaximumBorrowingCapacityAtClosing", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum borrowing capacity", "label": "Debt Instrument, Maximum Borrowing Capacity At Closing", "documentation": "Represents maximum borrowing capacity at closing." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Name [Domain]", "label": "Debt Instrument, Name [Domain]", "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "auth_ref": [ "r35", "r224", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r530", "r746", "r747", "r748", "r749", "r750", "r896" ] }, "blfs_DebtInstrumentNonRefundableTerminationFeeAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtInstrumentNonRefundableTerminationFeeAmount", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Termination fee, amount", "label": "Debt Instrument, Non-Refundable Termination Fee, Amount", "documentation": "Debt Instrument, Non-Refundable Termination Fee, Amount" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt instrument, balloon payment due", "label": "Debt Instrument, Periodic Payment Terms, Balloon Payment to be Paid", "documentation": "Amount of payment greater than the preceding installment payments to be paid at final maturity date of debt." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Long-Term Debt Instruments [Table]", "label": "Schedule of Long-Term Debt Instruments [Table]", "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r35", "r76", "r77", "r95", "r96", "r98", "r101", "r149", "r150", "r224", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r530", "r746", "r747", "r748", "r749", "r750", "r896" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleAccruedInterestAfterAllowanceForCreditLossNoncurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Available-for-sale securities, long-term", "label": "Debt Securities, Available-for-Sale, Accrued Interest, after Allowance for Credit Loss, Noncurrent", "documentation": "Amount, after allowance for credit loss, of accrued interest on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent." } } }, "auth_ref": [ "r298", "r336", "r337" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleAmortizedCostCurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortized Cost, current portion", "verboseLabel": "Due in one year or less", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Current", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current." } } }, "auth_ref": [ "r336", "r910" ] }, "us-gaap_DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleAmortizedCostNoncurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortized Cost, long term", "verboseLabel": "Due after one year through five years", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Noncurrent", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent." } } }, "auth_ref": [ "r336", "r910" ] }, "us-gaap_DebtSecuritiesAvailableForSaleTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleTable", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-Sale [Table]", "label": "Debt Securities, Available-for-Sale [Table]", "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r299", "r300", "r301", "r302", "r303" ] }, "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Available-for-Sale Marketable Securities", "label": "Debt Securities, Available-for-Sale [Table Text Block]", "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r910", "r911", "r912", "r913", "r914", "r915", "r916", "r917", "r918", "r919", "r920", "r921" ] }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleUnrealizedGainLoss", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gains and losses on available-for-sale securities", "label": "Debt Securities, Available-for-Sale, Unrealized Gain (Loss)", "documentation": "Amount of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r913", "r914" ] }, "blfs_DebtSecuritiesAvailableForSaleUnrealizedLossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossCurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Gross unrealized Losses, current portion", "label": "Debt Securities, Available-for-Sale, Unrealized Loss, Current", "documentation": "Current portion of amount of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [] }, "blfs_DebtSecuritiesAvailableForSaleUnrealizedLossNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossNoncurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Gross unrealized losses, long term", "label": "Debt Securities, Available-for-Sale, Unrealized Loss, Noncurrent", "documentation": "The non-current portion of unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableforsaleAmortizedCostAbstract", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortized Cost", "label": "Debt Securities, Available-for-Sale, Amortized Cost [Abstract]" } } }, "auth_ref": [] }, "blfs_DebtSecuritiesAvailableforsaleUnrealizedGainCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtSecuritiesAvailableforsaleUnrealizedGainCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross unrealized Gains, current portion", "label": "Debt Securities, Available-for-Sale, Unrealized Gain, Current", "documentation": "The unrealized gain of debt securities available-for-sale classified as current." } } }, "auth_ref": [] }, "blfs_DebtSecuritiesAvailableforsaleUnrealizedGainNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DebtSecuritiesAvailableforsaleUnrealizedGainNoncurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross unrealized Gains, long term", "label": "Debt Securities, Available-for-Sale, Unrealized Gain, Noncurrent", "documentation": "The amount of unrealized gain of debt securities available-for-sale classified as noncurrent." } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": "blfs_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesScheduleofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued compensation", "label": "Deferred Compensation Liability, Current", "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable within one year (or the operating cycle, if longer). Represents currently earned compensation under compensation arrangements that is not actually paid until a later date." } } }, "auth_ref": [ "r78", "r152" ] }, "us-gaap_DeferredFinanceCostsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFinanceCostsNet", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less: unamortized debt issuance costs", "label": "Debt Issuance Costs, Net", "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r97", "r941" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 19.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred income tax expense", "label": "Deferred Income Tax Expense (Benefit)", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r9", "r154", "r176", "r487", "r488", "r898" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax liabilities", "label": "Deferred Income Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r475", "r476", "r591" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/IncometaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax assets, valuation allowance", "label": "Deferred Tax Assets, Valuation Allowance", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r481" ] }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/EmployeebenefitplanDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Defined contribution plan, employer discretionary contribution amount", "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount", "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "presentation": [ "http://www.biolifesolutions.com/role/EmployeebenefitplanDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Defined contribution plan, employer matching contribution, percent of employees' gross pay", "label": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent", "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Employeebenefitplan" ], "lang": { "en-us": { "role": { "terseLabel": "Employee benefit plan", "label": "Defined Contribution Plan [Text Block]", "documentation": "The entire disclosure for defined contribution plan." } } }, "auth_ref": [ "r430", "r431" ] }, "us-gaap_DepositsAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepositsAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term deposits and other assets", "label": "Deposits Assets, Noncurrent", "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer." } } }, "auth_ref": [ "r883" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, depreciation expense", "label": "Depreciation", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r9", "r73" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation", "label": "Depreciation, Depletion and Amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r9", "r266" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r419", "r752", "r753", "r754", "r755", "r756", "r757", "r758" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r419", "r752", "r753", "r754", "r755", "r756", "r757", "r758" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Stockbasedcompensation" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r433", "r437", "r465", "r466", "r468", "r765" ] }, "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": [] }, "us-gaap_DisposalGroupClassificationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisposalGroupClassificationAxis", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disposal Group Classification [Axis]", "label": "Disposal Group Classification [Axis]", "documentation": "Information by disposal group classification." } } }, "auth_ref": [ "r182" ] }, "us-gaap_DisposalGroupClassificationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisposalGroupClassificationDomain", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disposal Group Classification [Domain]", "label": "Disposal Group Classification [Domain]", "documentation": "Component or group of components disposed of, including but not limited to, disposal group held-for-sale or disposed of by sale, disposed of by means other than sale, and discontinued operations." } } }, "auth_ref": [] }, "us-gaap_DisposalGroupHeldforsaleNotDiscontinuedOperationsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisposalGroupHeldforsaleNotDiscontinuedOperationsMember", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disposal Group, Held-for-Sale, Not Discontinued Operations", "label": "Disposal Group, Held-for-Sale, Not Discontinued Operations [Member]", "documentation": "Disposal group that is classified as held-for-sale. Excludes disposals classified as discontinued operations." } } }, "auth_ref": [ "r5", "r21", "r182" ] }, "blfs_DisposalGroupIncludingDiscontinuedOperationApproximateCostsToSell": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupIncludingDiscontinuedOperationApproximateCostsToSell", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Approximate costs to sell Global Cooling", "label": "Disposal Group, Including Discontinued Operation, Approximate Costs To Sell", "documentation": "Disposal Group, Including Discontinued Operation, Approximate Costs To Sell" } } }, "auth_ref": [] }, "blfs_DisposalGroupIncludingDiscontinuedOperationCarryingBasis": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupIncludingDiscontinuedOperationCarryingBasis", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails": { "parentTag": "blfs_DisposalGroupIncludingDiscontinuedOperationExpectedGainLossOnDisposal", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Global Cooling carrying basis as of December 31, 2023(2)", "label": "Disposal Group, Including Discontinued Operation, Carrying Basis", "documentation": "Disposal Group, Including Discontinued Operation, Carrying Basis" } } }, "auth_ref": [] }, "blfs_DisposalGroupIncludingDiscontinuedOperationCashRequiredOnClosingDate": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupIncludingDiscontinuedOperationCashRequiredOnClosingDate", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash required on closing date", "label": "Disposal Group, Including Discontinued Operation, Cash Required On Closing Date", "documentation": "Disposal Group, Including Discontinued Operation, Cash Required On Closing Date" } } }, "auth_ref": [] }, "blfs_DisposalGroupIncludingDiscontinuedOperationCashRequiredOnClosingDateFundedByEntity": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupIncludingDiscontinuedOperationCashRequiredOnClosingDateFundedByEntity", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash required on closing date, funded by entity", "negatedLabel": "Cash to Global Cooling funded by Company", "label": "Disposal Group, Including Discontinued Operation, Cash Required On Closing Date, Funded By Entity", "documentation": "Disposal Group, Including Discontinued Operation, Cash Required On Closing Date, Funded By Entity" } } }, "auth_ref": [] }, "blfs_DisposalGroupIncludingDiscontinuedOperationDebtRepaymentCost": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupIncludingDiscontinuedOperationDebtRepaymentCost", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails": { "parentTag": "blfs_DisposalGroupsIncludingDiscontinuedOperationsAdditionalCosts", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Repayment of indebtedness", "verboseLabel": "Global Cooling Term Notes payoff", "label": "Disposal Group, Including Discontinued Operation, Debt Repayment Cost", "documentation": "Disposal Group, Including Discontinued Operation, Debt Repayment Cost" } } }, "auth_ref": [] }, "blfs_DisposalGroupIncludingDiscontinuedOperationExpectedGainLossOnDisposal": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupIncludingDiscontinuedOperationExpectedGainLossOnDisposal", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Estimated net loss on disposal", "label": "Disposal Group, Including Discontinued Operation, Expected Gain (Loss) On Disposal", "documentation": "Disposal Group, Including Discontinued Operation, Expected Gain (Loss) On Disposal" } } }, "auth_ref": [] }, "blfs_DisposalGroupIncludingDiscontinuedOperationExpectedSellingPrice": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupIncludingDiscontinuedOperationExpectedSellingPrice", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Selling price: $1", "label": "Disposal Group, Including Discontinued Operation, Expected Selling Price", "documentation": "Disposal Group, Including Discontinued Operation, Expected Selling Price" } } }, "auth_ref": [] }, "blfs_DisposalGroupIncludingDiscontinuedOperationExpectedSellingPricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupIncludingDiscontinuedOperationExpectedSellingPricePerShare", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Selling price per share (in dollars per share)", "label": "Disposal Group, Including Discontinued Operation, Expected Selling Price, Per Share", "documentation": "Disposal Group, Including Discontinued Operation, Expected Selling Price, Per Share" } } }, "auth_ref": [] }, "blfs_DisposalGroupIncludingDiscontinuedOperationLiabilitiesAssumed": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupIncludingDiscontinuedOperationLiabilitiesAssumed", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails": { "parentTag": "blfs_DisposalGroupsIncludingDiscontinuedOperationsAdditionalCosts", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Assumed liabilities from Global Cooling", "label": "Disposal Group, Including Discontinued Operation, Liabilities Assumed", "documentation": "Disposal Group, Including Discontinued Operation, Liabilities Assumed" } } }, "auth_ref": [] }, "blfs_DisposalGroupsIncludingDiscontinuedOperationsAdditionalCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "DisposalGroupsIncludingDiscontinuedOperationsAdditionalCosts", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total", "label": "Disposal Groups, Including Discontinued Operations, Additional Costs", "documentation": "Disposal Groups, Including Discontinued Operations, Additional Costs" } } }, "auth_ref": [] }, "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disposal Group Name [Domain]", "label": "Disposal Group Name [Domain]", "documentation": "Name of disposal group." } } }, "auth_ref": [ "r762", "r763" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r783" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r816" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_EMEAMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EMEAMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Europe, Middle East, Africa (EMEA)", "label": "EMEA [Member]", "documentation": "Regions of Europe, Middle East and Africa." } } }, "auth_ref": [ "r981", "r982", "r983", "r984" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss attributable to common shareholders:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "verboseLabel": "Basic (in dollars per share)", "terseLabel": "Loss per common share, basic (in dollars per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r212", "r230", "r231", "r233", "r234", "r236", "r242", "r245", "r253", "r254", "r255", "r259", "r509", "r510", "r586", "r604", "r739" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "verboseLabel": "Diluted (in dollars per share)", "terseLabel": "Loss per common share, diluted (in dollars per share)", "label": "Earnings Per Share, Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r212", "r230", "r231", "r233", "r234", "r236", "r245", "r253", "r254", "r255", "r259", "r509", "r510", "r586", "r604", "r739" ] }, "us-gaap_EarningsPerShareReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareReconciliationAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss per share attributable to common shareholders:", "label": "Earnings Per Share Reconciliation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Netlosspercommonshare" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss per common share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r241", "r256", "r257", "r258" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Effects of currency translation on cash, cash equivalents, and restricted cash", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; 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": [ "r953" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.biolifesolutions.com/role/IncometaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective income tax rate reconciliation, percent", "label": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r478" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "presentation": [ "http://www.biolifesolutions.com/role/IncometaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective income tax rate reconciliation, at federal statutory income tax rate, percent", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r221", "r478", "r489" ] }, "blfs_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateWithoutDiscreteItemsPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateWithoutDiscreteItemsPercent", "presentation": [ "http://www.biolifesolutions.com/role/IncometaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective income tax rate reconciliation, at federal statutory income tax rate, without discrete items percent", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Without Discrete Items Percent", "documentation": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Without Discrete Items, Percent" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/IncometaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective income tax rate reconciliation, tax expense (benefit), share-based payment arrangement, amount", "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Amount", "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement." } } }, "auth_ref": [ "r857", "r945" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized compensation costs for service vesting-based stock options", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r467" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Period for recognition (year)", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r467" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Options", "label": "Employee Stock Option [Member]", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "blfs_EnhancedTermNoteMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "EnhancedTermNoteMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Enhanced Term Note", "label": "Enhanced Term Note [Member]", "documentation": "Represents information related to term note loaned by Enhanced Capital." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r781" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityDomain", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Entity [Domain]", "label": "Entity [Domain]", "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r781" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r781" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "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": [ "r855" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r781" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r781" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r781" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r781" ] }, "blfs_EquipmentAcquiredUnderOperatingLeases": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "EquipmentAcquiredUnderOperatingLeases", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Assets acquired under operating leases", "label": "Equipment Acquired Under Operating Leases", "documentation": "The equipment acquired under operating leases in a noncash (or part noncash) acquisition. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period." } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r15", "r180", "r208", "r209", "r210", "r225", "r226", "r227", "r229", "r237", "r239", "r260", "r326", "r329", "r407", "r469", "r470", "r471", "r483", "r484", "r500", "r501", "r502", "r503", "r504", "r505", "r508", "r522", "r523", "r524", "r525", "r526", "r527", "r544", "r613", "r614", "r615", "r632", "r697" ] }, "blfs_EquityInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "EquityInvestments", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Equity investments", "label": "Equity Investments", "documentation": "" } } }, "auth_ref": [] }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair value of non-marketable equity securities without readily determinable fair value", "label": "Equity Securities without Readily Determinable Fair Value, Amount", "documentation": "Amount of investment in equity security without readily determinable fair value." } } }, "auth_ref": [ "r324" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r824" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r788", "r799", "r809", "r834" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r785", "r796", "r806", "r831" ] }, "us-gaap_ErrorCorrectionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ErrorCorrectionTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Correctionofimmaterialerrors" ], "lang": { "en-us": { "role": { "terseLabel": "Correction of immaterial errors", "label": "Error Correction [Text Block]", "documentation": "The entire disclosure for reporting error correction." } } }, "auth_ref": [ "r235" ] }, "us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementLineItems", "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Error Corrections and Prior Period Adjustments Restatement [Line Items]", "label": "Error Corrections and Prior Period Adjustments Restatement [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": [ "r230", "r231", "r232", "r236", "r237", "r238", "r239", "r259" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r830" ] }, "srt_ExecutiveOfficerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ExecutiveOfficerMember", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Officer", "label": "Executive Officer [Member]" } } }, "auth_ref": [ "r907" ] }, "us-gaap_ExtinguishmentOfDebtAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ExtinguishmentOfDebtAmount", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Extinguishment of debt, amount", "label": "Extinguishment of Debt, Amount", "documentation": "Gross amount of debt extinguished." } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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": [ "r512", "r513", "r518" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]", "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r512", "r513", "r518" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurement Inputs and Valuation Techniques [Line Items]", "label": "Fair Value Measurement Inputs and Valuation Techniques [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurement Inputs and Valuation Techniques [Table]", "label": "Fair Value Measurement Inputs and Valuation Techniques [Table]", "documentation": "Disclosure of information about input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis." } } }, "auth_ref": [ "r16" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r389", "r424", "r425", "r426", "r427", "r428", "r429", "r513", "r552", "r553", "r554", "r747", "r748", "r759", "r760", "r761" ] }, "us-gaap_FairValueByLiabilityClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByLiabilityClassAxis", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Liability Class [Axis]", "label": "Liability Class [Axis]", "documentation": "Information by class of liability." } } }, "auth_ref": [ "r92", "r156" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Axis]", "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r512", "r513", "r515", "r516", "r519" ] }, "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.biolifesolutions.com/role/Fairvaluemeasurement" ], "lang": { "en-us": { "role": { "terseLabel": "Fair value measurement", "label": "Fair Value Disclosures [Text Block]", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r511" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 1", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r389", "r424", "r429", "r513", "r552", "r759", "r760", "r761" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r389", "r424", "r429", "r513", "r553", "r747", "r748", "r759", "r760", "r761" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 3", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r389", "r424", "r425", "r426", "r427", "r428", "r429", "r513", "r554", "r747", "r748", "r759", "r760", "r761" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value by Liability Class [Domain]", "label": "Fair Value by Liability Class [Domain]", "documentation": "Represents classes of liabilities measured and disclosed at fair value." } } }, "auth_ref": [ "r17" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]", "documentation": "Schedule of information required and determined to be provided for purposes of reconciling beginning and ending balances of fair value measurements of liabilities using significant unobservable inputs (level 3). Separately presenting changes during the period, attributable to: (1) total gains or losses for the period (realized and unrealized) and location reported in the statement of income (or activities); (2) purchases, sales, issuances, and settlements (net); (3) transfers in and/or out of Level 3." } } }, "auth_ref": [ "r17", "r92" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of the 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": [ "r17", "r92" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Domain]", "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Change in fair value recognized in net loss", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Gain (Loss) Included in Earnings", "documentation": "Amount of gain (loss) recognized in income from asset measured at fair value on recurring basis using unobservable input (level 3)." } } }, "auth_ref": [ "r517" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheChangesinFairValueofContingentConsiderationLiabilitiesDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending 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": [ "r17" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r389", "r424", "r425", "r426", "r427", "r428", "r429", "r552", "r553", "r554", "r747", "r748", "r759", "r760", "r761" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, 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": [ "r511", "r519" ] }, "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing Leases", "label": "Finance Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiability", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total present value of lease liabilities", "label": "Finance Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease." } } }, "auth_ref": [ "r534", "r542" ] }, "us-gaap_FinanceLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Lease liabilities, financing, current portion", "label": "Finance Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current." } } }, "auth_ref": [ "r534" ] }, "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Maturities of Finance Lease Liabilities", "label": "Finance Lease, Liability, to be Paid, Maturity [Table Text Block]", "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r957" ] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Lease liabilities, financing, long-term", "label": "Finance Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent." } } }, "auth_ref": [ "r534" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total lease payments", "label": "Finance Lease, Liability, to be Paid", "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease." } } }, "auth_ref": [ "r542" ] }, "blfs_FinanceLeaseLiabilityPaymentsDueAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFour", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Finance Lease Liability Payments Due After Year Four", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Finance Lease, Liability, to be Paid, Year One", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r542" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Finance Lease, Liability, to be Paid, Year Four", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r542" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Finance Lease, Liability, to be Paid, Year Three", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r542" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Finance Lease, Liability, to be Paid, Year Two", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r542" ] }, "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024 (9 months remaining)", "label": "Finance Lease, Liability, to be Paid, Remainder of Fiscal Year", "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r957" ] }, "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: interest", "label": "Finance Lease, Liability, Undiscounted Excess Amount", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease." } } }, "auth_ref": [ "r542" ] }, "us-gaap_FinanceLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Financing lease right-of-use assets, net", "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization", "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease." } } }, "auth_ref": [ "r533" ] }, "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofOperatingandFinanceLeaseTermsandDiscountRatesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average discount rate - finance leases", "label": "Finance Lease, Weighted Average Discount Rate, Percent", "documentation": "Weighted average discount rate for finance lease calculated at point in time." } } }, "auth_ref": [ "r541", "r766" ] }, "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofOperatingandFinanceLeaseTermsandDiscountRatesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining lease term in years - finance leases", "label": "Finance Lease, Weighted Average Remaining Lease Term", "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r540", "r766" ] }, "blfs_FinancedInsurancePremiumMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "FinancedInsurancePremiumMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Insurance premium financing", "label": "Financed Insurance Premium [Member]", "documentation": "Represents financed insurance premium." } } }, "auth_ref": [] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instrument [Axis]", "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r331", "r332", "r333", "r334", "r335", "r338", "r339", "r340", "r397", "r405", "r506", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r602", "r744", "r875", "r876", "r877", "r878", "r879", "r880", "r881", "r921", "r922", "r923", "r924" ] }, "blfs_FinancingLeaseCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "FinancingLeaseCosts", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails": { "parentTag": "blfs_OperatingLeaseCostsAndShortTermLeaseCosts", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financing lease costs", "label": "Financing Lease, Costs", "documentation": "Financing Lease, Costs" } } }, "auth_ref": [] }, "blfs_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "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.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Useful Life (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.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Accumulated Amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r191", "r345" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "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": [ "r143" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "2024 (9 months remaining)", "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.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "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": [ "r143" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "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": [ "r143" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "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": [ "r143" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r343", "r344", "r345", "r346", "r581", "r582" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross Carrying Value", "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": [ "r142", "r582" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r581" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r69", "r71" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofAmortizationExpenseforFiniteLivedIntangibleAssetsDetails", "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r142", "r581" ] }, "blfs_FixedAssetsHeldForRent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "FixedAssetsHeldForRent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails": { "parentTag": "blfs_ShippersPlacedInServiceNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fixed assets held for rent", "label": "Fixed Assets Held For Rent", "documentation": "Represents the fixed assets held for rent." } } }, "auth_ref": [] }, "us-gaap_ForeignCurrencyTransactionGainLossUnrealized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossUnrealized", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gains and losses on currency translation", "label": "Unrealized Gain (Loss), Foreign Currency Transaction, before Tax", "documentation": "Amount, before tax, of unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r137", "r677", "r778", "r951", "r952", "r978" ] }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation", "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy." } } }, "auth_ref": [ "r521" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r792", "r803", "r813", "r838" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r792", "r803", "r813", "r838" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r792", "r803", "r813", "r838" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r792", "r803", "r813", "r838" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r792", "r803", "r813", "r838" ] }, "blfs_FreezerEquipmentLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "FreezerEquipmentLoanMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Freezer equipment loan", "label": "Freezer Equipment Loan [Member]", "documentation": "Related to freezer equipment loan." } } }, "auth_ref": [] }, "blfs_FreezerInstallationLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "FreezerInstallationLoanMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Freezer installation loan", "label": "Freezer Installation Loan [Member]", "documentation": "Related to freezer installation loan." } } }, "auth_ref": [] }, "blfs_FurnitureAndComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "FurnitureAndComputerEquipmentMember", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Furniture and computer equipment", "label": "Furniture and Computer Equipment [Member]", "documentation": "Represents the furniture and computer equipment." } } }, "auth_ref": [] }, "blfs_GCIHoldingsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "GCIHoldingsMember", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "GCI Holdings", "label": "GCI Holdings [Member]", "documentation": "GCI Holdings" } } }, "auth_ref": [] }, "blfs_GainLossOnDispositionOfAssetsHeldForRent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "GainLossOnDispositionOfAssetsHeldForRent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Loss on disposal of assets held for rent, net", "label": "Gain (Loss) On Disposition Of Assets, Held For Rent", "documentation": "Amount of gain (loss) on sale or disposal of assets held for rent." } } }, "auth_ref": [] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 13.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "(Gain) loss on disposal of property and equipment, net", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r9" ] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "label": "General and Administrative Expense", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r132", "r681" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative costs", "label": "General and Administrative Expense [Member]", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r128" ] }, "us-gaap_GeographicConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeographicConcentrationRiskMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue by customers' geographic locations", "label": "Geographic Concentration Risk [Member]", "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa)." } } }, "auth_ref": [ "r60", "r715" ] }, "blfs_GeographicOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "GeographicOtherMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Geographic, Other [Member]", "documentation": "Represents other geographic location." } } }, "auth_ref": [] }, "blfs_GlobalCoolingAmendedTermNotesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "GlobalCoolingAmendedTermNotesMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Global Cooling Amended Term Notes", "label": "Global Cooling Amended Term Notes [Member]", "documentation": "Global Cooling Amended Term Notes" } } }, "auth_ref": [] }, "blfs_GlobalCoolingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "GlobalCoolingMember", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Global Cooling", "label": "Global Cooling [Member]", "documentation": "Global Cooling" } } }, "auth_ref": [] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r190", "r342", "r583", "r745", "r767", "r929", "r930" ] }, "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_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Goodwillandintangibleassets" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill and intangible assets", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r141" ] }, "us-gaap_GuaranteesAndProductWarrantiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GuaranteesAndProductWarrantiesAbstract", "lang": { "en-us": { "role": { "label": "Guarantees and Product Warranties [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Loss before income tax expense", "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", "r126", "r163", "r263", "r275", "r279", "r281", "r587", "r600", "r741" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disposal Group Name [Axis]", "label": "Disposal Group Name [Axis]", "documentation": "Information by name of disposal group." } } }, "auth_ref": [ "r762", "r763" ] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r347", "r350", "r682" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r350", "r682" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Incometaxes" ], "lang": { "en-us": { "role": { "terseLabel": "Income taxes", "label": "Income Tax Disclosure [Text Block]", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r221", "r474", "r479", "r480", "r482", "r485", "r490", "r491", "r492", "r631" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/IncometaxesDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "negatedLabel": "Income tax expense", "terseLabel": "Income tax expense (benefit)", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r165", "r177", "r238", "r239", "r267", "r477", "r486", "r605" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r8" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts receivable, trade, net", "label": "Increase (Decrease) in Accounts Receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r8" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current 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": [ "r892" ] }, "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedTaxesPayable", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Sales taxes payable", "label": "Increase (Decrease) in Accrued Taxes Payable", "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes." } } }, "auth_ref": [ "r892" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventories", "label": "Increase (Decrease) in Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r8" ] }, "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingAssetsAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Change in operating assets and liabilities, net of effects of acquisitions", "label": "Increase (Decrease) in Operating Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "verboseLabel": "Other", "label": "Increase (Decrease) in Other Operating Liabilities", "documentation": "Amount of increase (decrease) in operating liabilities classified as other." } } }, "auth_ref": [ "r8" ] }, "blfs_IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongTermDeposits": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "IncreaseDecreaseInPrepaidExpenseOtherCurrentAssetsAndLongTermDeposits", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other assets", "label": "Increase (Decrease) In Prepaid Expense, Other Current Assets, And Long-term Deposits", "documentation": "Amount of increase (decrease) in prepaid expenses, other current assets and long-term deposits during the period." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r795", "r803", "r813", "r830", "r838", "r842", "r850" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r848" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r784", "r854" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r784", "r854" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r784", "r854" ] }, "us-gaap_IntangibleAssetsGrossExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsGrossExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Intangible assets, gross", "label": "Intangible Assets, Gross (Excluding Goodwill)", "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill." } } }, "auth_ref": [ "r190" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 }, "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, net", "totalLabel": "Intangible assets, net", "label": "Intangible Assets, Net (Excluding Goodwill)", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r67", "r70" ] }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Interest expense, net", "label": "Interest Income (Expense), Nonoperating, Net", "documentation": "The net amount of nonoperating interest income (expense)." } } }, "auth_ref": [] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash interest paid", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r215", "r217", "r218" ] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Inventories" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "label": "Inventory Disclosure [Text Block]", "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory." } } }, "auth_ref": [ "r341" ] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finished goods", "label": "Inventory, Finished Goods, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r140", "r732" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "totalLabel": "Total inventories", "label": "Inventory, Net", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r200", "r731", "r767" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Raw materials", "label": "Inventory, Raw Materials, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r140", "r734" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/InventoriesScheduleofInventoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Work in progress", "label": "Inventory, Work in Process, Net of Reserves", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r140", "r733" ] }, "us-gaap_InvestmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Investments" ], "lang": { "en-us": { "role": { "terseLabel": "Investments", "label": "Investment [Text Block]", "documentation": "The entire disclosure for investment." } } }, "auth_ref": [ "r873", "r874", "r908" ] }, "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsDebtAndEquitySecuritiesAbstract", "lang": { "en-us": { "role": { "label": "Investments, Debt and Equity Securities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LeaseContractualTermAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseContractualTermAxis", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease Contractual Term [Axis]", "label": "Lease Contractual Term [Axis]", "documentation": "Information by contractual term of lease arrangement." } } }, "auth_ref": [ "r867" ] }, "us-gaap_LeaseContractualTermDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseContractualTermDomain", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease Contractual Term [Domain]", "label": "Lease Contractual Term [Domain]", "documentation": "Contractual term of lease arrangement." } } }, "auth_ref": [ "r867" ] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCost", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total lease costs", "label": "Lease, Cost", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r536", "r766" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Lease Expense", "label": "Lease, Cost [Table Text Block]", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r956" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leasehold improvements", "label": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r145" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases [Abstract]" } } }, "auth_ref": [] }, "dei_LegalEntityAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LegalEntityAxis", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Legal Entity [Axis]", "label": "Legal Entity [Axis]", "documentation": "The set of legal entities associated with a report." } } }, "auth_ref": [] }, "us-gaap_LesseeFinanceLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeFinanceLeasesTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Leases" ], "lang": { "en-us": { "role": { "terseLabel": "Leases", "label": "Lessee, Finance Leases [Text Block]", "documentation": "The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability." } } }, "auth_ref": [ "r532" ] }, "us-gaap_LesseeLeaseDescriptionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionLineItems", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lessee, Lease, Description [Line Items]", "label": "Lessee, Lease, Description [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": [ "r535" ] }, "us-gaap_LesseeLeaseDescriptionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionTable", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lessee, Lease, Description [Table]", "label": "Lessee, Lease, Description [Table]", "documentation": "Disclosure of information about lessee's leases." } } }, "auth_ref": [ "r535" ] }, "blfs_LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "LesseeOperatingAndFinanceLeaseTermAndDiscountRateTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Operating and Finance Lease Terms and Discount Rates", "label": "Lessee, Operating and Finance Lease Term And Discount Rate [Table Text Block]", "documentation": "Tabular disclosure represents the operating and finance lease term and discount rate of leases." } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Maturities of Operating Lease Liabilities", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r957" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total lease payments", "label": "Lessee, Operating Lease, Liability, to be Paid", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r542" ] }, "blfs_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFour", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Lessee Operating Lease Liability Payments Due After Year Four", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due 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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r542" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r542" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r542" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r542" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024 (9 months remaining)", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r957" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: interest", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r542" ] }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease, remaining lease term", "label": "Lessee, Operating Lease, Remaining Lease Term", "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r954" ] }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseRenewalTerm", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease, renewal term", "label": "Lessee, Operating Lease, Renewal Term", "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r955" ] }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseTermOfContract", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease, term of contract", "label": "Lessee, Operating Lease, Term of Contract", "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r955" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Leases" ], "lang": { "en-us": { "role": { "terseLabel": "Leases", "label": "Lessee, Operating Leases [Text Block]", "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability." } } }, "auth_ref": [ "r532" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r31", "r220", "r325", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r497", "r498", "r499", "r520", "r655", "r740", "r779", "r938", "r961", "r962" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and shareholders\u2019 equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r121", "r162", "r597", "r767", "r897", "r925", "r950" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities and Shareholders\u2019 Equity", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r33", "r185", "r220", "r325", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r497", "r498", "r499", "r520", "r767", "r938", "r961", "r962" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities:", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "blfs_LondonInterbankOfferedRateLIBOR1Member": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "LondonInterbankOfferedRateLIBOR1Member", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "London Interbank Offered Rate (LIBOR) 1", "label": "London Interbank Offered Rate (LIBOR) 1 [Member]", "documentation": "London Interbank Offered Rate (LIBOR) 1" } } }, "auth_ref": [] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebt", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails", "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total debt", "label": "Long-Term Debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r25", "r161", "r388", "r399", "r747", "r748", "r972" ] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails_1": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 }, "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Debt, current portion", "negatedTerseLabel": "Less: current portion of debt", "label": "Long-Term Debt, Current Maturities", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r193" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Long-Term Debt, Maturity, Year One", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r11", "r224", "r392" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Long-Term Debt, Maturity, Year Four", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r11", "r224", "r392" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Long-Term Debt, Maturity, Year Three", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r11", "r224", "r392" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Long-Term Debt, Maturity, Year Two", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r11", "r224", "r392" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024 (9 months remaining)", "label": "Long-Term Debt, Maturity, Remainder of Fiscal Year", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year." } } }, "auth_ref": [ "r899" ] }, "blfs_LongTermDebtMaturityAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "LongTermDebtMaturityAfterYearFour", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofMaturitiesofLongTermDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Long-Term Debt, Maturity, After Year Four", "documentation": "Represents amount of long-term debt maturity that takes place after year four." } } }, "auth_ref": [] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails_1": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 }, "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Debt, long-term", "verboseLabel": "Total long-term debt", "label": "Long-Term Debt, Excluding Current Maturities", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r194" ] }, "us-gaap_LongTermDebtTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Longtermdebt" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term debt", "label": "Long-Term Debt [Text Block]", "documentation": "The entire disclosure for long-term debt." } } }, "auth_ref": [ "r148" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Term Debt, Type [Axis]", "label": "Long-Term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r35" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Term Debt, Type [Domain]", "label": "Long-Term Debt, Type [Domain]", "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r35", "r75" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Axis]", "label": "Customer [Axis]" } } }, "auth_ref": [ "r285", "r754", "r943", "r973", "r974" ] }, "blfs_ManufacturingEquipmentLoansMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ManufacturingEquipmentLoansMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Manufacturing equipment loans", "label": "Manufacturing Equipment Loans [Member]", "documentation": "Related to the manufacturing equipment loans." } } }, "auth_ref": [] }, "us-gaap_ManufacturingFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ManufacturingFacilityMember", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Manufacturing and other equipment", "label": "Manufacturing Facility [Member]", "documentation": "Structure used in the manufacturing of goods." } } }, "auth_ref": [ "r145" ] }, "blfs_MarketbasedRestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "MarketbasedRestrictedStockMember", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Market-based Restricted Stock", "label": "Market-based Restricted Stock [Member]", "documentation": "Represents information related to market-based restricted stock." } } }, "auth_ref": [] }, "blfs_MaturitiesOfAvailableForSaleSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "MaturitiesOfAvailableForSaleSecurities", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Maturities of available-for-sale securities", "label": "Maturities Of Available-For-Sale Securities", "documentation": "The amount of cash inflow from proceeds from maturity of marketable securities." } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r356", "r357", "r358", "r359", "r432", "r579", "r612", "r647", "r648", "r700", "r702", "r704", "r705", "r707", "r726", "r727", "r743", "r751", "r764", "r769", "r940", "r963", "r964", "r965", "r966", "r967", "r968" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r822" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r822" ] }, "blfs_MeasurementInputAssetPriceVolatilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "MeasurementInputAssetPriceVolatilityMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset Price Volatility", "label": "Measurement Input, Asset Price Volatility [Member]", "documentation": "Information pertaining to the asset price volatility." } } }, "auth_ref": [] }, "us-gaap_MeasurementInputDiscountRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputDiscountRateMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Discount Rate", "label": "Measurement Input, Discount Rate [Member]", "documentation": "Measurement input using interest rate to determine present value of future cash flows." } } }, "auth_ref": [ "r949" ] }, "blfs_MeasurementInputRevenueVolatilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "MeasurementInputRevenueVolatilityMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue Volatility", "label": "Measurement Input, Revenue Volatility [Member]", "documentation": "Measurement input using rate at which revenue of security will increase (decrease) for given set of returns." } } }, "auth_ref": [] }, "us-gaap_MeasurementInputRiskFreeInterestRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputRiskFreeInterestRateMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Risk Free Interest Rate", "label": "Measurement Input, Risk Free Interest Rate [Member]", "documentation": "Measurement input using interest rate on instrument with zero risk of financial loss." } } }, "auth_ref": [ "r949" ] }, "us-gaap_MeasurementInputTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputTypeAxis", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Input Type [Axis]", "label": "Measurement Input Type [Axis]", "documentation": "Information by type of measurement input used to determine value of asset and liability." } } }, "auth_ref": [ "r514" ] }, "us-gaap_MeasurementInputTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputTypeDomain", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Input Type [Domain]", "label": "Measurement Input Type [Domain]", "documentation": "Measurement input used to determine value of asset and liability." } } }, "auth_ref": [] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r356", "r357", "r358", "r359", "r432", "r579", "r612", "r647", "r648", "r700", "r702", "r704", "r705", "r707", "r726", "r727", "r743", "r751", "r764", "r769", "r940", "r963", "r964", "r965", "r966", "r967", "r968" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r841" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money market accounts", "label": "Money Market Funds [Member]", "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities." } } }, "auth_ref": [ "r944" ] }, "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward", "presentation": [ "http://www.biolifesolutions.com/role/WarrantyreserveliabilityScheduleofProductWarrantyLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]", "label": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [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": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r849" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Domain]", "label": "Customer [Domain]" } } }, "auth_ref": [ "r285", "r754", "r943", "r973", "r974" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r823" ] }, "blfs_NegativeSellingPrice": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "NegativeSellingPrice", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails": { "parentTag": "blfs_DisposalGroupIncludingDiscontinuedOperationExpectedGainLossOnDisposal", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Negative selling price", "label": "Negative Selling Price", "documentation": "Negative Selling Price" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "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": [ "r216" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "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.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash (used in) provided by investing activities", "label": "Net Cash Provided by (Used in) Investing Activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r216" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from investing activities", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash 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": [ "r135", "r136", "r137" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from operating activities", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails": { "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted", "weight": 1.0, "order": 1.0 }, "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 }, "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net loss", "terseLabel": "Net loss", "label": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r127", "r137", "r164", "r183", "r204", "r206", "r210", "r220", "r228", "r230", "r231", "r233", "r234", "r238", "r239", "r251", "r263", "r275", "r279", "r281", "r325", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r510", "r520", "r601", "r678", "r695", "r696", "r741", "r778", "r938" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Numerator:", "label": "Net Income (Loss) Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Basic", "totalLabel": "Net loss allocated to common shareholders", "label": "Net Income (Loss) Available to Common Stockholders, Basic", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r213", "r230", "r231", "r233", "r234", "r242", "r243", "r252", "r255", "r263", "r275", "r279", "r281", "r741" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted", "totalLabel": "Net loss allocated to common shareholders", "label": "Net Income (Loss) Available to Common Stockholders, Diluted", "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders." } } }, "auth_ref": [ "r213", "r244", "r247", "r248", "r249", "r250", "r252", "r255" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Recent accounting pronouncements", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r822" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r792", "r803", "r813", "r830", "r838" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r820" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r819" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r830" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r849" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r849" ] }, "blfs_NoncashLeaseExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "NoncashLeaseExpense", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 18.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash lease (benefit) expense", "label": "Non-cash lease expense", "documentation": "Amount of noncash lease expense." } } }, "auth_ref": [] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-compete agreements", "label": "Noncompete Agreements [Member]", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r88" ] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "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": [ "r133" ] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Other income (expense):", "label": "Nonoperating Income (Expense) [Abstract]" } } }, "auth_ref": [] }, "blfs_NotesPayableMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "NotesPayableMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Notes Payable", "label": "Notes Payable [Member]", "documentation": "Represents information related to term note loaned by Advantage Capital." } } }, "auth_ref": [] }, "blfs_NumberOfPeers": { "xbrltype": "integerItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "NumberOfPeers", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of peers", "label": "Number Of Peers", "documentation": "Number Of Peers" } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of reportable segments", "label": "Number of Reportable Segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r906" ] }, "us-gaap_NumberOfReportingUnits": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportingUnits", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of reporting units", "label": "Number of Reporting Units", "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment." } } }, "auth_ref": [] }, "blfs_NumberOfTermNotesAssumed": { "xbrltype": "integerItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "NumberOfTermNotesAssumed", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of term notes assumed", "label": "Number Of Term Notes Assumed", "documentation": "Number Of Term Notes Assumed" } } }, "auth_ref": [] }, "blfs_OneSupplierMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "OneSupplierMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "One Supplier", "label": "One Supplier [Member]", "documentation": "Information pertaining to one supplier." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Costs and operating expenses:", "label": "Operating Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "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": [ "r263", "r275", "r279", "r281", "r741" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails": { "parentTag": "blfs_OperatingLeaseCostsAndShortTermLeaseCosts", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease costs", "label": "Operating Lease, Cost", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r537", "r766" ] }, "blfs_OperatingLeaseCostsAndShortTermLeaseCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "OperatingLeaseCostsAndShortTermLeaseCosts", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating lease costs", "label": "Operating Lease Costs And Short-term Lease Costs", "documentation": "Represents the amount of operating lease costs along with short-term lease costs." } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Leases", "label": "Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofMaturitiesOperatingandFinanceLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total present value of lease liabilities", "label": "Operating Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r534" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Lease liabilities, operating, current portion", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r534" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Lease liabilities, operating, long-term", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r534" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets, net", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r533" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofOperatingandFinanceLeaseTermsandDiscountRatesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average discount rate - operating leases", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r541", "r766" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofOperatingandFinanceLeaseTermsandDiscountRatesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining lease term in years - operating leases", "label": "Operating Lease, Weighted Average Remaining Lease Term", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r540", "r766" ] }, "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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "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, attributable to parent entity." } } }, "auth_ref": [ "r7", "r13", "r155" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustment, net of tax", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r4" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodChangeAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income (loss):", "label": "Other Comprehensive Income (Loss), Net of Tax, Period Change [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized gain (loss) on available-for-sale securities", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment and Tax", "documentation": "Amount, before tax and adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale." } } }, "auth_ref": [ "r202", "r203", "r323" ] }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofComprehensiveLoss" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized (loss) gain on available-for-sale securities, net of tax", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale." } } }, "auth_ref": [ "r202", "r203", "r323" ] }, "us-gaap_OtherCurrentLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCurrentLiabilitiesTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/AccruedexpensesandothercurrentliabilitiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Accrued Expenses and Other Current Liabilities", "label": "Other Current Liabilities [Table Text Block]", "documentation": "Tabular disclosure of other current liabilities." } } }, "auth_ref": [] }, "us-gaap_OtherDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherDebtSecuritiesMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other debt securities", "label": "Other Debt Obligations [Member]", "documentation": "Investments in debt securities classified as other." } } }, "auth_ref": [ "r928", "r944", "r948" ] }, "blfs_OtherLoansMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "OtherLoansMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other loans", "label": "Other Loans [Member]", "documentation": "Related to other loans." } } }, "auth_ref": [] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Other income", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r134" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Operating Activities, Cash Flow Statement", "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities)." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r822" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r790", "r801", "r811", "r836" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r793", "r804", "r814", "r839" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r793", "r804", "r814", "r839" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r818" ] }, "blfs_PaymentsForProceedsFromPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "PaymentsForProceedsFromPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of property and equipment", "label": "Payments for (Proceeds from) Property, Plant, And Equipment", "documentation": "Payments for (Proceeds from) Property, Plant, And Equipment" } } }, "auth_ref": [] }, "blfs_PaymentsToAcquireAssetsHeldForRent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "PaymentsToAcquireAssetsHeldForRent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of assets held for rent", "label": "Payments To Acquire Assets, Held For Rent", "documentation": "The cash outflow for payments to acquire assets held for rent." } } }, "auth_ref": [] }, "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of available-for-sale securities", "label": "Payments to Acquire Debt Securities, Available-for-Sale", "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r42", "r214", "r289" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r821" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r821" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r820" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r830" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r823" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r819" ] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PerformanceSharesMember", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance Shares", "label": "Performance Shares [Member]", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [] }, "blfs_PeriodOfTransitionServices": { "xbrltype": "durationItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "PeriodOfTransitionServices", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Period of transition services", "label": "Period Of Transition Services", "documentation": "Period Of Transition Services" } } }, "auth_ref": [] }, "us-gaap_PreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockMember", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred Stock", "label": "Preferred Stock [Member]", "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company." } } }, "auth_ref": [ "r770", "r771", "r774", "r775", "r776", "r777", "r976", "r979" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, par value (in dollars per share)", "label": "Preferred Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r115", "r400" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares authorized (in shares)", "label": "Preferred Stock, Shares Authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r115", "r657" ] }, "blfs_PreferredStockSharesDesignated": { "xbrltype": "sharesItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "PreferredStockSharesDesignated", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares designated (in shares)", "label": "Preferred stock, shares designated (in shares)", "documentation": "The number of nonredeemable preferred shares designated." } } }, "auth_ref": [] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares issued (in shares)", "label": "Preferred Stock, Shares Issued", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r115", "r400" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares outstanding (in shares)", "periodStartLabel": "Beginning balance, preferred stock, shares outstanding (in shares)", "periodEndLabel": "Ending balance, preferred stock, shares outstanding (in shares)", "label": "Preferred Stock, Shares Outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r115", "r657", "r675", "r979", "r980" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, $0.001 par value; 1,000,000 shares authorized, Series A, 4,250 shares designated, and 0 shares issued and outstanding as of March\u00a031, 2024 and December\u00a031, 2023", "label": "Preferred Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r115", "r593", "r767" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r886" ] }, "us-gaap_PrimeRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrimeRateMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Prime Rate", "label": "Prime Rate [Member]", "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfDebt", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from term loans", "label": "Proceeds from Issuance of Debt", "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt." } } }, "auth_ref": [ "r891" ] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Proceeds from (Payments for) Other Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities classified as other." } } }, "auth_ref": [ "r858", "r890" ] }, "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from sale of available-for-sale securities", "label": "Proceeds from Sale of Debt Securities, Available-for-Sale", "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r41", "r214", "r289", "r322" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from exercise of common stock options", "label": "Proceeds from Stock Options Exercised", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r6", "r20" ] }, "blfs_ProductCellProcessingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ProductCellProcessingMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cell processing", "label": "Product, Cell Processing [Member]", "documentation": "Related to cell processing product." } } }, "auth_ref": [] }, "us-gaap_ProductConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductConcentrationRiskMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product revenue concentration", "label": "Product Concentration Risk [Member]", "documentation": "Reflects the percentage that revenues during the period from a specified product are to a specified benchmark, such as total net revenues, segment revenues or product line revenues. May also reflect the percentage contribution the product made to operating results. Risk is materially adverse effects of a loss of sales of a significant product or line of products, which could occur upon loss of rights to sell, distribute or license others; loss of patent or copyright protection; or technological obsolescence." } } }, "auth_ref": [ "r59" ] }, "blfs_ProductFreezerAndThawMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ProductFreezerAndThawMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Freezer and thaw", "label": "Product, Freezer and Thaw [Member]", "documentation": "Related to freezer and thaw product." } } }, "auth_ref": [] }, "us-gaap_ProductMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Product revenue", "label": "Product [Member]", "documentation": "Article or substance produced by nature, labor or machinery." } } }, "auth_ref": [ "r752" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails", "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails", "http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Axis]", "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r282", "r580", "r606", "r607", "r608", "r609", "r610", "r611", "r728", "r752", "r768", "r868", "r934", "r935", "r943", "r973" ] }, "us-gaap_ProductWarrantyAccrual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrual", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/WarrantyreserveliabilityScheduleofProductWarrantyLiabilityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance at beginning of period", "periodEndLabel": "Balance at end of period", "label": "Standard and Extended Product Warranty Accrual", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers." } } }, "auth_ref": [ "r99", "r364", "r368", "r371" ] }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualClassifiedCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Warranty liability", "label": "Product Warranty Accrual, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r32", "r936", "r937" ] }, "us-gaap_ProductWarrantyAccrualPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualPayments", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/WarrantyreserveliabilityScheduleofProductWarrantyLiabilityDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Settlements of warranty claims", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty." } } }, "auth_ref": [ "r369" ] }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualWarrantiesIssued", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/WarrantyreserveliabilityScheduleofProductWarrantyLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Provision for warranties", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued." } } }, "auth_ref": [ "r370" ] }, "us-gaap_ProductWarrantyDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyDisclosureTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Warrantyreserveliability" ], "lang": { "en-us": { "role": { "terseLabel": "Warranty reserve liability", "label": "Product Warranty Disclosure [Text Block]", "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period." } } }, "auth_ref": [ "r360", "r361", "r362", "r363", "r365", "r366" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails", "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails", "http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Domain]", "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r282", "r580", "r606", "r607", "r608", "r609", "r610", "r611", "r728", "r752", "r768", "r868", "r934", "r935", "r943", "r973" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r10" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Propertyandequipment" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment", "label": "Property, Plant and Equipment Disclosure [Text Block]", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r144", "r169", "r174", "r175" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Subtotal", "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r145", "r188", "r599" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 }, "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "label": "Property, Plant and Equipment, Net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r10", "r588", "r599", "r767" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Property and Equipment", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r10" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r145" ] }, "us-gaap_PurchaseObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PurchaseObligation", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/CommitmentsandcontingenciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term purchase obligations", "label": "Purchase Obligation", "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier." } } }, "auth_ref": [] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r818" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r818" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r356", "r357", "r358", "r359", "r423", "r432", "r460", "r461", "r462", "r555", "r579", "r612", "r647", "r648", "r700", "r702", "r704", "r705", "r707", "r726", "r727", "r743", "r751", "r764", "r769", "r772", "r931", "r940", "r964", "r965", "r966", "r967", "r968" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r356", "r357", "r358", "r359", "r423", "r432", "r460", "r461", "r462", "r555", "r579", "r612", "r647", "r648", "r700", "r702", "r704", "r705", "r707", "r726", "r727", "r743", "r751", "r764", "r769", "r772", "r931", "r940", "r964", "r965", "r966", "r967", "r968" ] }, "blfs_RealEstateLeaseMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "RealEstateLeaseMember", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Real Estate Lease", "label": "Real Estate Lease [Member]", "documentation": "Leases related to real estate." } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r785", "r796", "r806", "r831" ] }, "blfs_RentalRevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "RentalRevenueMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails", "http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Rental revenue", "label": "Rental Revenue [Member]", "documentation": "Represents information pertaining to rental revenue." } } }, "auth_ref": [] }, "blfs_RepaymentsOfFinancedInsurancePremium": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "RepaymentsOfFinancedInsurancePremium", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payments on financed insurance premium", "label": "Repayments Of Financed Insurance Premium", "documentation": "Repayments Of Financed Insurance Premium" } } }, "auth_ref": [] }, "us-gaap_RepaymentsOfOtherLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfOtherLongTermDebt", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments on equipment loans", "label": "Repayments of Other Long-Term Debt", "documentation": "Amount of cash outflow for the payment of debt classified as other, maturing after one year or the operating cycle, if longer." } } }, "auth_ref": [ "r43" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Domain]", "label": "Counterparty Name [Domain]" } } }, "auth_ref": [ "r222", "r223", "r384", "r402", "r545", "r736", "r737" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development", "label": "Research and Development Expense", "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": [ "r103", "r473", "r969" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development costs", "label": "Research and Development Expense [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "srt_RestatementAdjustmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RestatementAdjustmentMember", "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment", "label": "Revision of Prior Period, Adjustment [Member]" } } }, "auth_ref": [ "r225", "r226", "r227", "r236", "r237", "r259", "r508", "r509", "r859", "r860", "r861", "r862", "r866", "r871", "r872" ] }, "srt_RestatementAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RestatementAxis", "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revision of Prior Period [Axis]", "label": "Revision of Prior Period [Axis]" } } }, "auth_ref": [ "r181", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r235", "r236", "r237", "r238", "r239", "r240", "r259", "r327", "r328", "r484", "r507", "r508", "r509", "r510", "r531", "r543", "r544", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r624" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r786", "r797", "r807", "r832" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r787", "r798", "r808", "r833" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r794", "r805", "r815", "r840" ] }, "srt_RestatementDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RestatementDomain", "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revision of Prior Period [Domain]", "label": "Revision of Prior Period [Domain]" } } }, "auth_ref": [ "r181", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r235", "r236", "r237", "r238", "r239", "r240", "r259", "r327", "r328", "r484", "r507", "r508", "r509", "r510", "r531", "r543", "r544", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r624" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Domain]", "label": "Cash and Cash Equivalents [Domain]", "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r186" ] }, "us-gaap_RestrictedCashCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashCurrent", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted cash", "label": "Restricted Cash, Current", "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. 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." } } }, "auth_ref": [ "r882", "r894" ] }, "us-gaap_RestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockMember", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted Stock", "label": "Restricted Stock [Member]", "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met." } } }, "auth_ref": [ "r54" ] }, "us-gaap_RestructuringAndRelatedCostExpectedNumberOfPositionsEliminated": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringAndRelatedCostExpectedNumberOfPositionsEliminated", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected reduction of workforce", "label": "Restructuring and Related Cost, Expected Number of Positions Eliminated", "documentation": "The expected number of positions to be eliminated as a result of restructuring activities." } } }, "auth_ref": [] }, "us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringAndRelatedCostNumberOfPositionsEliminatedInceptionToDatePercent", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected reduction of workforce (percent)", "label": "Restructuring and Related Cost, Number of Positions Eliminated, Inception to Date Percent", "documentation": "Percentage of the total number of positions eliminated as of the balance sheet date since inception of the restructuring plan(s)." } } }, "auth_ref": [] }, "us-gaap_RestructuringCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringCharges", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails": { "parentTag": "blfs_DisposalGroupsIncludingDiscontinuedOperationsAdditionalCosts", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Restructuring charges", "terseLabel": "RIF compensation expenses", "label": "Restructuring Charges", "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation." } } }, "auth_ref": [ "r9", "r351", "r352", "r932" ] }, "us-gaap_RestructuringCostAndReserveAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringCostAndReserveAxis", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Restructuring Type [Axis]", "label": "Restructuring Type [Axis]", "documentation": "Information by type of restructuring cost." } } }, "auth_ref": [ "r348", "r349", "r352", "r353" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated deficit", "verboseLabel": "Accumulated deficit", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r118", "r151", "r596", "r617", "r622", "r630", "r658", "r767" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Deficit", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r180", "r225", "r226", "r227", "r229", "r237", "r239", "r326", "r329", "r469", "r470", "r471", "r483", "r484", "r500", "r502", "r503", "r505", "r508", "r613", "r615", "r632", "r979" ] }, "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_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Total product, rental, and service revenue", "label": "Revenue from Contract with Customer, Including Assessed Tax", "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise." } } }, "auth_ref": [ "r264", "r265", "r274", "r277", "r278", "r282", "r283", "r285", "r418", "r419", "r580" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Revenue" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r178", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r422" ] }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenue by Geographic Areas", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue." } } }, "auth_ref": [ "r22" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, remaining performance obligation, amount", "label": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r172" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "label": "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.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, remaining performance obligation, expected timing of satisfaction, period", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, 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": [ "r173" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r173" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails" ], "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.biolifesolutions.com/role/RevenueTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Remaining Performance Obligations", "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": [ "r863" ] }, "blfs_RevenuesByProductLineTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "RevenuesByProductLineTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/RevenueTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Bioproduction Tools and Service Revenues", "label": "Revenues By Product Line [Table Text Block]", "documentation": "Tabular disclosure of revenues by product line." } } }, "auth_ref": [] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r849" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r849" ] }, "us-gaap_SalesAndExciseTaxPayableCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesAndExciseTaxPayableCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/CommitmentsandcontingenciesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and excise tax payable", "label": "Sales and Excise 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." } } }, "auth_ref": [ "r99" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofConcentrationsofCreditRiskandBusinessRiskDetails", "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "label": "Revenue Benchmark [Member]", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r285", "r864" ] }, "srt_ScenarioPreviouslyReportedMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScenarioPreviouslyReportedMember", "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "As reported", "label": "Previously Reported [Member]" } } }, "auth_ref": [ "r181", "r225", "r227", "r228", "r229", "r230", "r231", "r239", "r259", "r484", "r507", "r508", "r509", "r531", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r621", "r622", "r624", "r866", "r869", "r870", "r871", "r903", "r926", "r927", "r947", "r958", "r959" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "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": [ "r54" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings 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": [ "r54" ] }, "blfs_ScheduleOfAssetsHeldForRentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ScheduleOfAssetsHeldForRentTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/AssetsheldforrentTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Assets Held For Rent", "label": "Scheduleof Assets Held for Rent [Table Text Block]", "documentation": "Tabular disclosure of assets held for rent." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Available-for-Sale [Line Items]", "label": "Debt Securities, Available-for-Sale [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": [ "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r299", "r300", "r301", "r302", "r303" ] }, "us-gaap_ScheduleOfDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDebtTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Debt", "label": "Schedule of Debt [Table Text Block]", "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Disposal Groups, Including Discontinued Operations", "label": "Disposal Groups, Including Discontinued Operations [Table Text Block]", "documentation": "Tabular disclosure of information related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component." } } }, "auth_ref": [ "r12", "r21", "r26", "r104", "r105", "r106", "r107", "r108", "r109", "r110", "r111", "r112", "r146" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicByCommonClassTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted, Two Class Method", "label": "Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table Text Block]", "documentation": "Tabular disclosure of the effect of income (loss) on basic earnings per share." } } }, "auth_ref": [ "r53", "r55", "r904" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock Compensation Expense", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "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": [ "r81" ] }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Product Revenue Concentration", "label": "Revenue from External Customers by Products and Services [Table Text Block]", "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information." } } }, "auth_ref": [ "r66" ] }, "us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentRestatementTable", "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsScheduleofEffectofAdjustmentstoFinancialStatementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Error Corrections and Prior Period Adjustment Restatement [Table]", "label": "Schedule of Error Corrections and Prior Period Adjustment Restatement [Table]", "documentation": "Schedule of prior period adjustments to correct an error in previously issued financial statements. The disclosure may include, but is not limited to: (1) the effect of the correction on each financial statement line item and any per-share amounts affected for each prior period presented (2) the cumulative effect of the change on retained earnings or other appropriate components of equity or net assets in the statement of financial position, as of the beginning of the earliest period presented, and (3) the effect of the prior period adjustment (both gross and net of applicable income tax) on the net income of each prior period presented in the entity's annual report for the year in which the adjustments are made. This table can be used to disclose the amounts as previously reported and the effect of the correction or other adjustment on per line item or per share amount basis. This table uses as its line items financial statement line items that are affected by prior period adjustments." } } }, "auth_ref": [ "r230", "r231", "r232", "r236", "r237", "r238", "r239", "r259" ] }, "us-gaap_ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/CorrectionofimmaterialerrorsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Effect of Adjustments to Financial Statements", "label": "Schedule of Error Corrections and Prior Period Adjustments [Table Text Block]", "documentation": "Tabular disclosure of prior period adjustments to previously issued financial statements including (1) the effect of the correction on each financial statement line item and any per-share amounts affected for each prior period presented (2) the cumulative effect of the change on retained earnings or other appropriate components of equity or net assets in the statement of financial position, as of the beginning of the earliest period presented, and (3) the effect of the prior period adjustments (both gross and net of applicable income tax) on the net income of each prior period presented in the entity's annual report for the year in which the adjustments are made." } } }, "auth_ref": [ "r48", "r49", "r50" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of the Company's Financial Assets and Liabilities Measured at Fair Value on a Recurring Basis", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)." } } }, "auth_ref": [ "r512", "r513" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r69", "r71", "r581" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r69", "r71" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/InventoriesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Inventory", "label": "Schedule of Inventory, Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r27", "r122", "r123", "r124" ] }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Maturities of Long-Term Debt", "label": "Schedule of Maturities of Long-Term Debt [Table Text Block]", "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt." } } }, "auth_ref": [ "r11" ] }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/WarrantyreserveliabilityTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Product Warranty Liability", "label": "Schedule of Product Warranty Liability [Table Text Block]", "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability." } } }, "auth_ref": [ "r367" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.biolifesolutions.com/role/PropertyandequipmentScheduleofPropertyandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r10" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r434", "r436", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Service Vesting-Based Stock Option Activity", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "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": [ "r18", "r19", "r80" ] }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Service Vesting-Based and Market Based Restricted Stock Activity", "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]", "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfShortTermDebtTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShortTermDebtTable", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Short-Term Debt [Table]", "label": "Schedule of Short-Term Debt [Table]", "documentation": "A table or schedule providing information pertaining to borrowings under which repayment was required in less than twelve months (or normal operating cycle, if longer) after its issuance. It may include: (1) description of the short-term debt arrangement; (2) identification of the lender or type of lender; (3) repayment terms; (4) weighted average interest rate; (5) carrying amount of funds borrowed under the specified short-term debt arrangement as of the balance sheet date and measures of the maximum and average amount outstanding during the period; (6) description of the refinancing of a short-term obligation when that obligation is excluded from current liabilities in the balance sheet; and (7) amount of a short-term obligation that has been excluded from current liabilities in the balance sheet because of a refinancing of the obligation." } } }, "auth_ref": [ "r29" ] }, "us-gaap_ScheduleOfTradingSecuritiesAndOtherTradingAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfTradingSecuritiesAndOtherTradingAssetsLineItems", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt and Equity Securities, FV-NI [Line Items]", "label": "Debt and Equity Securities, FV-NI [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_ScheduleOfTradingSecuritiesAndOtherTradingAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfTradingSecuritiesAndOtherTradingAssetsTable", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Securities, Trading, and Equity Securities, FV-NI [Table]", "label": "Debt Securities, Trading, and Equity Securities, FV-NI [Table]", "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in net income (trading) and investment in equity security with change in fair value recognized in net income (FV-NI)." } } }, "auth_ref": [] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Amortization Expense for Finite-Lived Intangible Assets", "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": [ "r71" ] }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Concentrations of Credit Risk and Business Risk", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r56", "r57", "r61", "r62", "r93", "r157" ] }, "blfs_SciSafeHoldingsIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "SciSafeHoldingsIncMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "SciSafe Holdings, Inc", "label": "SciSafe Holdings, Inc [Member]", "documentation": "Represents information related to SciSafe Holdings, Inc." } } }, "auth_ref": [] }, "blfs_SecondAmendmentTermLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "SecondAmendmentTermLoanMember", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Second Amendment Term Loan", "label": "Second Amendment Term Loan [Member]", "documentation": "Second Amendment Term Loan" } } }, "auth_ref": [] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r780" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r782" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]" } } }, "auth_ref": [ "r283", "r284", "r644", "r645", "r646", "r701", "r703", "r706", "r708", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r729", "r753", "r772", "r943", "r973" ] }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingPolicyPolicyTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Segment reporting", "label": "Segment Reporting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for segment reporting." } } }, "auth_ref": [ "r268", "r269", "r270", "r271", "r272", "r273", "r283", "r742" ] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and marketing", "label": "Selling and Marketing Expense", "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.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and marketing costs", "label": "Selling and Marketing Expense [Member]", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r128" ] }, "blfs_SeriesA1AndA2PreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "SeriesA1AndA2PreferredStockMember", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Series A-1 and A-2, Preferred Stock", "label": "Series A-1 and A-2, Preferred Stock [Member]", "documentation": "Information pertaining to series A-1 and A-2 preferred stock." } } }, "auth_ref": [] }, "us-gaap_SeriesAPreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeriesAPreferredStockMember", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Series A Preferred Stock", "label": "Series A Preferred Stock [Member]", "documentation": "Series A preferred stock." } } }, "auth_ref": [ "r884", "r885", "r942" ] }, "us-gaap_SeriesEPreferredStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeriesEPreferredStockMember", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Series E Preferred Stock", "label": "Series E Preferred Stock [Member]", "documentation": "Series E preferred stock." } } }, "auth_ref": [ "r884", "r885", "r942" ] }, "blfs_ServiceFreezerAndThawMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ServiceFreezerAndThawMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Freezer and thaw", "label": "Service, Freezer and Thaw [Member]", "documentation": "Represents Freezer and Thaw service." } } }, "auth_ref": [] }, "us-gaap_ServiceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ServiceMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Service revenue", "label": "Service [Member]", "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service." } } }, "auth_ref": [ "r752" ] }, "blfs_ServiceRevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ServiceRevenueMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Service revenue", "label": "Service Revenue [Member]", "documentation": "Information pertaining to the service revenue." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r8" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAcceleratedCompensationCost", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accelerated cost", "label": "Share-Based Payment Arrangement, Accelerated Cost", "documentation": "Amount of additional cost recognized for award under share-based payment arrangement from occurrence of event accelerating recognition of cost." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting period (year)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r765" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Forfeited (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r454" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forfeited (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r454" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "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": [ "r452" ] }, "blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodAggregateFairValue", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate fair value of the market-based awards granted", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Equity Instruments Other than Options, Grants In Period, Aggregate Fair Value", "documentation": "Intrinsic value of granted award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [] }, "blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodFairValue", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate fair value of the service vesting-based awards granted", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Equity Instruments Other Than Options, Grants In Period, Fair Value", "documentation": "Fair value of non-vested equity-based payment instruments, excluding stock (or unit) options, vested." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "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": [ "r452" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Outstanding as of beginning of period (in shares)", "periodEndLabel": "Outstanding as of end of period (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r449", "r450" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Grant date fair value (in dollars per share)", "periodStartLabel": "Outstanding as of beginning of period (in dollars per share)", "periodEndLabel": "Outstanding as of end of period (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r449", "r450" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Wtd. Avg. Grant Date Fair Value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested (in shares)", "negatedTerseLabel": "Vested (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r453" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate fair value of the service vesting-based awards that vested", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value", "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": [ "r456" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested (in dollars per share)", "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": [ "r453" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Dividend yield (percent)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term." } } }, "auth_ref": [ "r461" ] }, "blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRatePeriod", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement date with a maturity period (year)", "label": "Share Based Compensation Arrangement By Share Based Payment Award, Fair Value Assumptions, Expected Volatility Rate Period", "documentation": "Represents expected volatility rate period for share based payment award by share based payment." } } }, "auth_ref": [] }, "blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate": { "xbrltype": "percentItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsHistoricalVolatilityRate", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Historical volatility (percent)", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Fair Value Assumptions, Historical Volatility Rate", "documentation": "Represents historical volatility for fair value assumptions for share-based payment award by share based compensation." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Risk-free interest rate", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [ "r462" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofStockCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r434", "r436", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock options exercisable at end of period (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number", "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan." } } }, "auth_ref": [ "r443" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock options exercisable at end of period (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan." } } }, "auth_ref": [ "r443" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Service based-vesting options granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r445" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate intrinsic value of exercisable service vesting-based stock options", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r79" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Outstanding as of beginning of period (in shares)", "periodEndLabel": "Outstanding as of end of period (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r441", "r442" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options", "label": "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.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Outstanding as of beginning of period (in dollars per share)", "periodEndLabel": "Outstanding as of end of period (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r441", "r442" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Wtd. Avg. Exercise Price", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]" } } }, "auth_ref": [] }, "blfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfAwards": { "xbrltype": "percentItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfAwards", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total shareholder return attainment (percent)", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Percentage Of Awards", "documentation": "Percent of shares that may be issued in accordance with the plan as a proportion of outstanding awards." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails", "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedandMarketBasedRestrictedStockActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Exercised (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r446" ] }, "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Supplier [Axis]", "label": "Supplier [Axis]", "documentation": "Information by supplier." } } }, "auth_ref": [] }, "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Supplier [Domain]", "label": "Supplier [Domain]", "documentation": "Specific identification or general nature of (for example, a construction contractor, a consulting firm) the party from whom the goods or services were or are to be received." } } }, "auth_ref": [] }, "blfs_ShareBasedPaymentArrangementOptionAndRestrictedStockAwardsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShareBasedPaymentArrangementOptionAndRestrictedStockAwardsMember", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock options and restricted stock awards", "label": "Share-Based Payment Arrangement, Option and Restricted Stock Awards [Member]", "documentation": "Represents information related to option and restricted stock awards." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested", "crdr": "debit", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate fair value of the market-based awards that vested", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested", "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining contractual life (year)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r153" ] }, "blfs_ShippersAndRelatedComponentsInProduction": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShippersAndRelatedComponentsInProduction", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails": { "parentTag": "blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shippers and related components in production", "label": "Shippers And Related Components In Production", "documentation": "The carrying value of shippers and related components in production." } } }, "auth_ref": [] }, "blfs_ShippersPlacedInService": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShippersPlacedInService", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails": { "parentTag": "blfs_ShippersPlacedInServiceNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shippers placed in service", "label": "Shippers Placed In Service", "documentation": "The gross value of shippers placed in service." } } }, "auth_ref": [] }, "blfs_ShippersPlacedInServiceAccumulatedDepreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShippersPlacedInServiceAccumulatedDepreciation", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails": { "parentTag": "blfs_ShippersPlacedInServiceNet", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Accumulated depreciation", "label": "Shippers Placed In Service Accumulated Depreciation", "documentation": "The cumulative amount of depreciation, related to related to shippers placed in service and fixed assets held for rent." } } }, "auth_ref": [] }, "blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShippersPlacedInServiceAndFixedAssetsHeldForRentNet", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total", "label": "Shippers Placed In Service And Fixed Assets Held For Rent, Net", "documentation": "Represents shippers placed in service and fixed assets held for rent, net" } } }, "auth_ref": [] }, "blfs_ShippersPlacedInServiceNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "ShippersPlacedInServiceNet", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails": { "parentTag": "blfs_ShippersPlacedInServiceAndFixedAssetsHeldForRentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/AssetsheldforrentScheduleofAssetsHeldforRentDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Subtotal", "label": "Shippers Placed In Service, Net", "documentation": "The carrying value of shippers placed in service, net of accumulated depreciation." } } }, "auth_ref": [] }, "us-gaap_ShortTermDebtLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermDebtLineItems", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-Term Debt [Line Items]", "label": "Short-Term Debt [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_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermLeaseCost", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails": { "parentTag": "blfs_OperatingLeaseCostsAndShortTermLeaseCosts", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term lease costs", "label": "Short-Term Lease, Cost", "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less." } } }, "auth_ref": [ "r538", "r766" ] }, "us-gaap_StatementClassOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementClassOfStockAxis", "presentation": [ "http://www.biolifesolutions.com/role/InvestmentsNarrativeDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Axis]", "label": "Class of Stock [Axis]", "documentation": "Information by the different classes of stock of the entity." } } }, "auth_ref": [ "r179", "r195", "r196", "r197", "r220", "r245", "r246", "r253", "r255", "r261", "r262", "r325", "r372", "r374", "r375", "r376", "r379", "r380", "r400", "r401", "r403", "r404", "r406", "r520", "r626", "r627", "r628", "r629", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r657", "r679", "r697", "r709", "r710", "r711", "r712", "r713", "r856", "r895", "r905" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r15", "r37", "r180", "r208", "r209", "r210", "r225", "r226", "r227", "r229", "r237", "r239", "r260", "r326", "r329", "r407", "r469", "r470", "r471", "r483", "r484", "r500", "r501", "r502", "r503", "r504", "r505", "r508", "r522", "r523", "r524", "r525", "r526", "r527", "r544", "r613", "r614", "r615", "r632", "r697" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "label": "Geographical [Axis]" } } }, "auth_ref": [ "r283", "r284", "r644", "r645", "r646", "r701", "r703", "r706", "r708", "r714", "r717", "r718", "r719", "r720", "r721", "r722", "r723", "r724", "r725", "r729", "r753", "r772", "r943", "r973" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r225", "r226", "r227", "r260", "r580", "r625", "r643", "r649", "r650", "r651", "r652", "r653", "r654", "r657", "r660", "r661", "r662", "r663", "r664", "r665", "r666", "r667", "r668", "r670", "r671", "r672", "r673", "r674", "r676", "r680", "r681", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694", "r697", "r773" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Comprehensive Income [Abstract]", "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheetsParenthetical", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r225", "r226", "r227", "r260", "r580", "r625", "r643", "r649", "r650", "r651", "r652", "r653", "r654", "r657", "r660", "r661", "r662", "r663", "r664", "r665", "r666", "r667", "r668", "r670", "r671", "r672", "r673", "r674", "r676", "r680", "r681", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694", "r697", "r773" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r789", "r800", "r810", "r835" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "blfs_StockCompensationExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "StockCompensationExpenseMember", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Compensation Expense", "label": "Stock Compensation Expense [Member]", "documentation": "Stock Compensation Expense" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Stock issued - on vested RSAs (in shares)", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited." } } }, "auth_ref": [ "r15", "r115", "r116", "r151" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationScheduleofServiceVestingBasedStockOptionActivityDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Stock option exercises (in shares)", "negatedTerseLabel": "Exercised (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r15", "r115", "r116", "r151", "r446" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Stock issued \u2013 on vested RSAs", "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited." } } }, "auth_ref": [ "r15", "r151" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Stock option exercises", "label": "Stock Issued During Period, Value, Stock Options Exercised", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r15", "r37", "r151" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofShareholdersEquity" ], "lang": { "en-us": { "role": { "totalLabel": "Total shareholders\u2019 equity", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r116", "r119", "r120", "r139", "r659", "r675", "r698", "r699", "r767", "r779", "r897", "r925", "r950", "r979" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Shareholders\u2019 equity:", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "blfs_StorageAndStorageServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "StorageAndStorageServicesMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Biostorage services", "label": "Storage and Storage Services [Member]", "documentation": "Related to storage and storage services." } } }, "auth_ref": [] }, "blfs_StorageAndStorageServicesProductRevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "StorageAndStorageServicesProductRevenueMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Biostorage services", "label": "Storage and Storage Services Product Revenue [Member]", "documentation": "Related to storage and storage services product revenue." } } }, "auth_ref": [] }, "blfs_StorageAndStorageServicesRentalRevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "StorageAndStorageServicesRentalRevenueMember", "presentation": [ "http://www.biolifesolutions.com/role/RevenueScheduleofBioproductionToolsandServiceRevenuesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Biostorage services", "label": "Storage and Storage Services Rental Revenue [Member]", "documentation": "Related to storage and storage services rental revenue." } } }, "auth_ref": [] }, "us-gaap_SubsequentEventLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventLineItems", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event [Line Items]", "label": "Subsequent Event [Line Items]", "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event." } } }, "auth_ref": [ "r528", "r547" ] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event", "label": "Subsequent Event [Member]", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r528", "r547" ] }, "us-gaap_SubsequentEventTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTable", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event [Table]", "label": "Subsequent Event [Table]", "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued." } } }, "auth_ref": [ "r528", "r547" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event Type [Axis]", "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": [ "r528", "r547" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsDisposalGroupsIncludingDiscontinuedOperationsDetails", "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event Type [Domain]", "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": [ "r528", "r547" ] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "label": "Subsequent Events [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.biolifesolutions.com/role/Subsequentevents" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent events", "label": "Subsequent Events [Text Block]", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r546", "r548" ] }, "us-gaap_SupplierConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplierConcentrationRiskMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Supplier Concentration Risk", "label": "Supplier Concentration Risk [Member]", "documentation": "Reflects the percentage that purchases in the period from one or more significant suppliers is to cost of goods or services, as defined by the entity, such as total cost of sales or services, product line cost of sales or services, segment cost of sales or services. Risk is the materially adverse effects of loss of a material supplier or a supplier of critically needed goods or services." } } }, "auth_ref": [ "r58" ] }, "blfs_SupplyPurchaseMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "SupplyPurchaseMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Supply Purchase", "label": "Supply Purchase [Member]", "documentation": "Represents supply purchase." } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r829" ] }, "us-gaap_TaxesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TaxesPayableCurrent", "crdr": "credit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Sales taxes payable", "label": "Taxes Payable, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r30" ] }, "us-gaap_TechnologyBasedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TechnologyBasedIntangibleAssetsMember", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Technology - acquired", "label": "Technology-Based Intangible Assets [Member]", "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights." } } }, "auth_ref": [ "r23" ] }, "blfs_TermLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "TermLoanMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Term Loan", "label": "Term Loan [Member]", "documentation": "Term Loan" } } }, "auth_ref": [] }, "blfs_The2023TermLoanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "The2023TermLoanMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "The 2023 Term Loan", "label": "The 2023 Term Loan [Member]", "documentation": "Represents the 2023 term loan 3." } } }, "auth_ref": [] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Axis]", "label": "Title of Individual [Axis]" } } }, "auth_ref": [ "r907", "r960" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.biolifesolutions.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Domain]", "label": "Title of Individual [Domain]" } } }, "auth_ref": [] }, "blfs_TotalDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "TotalDebtMember", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtScheduleofDebtDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total long-term debt", "label": "Total Debt [Member]", "documentation": "Related to total debgt." } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r821" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r828" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.biolifesolutions.com/role/GoodwillandintangibleassetsScheduleofFiniteLivedIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tradenames", "label": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r87" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r848" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r850" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.biolifesolutions.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instruments [Domain]", "label": "Financial Instruments [Domain]", "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r397", "r405", "r506", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575", "r576", "r577", "r578", "r602", "r875", "r876", "r877", "r878", "r879", "r880", "r881", "r921", "r922", "r923", "r924" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r851" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r852" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r850" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r850" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r853" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r851" ] }, "us-gaap_TypeOfRestructuringDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TypeOfRestructuringDomain", "presentation": [ "http://www.biolifesolutions.com/role/SubsequenteventsNarrativeDetails", "http://www.biolifesolutions.com/role/SubsequenteventsScheduleofAdditionalCostsIncurredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Type of Restructuring [Domain]", "label": "Type of Restructuring [Domain]", "documentation": "Identification of the types of restructuring costs." } } }, "auth_ref": [ "r348", "r349", "r352", "r353" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USGovernmentAgenciesDebtSecuritiesMember", "presentation": [ "http://www.biolifesolutions.com/role/FairvaluemeasurementScheduleoftheCompanysFinancialAssetsandLiabilitiesMeasuredatFairValueonaRecurringBasisDetails", "http://www.biolifesolutions.com/role/InvestmentsScheduleofAvailableforSaleMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. government securities", "label": "US Government Agencies Debt Securities [Member]", "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB)." } } }, "auth_ref": [ "r738", "r759", "r970" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r847" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Use of estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r63", "r64", "r65", "r166", "r167", "r170", "r171" ] }, "us-gaap_VariableLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableLeaseCost", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/LeasesScheduleofLeaseExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable lease costs", "label": "Variable Lease, Cost", "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases." } } }, "auth_ref": [ "r539", "r766" ] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Axis]", "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateDomain", "presentation": [ "http://www.biolifesolutions.com/role/LongtermdebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Domain]", "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "blfs_VehicleAndOtherEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "VehicleAndOtherEquipmentMember", "presentation": [ "http://www.biolifesolutions.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vehicle and Other Equipment", "label": "Vehicle and Other Equipment {[Member]", "documentation": "Represents vehicles and other equipment." } } }, "auth_ref": [] }, "blfs_WarrantyLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "WarrantyLiability", "crdr": "debit", "calculation": { "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Warranty liability", "label": "Warranty Liability", "documentation": "The amount of increase (decrease) in warranty liability during the period." } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in shares)", "verboseLabel": "Weighted average common shares outstanding, diluted (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r244", "r255" ] }, "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesIssuedBasic", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average common shares issued, basic (in shares)", "label": "Weighted Average Number of Shares Issued, Basic", "documentation": "This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic)." } } }, "auth_ref": [ "r51", "r52" ] }, "blfs_WeightedAverageNumberOfSharesIssuedDiluted": { "xbrltype": "sharesItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "WeightedAverageNumberOfSharesIssuedDiluted", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average common shares issued, diluted (in shares)", "label": "Weighted Average Number of Shares Issued, Diluted", "documentation": "Weighted Average Number of Shares Issued, Diluted" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average shares used to compute loss per share attributable to common shareholders:", "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails", "http://www.biolifesolutions.com/role/UnauditedCondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted average common shares outstanding, basic (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r242", "r255" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "presentation": [ "http://www.biolifesolutions.com/role/NetlosspercommonshareScheduleofEarningsPerShareBasicandDilutedTwoClassMethodDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Denominator:", "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]" } } }, "auth_ref": [] }, "blfs_XLEFreezerLineMember": { "xbrltype": "domainItemType", "nsuri": "http://www.biolifesolutions.com/20240331", "localname": "XLEFreezerLineMember", "presentation": [ "http://www.biolifesolutions.com/role/OrganizationandsignificantaccountingpoliciesScheduleofProductRevenueConcentrationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "780XLE Freezer", "label": "780XLE Freezer Line [Member]", "documentation": "Related to 780XLE freezer line." } } }, "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": "35", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r2": { "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" }, "r3": { "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" }, "r4": { "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" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-14" }, "r6": { "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" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r8": { "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" }, "r9": { "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" }, "r10": { "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" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "470", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "20", "Topic": "205", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r13": { "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" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "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": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r20": { "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" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "a", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r23": { "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" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(19)", "SubTopic": "10", "Topic": "210", "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", "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" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "205", "SubTopic": "20", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-3" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "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.19(a))", "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.19)", "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.19,20)", "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.19-26)", "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.20)", "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": "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" }, "r34": { "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(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r35": { "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" }, "r36": { "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" }, "r37": { "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" }, "r38": { "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" }, "r39": { "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" }, "r40": { "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" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r43": { "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" }, "r44": { "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" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "250", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-13" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r54": { "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" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16" }, "r57": { "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" }, "r58": { "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" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r61": { "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" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21" }, "r63": { "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" }, "r64": { "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" }, "r65": { "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" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r68": { "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" }, "r69": { "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" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r71": { "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" }, "r72": { "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" }, "r73": { "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" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5" }, "r76": { "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" }, "r77": { "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" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "710", "SubTopic": "10", "Section": "30", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483043/710-10-30-2" }, "r79": { "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" }, "r80": { "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" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "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" }, "r86": { "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" }, "r87": { "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" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r89": { "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" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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.15(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "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" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-11" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-3A" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-4A" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-4B" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5A" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5B" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5C" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5D" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "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" }, "r119": { "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" }, "r120": { "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" }, "r121": { "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" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "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(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r130": { "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)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r139": { "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" }, "r140": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r141": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r142": { "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" }, "r143": { "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" }, "r144": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r145": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r146": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3A" }, "r147": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r148": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r149": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "710", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483070/710-10-25-9" }, "r153": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r154": { "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" }, "r155": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r156": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r176": { "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" }, "r177": { "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" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r180": { "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" }, "r181": { "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" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5C", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5C" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "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(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r190": { "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" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r194": { "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(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r198": { "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" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r201": { "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" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r204": { "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" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 6.B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-5" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-11" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r216": { "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" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r219": { "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" }, "r220": { "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" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-12" }, "r233": { "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" }, "r234": { "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" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r242": { "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" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-11" }, "r244": { "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" }, "r245": { "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" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "40", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40" }, "r251": { "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" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r267": { "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" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-2" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2A" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-3A" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r350": { "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" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.P.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//715-70/tableOfContent" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1" }, "r432": { "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" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r468": { "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" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r483": { "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" }, "r484": { "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" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "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" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r515": { "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" }, "r516": { "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" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r519": { "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" }, "r520": { "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" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//830/tableOfContent" }, "r522": { "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" }, "r523": { "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" }, "r524": { "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" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r530": { "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" }, "r531": { "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" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//842-20/tableOfContent" }, "r533": { "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" }, "r534": { "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" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//855/tableOfContent" }, "r547": { "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" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r579": { "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" }, "r580": { "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" }, "r581": { "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" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r590": { "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" }, "r591": { "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" }, "r592": { "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" }, "r593": { "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" }, "r594": { "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" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r599": { "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" }, "r600": { "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" }, "r601": { "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" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "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" }, "r610": { "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" }, "r611": { "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" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-3" }, "r625": { "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" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r629": { "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" }, "r630": { "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" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r632": { "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" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "27", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r643": { "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" }, "r644": { "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" }, "r645": { "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" }, "r646": { "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" }, "r647": { "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" }, "r648": { "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" }, "r649": { "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" }, "r650": { "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" }, "r651": { "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" }, "r652": { "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" }, "r653": { "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" }, "r654": { "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" }, "r655": { "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" }, "r656": { "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" }, "r657": { "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" }, "r658": { "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" }, "r659": { "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" }, "r660": { "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" }, "r661": { "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" }, "r662": { "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" }, "r663": { "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" }, "r664": { "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" }, "r665": { "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" }, "r666": { "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" }, "r667": { "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" }, "r668": { "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" }, "r669": { "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" }, "r670": { "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" }, "r671": { "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" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "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" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-6" }, "r678": { "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" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3" }, "r680": { "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" }, "r681": { "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" }, "r682": { "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" }, "r683": { "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" }, "r684": { "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" }, "r685": { "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" }, "r686": { "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" }, "r687": { "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" }, "r688": { "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" }, "r689": { "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" }, "r690": { "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" }, "r691": { "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" }, "r692": { "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" }, "r693": { "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" }, "r694": { "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" }, "r695": { "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" }, "r696": { "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" }, "r697": { "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" }, "r698": { "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" }, "r699": { "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" }, "r700": { "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" }, "r701": { "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" }, "r702": { "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" }, "r703": { "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" }, "r704": { "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" }, "r705": { "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" }, "r706": { "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" }, "r707": { "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" }, "r708": { "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" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1" }, "r710": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r711": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r712": { "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" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r714": { "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" }, "r715": { "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" }, "r716": { "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" }, "r717": { "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" }, "r718": { "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" }, "r719": { "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" }, "r720": { "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" }, "r721": { "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" }, "r722": { "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" }, "r723": { "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" }, "r724": { "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" }, "r725": { "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" }, "r726": { "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" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r730": { "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" }, "r731": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r732": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r733": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r734": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r735": { "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" }, "r736": { "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" }, "r737": { "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" }, "r738": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r739": { "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" }, "r740": { "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" }, "r741": { "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" }, "r742": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47" }, "r743": { "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" }, "r744": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8" }, "r745": { "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" }, "r746": { "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" }, "r747": { "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" }, "r748": { "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" }, "r749": { "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" }, "r750": { "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" }, "r751": { "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" }, "r752": { "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" }, "r753": { "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" }, "r754": { "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" }, "r755": { "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" }, "r756": { "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" }, "r757": { "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" }, "r758": { "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" }, "r759": { "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" }, "r760": { "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" }, "r761": { "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" }, "r762": { "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" }, "r763": { "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" }, "r764": { "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" }, "r765": { "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" }, "r766": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r767": { "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" }, "r768": { "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" }, "r769": { "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" }, "r770": { "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" }, "r771": { "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" }, "r772": { "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" }, "r773": { "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" }, "r774": { "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" }, "r775": { "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" }, "r776": { "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" }, "r777": { "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" }, "r778": { "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" }, "r779": { "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" }, "r780": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r781": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r782": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r791": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r792": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r793": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r794": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r795": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r796": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r797": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r798": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r799": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r800": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r801": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r802": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r803": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r804": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r805": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r806": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r807": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r808": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r809": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r810": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r811": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r812": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r813": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r814": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r815": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r816": { "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" }, "r817": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r818": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r819": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r820": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r821": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r822": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r823": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r824": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r825": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r826": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r827": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r828": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r829": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r830": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r831": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r832": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r833": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r834": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r835": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r836": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r837": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r838": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r839": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r840": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r841": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r842": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r843": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r844": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r845": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r846": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r847": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r848": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r849": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r850": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r851": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r852": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r853": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r854": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r855": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r856": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3" }, "r857": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "SubTopic": "740", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480887/718-740-35-2" }, "r858": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r859": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r860": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r862": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r863": { "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" }, "r864": { "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" }, "r865": { "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" }, "r866": { "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" }, "r867": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r868": { "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" }, "r869": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r870": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r872": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Topic": "321", "Publisher": "FASB", "URI": "https://asc.fasb.org//321/tableOfContent" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Topic": "325", "Publisher": "FASB", "URI": "https://asc.fasb.org//325/tableOfContent" }, "r875": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r877": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r878": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r879": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r880": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r881": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r882": { "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(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r883": { "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" }, "r884": { "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(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r885": { "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(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r886": { "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" }, "r887": { "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" }, "r888": { "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" }, "r889": { "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" }, "r890": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r891": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r892": { "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" }, "r893": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r894": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r895": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r896": { "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" }, "r897": { "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" }, "r898": { "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" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r900": { "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" }, "r901": { "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" }, "r902": { "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" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-12" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "55", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//320/tableOfContent" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r914": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r917": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r919": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r921": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r925": { "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" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r927": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r928": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r929": { "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" }, "r930": { "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" }, "r931": { "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" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482047/420-10-45-3" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r934": { "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" }, "r935": { "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" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r938": { "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" }, "r939": { "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" }, "r940": { "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" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r943": { "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" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r946": { "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" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r950": { "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" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1" }, "r952": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1" }, "r953": { "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" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r955": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3" }, "r956": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r957": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r958": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r959": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r961": { "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" }, "r962": { "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" }, "r963": { "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" }, "r964": { "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" }, "r965": { "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" }, "r966": { "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" }, "r967": { "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" }, "r968": { "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" }, "r969": { "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" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r972": { "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" }, "r973": { "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" }, "r974": { "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" }, "r975": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1" }, "r976": { "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" }, "r977": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r978": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r979": { "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" }, "r980": { "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" }, "r981": { "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" }, "r982": { "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" }, "r983": { "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" }, "r984": { "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 107 0001628280-24-022690-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001628280-24-022690-xbrl.zip M4$L#!!0 ( &J)JE@3:-=L@RD! *]%$0 1 8FQFIZ=ZG/ I1=>7=4\AW*YNGW797MMU\SN_6=.(B5& M4T*B4Y)M^M/?B)0$P@B#0$ *_:F?IWA;JF9]GNTV]_[SU<7%W]_?]V_^/S_U.K_<^7^VOEJV>&(^H&R@6C M)*"6\F('0R484N6?'OMI/Q/ESB'!P&.C6BUZ[<(;3YC]- P47=7KR6/)779> M;VGU>J/>J0VLP:!6;Y!FK3]HUFL::;3T!M':9J=3?3JG_09158O6C)9AU>IJ MVZB1NMFOU0=U:I$Z;;0:9M4ZMU0RZ+<,O4Z;]3K1!WTZT%NZ2@7L]<^ M<_B#MNO8+D7"? P8<7T<-PF DOBZ6E/UFJ:G&JGYU)QK"/X^>_*>WVU':]2@ MVX:6M&-ZH1NPR;0=WIFDH?CFF]YG=QZ:-E)?3AZGII7=-MR8:Q=>_+FL9=7X MB+?[Q*?3;OA>7==:[[P1/Y&\\.K;=2B=C9] MX$::/LM;0_A-/PPM6&\:C$?9_!C=3#]JOT>^-Y0(_=H3(>-%>,X6ZM1\/E>[G(256]_.(!D3!5VOTS]!^_JURX;D!2'[M<3*&;YC17[]5 OH: M?.1#^MC]C__XC\^!'3BTBVRH)53^_#&Z^/ECU'3?LR;=SY;]K/C!Q*&_52S; M'SMDBK_]%)Q7%!EP/:GJCTE7A?VVC;C0;GS_.M9KC(QL6_X)#GJ:-=BK= M 7%\FJ]=&&[<CBD#/>H^75/01(^4C6X'"&-&S"#Y9+UC5+IW MQO_NXHOWH*%L-_W]V53M:%J M&XRSW7[[U7OZ3-UP]B' /Q=K4*^W?<=^XI/SY>N8FF #/=HC>.1V\ !7_0'0 M .Y% J/-:0.<_L^MD'%]D/2X50<@='+V=X%*.^WO!+3+K+NHNW)VMWE(\K9R MD[>C'I"\[;SDU8VI4@ +[?R163W&OH:,]RGS@ZF9J(-:7.\8"U_\.#_Q,CJ@ M,-V9U,^P%] Z.O>Y.09]4KBU=!Z E?!;Q;='8P' MOS?[2/Q-WPL9_XN;/N>A:P>\W_Z0P,U*-M8;(R>_WCXFKL@7?_"2^]] M(GDF5_-N..I3M@178_B9KS4OH-E=Q#NYFAK3C&[QIO!.KJ8H"*0WH4MZEMQ= MI\E8#?%6T;9+KE-N?B=_ 73@[X%-F<)5!,UT@"^N_FO>+'_[\K0'\ZV/N5Y- M_@+_AP5HA'/;MZ9J\'_)>[-[TVY:J4<-;HW/WTG^3C[R<6[R-,^V&5E=K)$9M=@WW'YDC5V/+):M2)5'?UKPL=>Q M8YMV\)VB/E4L&^[R^.+4H'H(0,#PG0N'^#[82H%G_NR]VC"I3Q^!<5*_=\>M M D8M_DC4XN>/F1^:TF3:GX,1OBD)?QA9;HE&>)\%YW?,LT(SN&5 VF?;I//T MCN\63V$!IL.V9$((BT&'G?N/61O[EGR&NA'JCL>?"G_Y;2R>' MA5]N#Z- UTX3WZE^G^UP?>2YY:*Y^/[T^S3O69:-ZS'$N2.V=>5>D+$-TT1I MZ"^<6YV7_J89CD(',]9N@R%E^!RC0VSMF5ZYIC?:P5R](UX(YU/GY,4]#8CM M4NN2,%Q+]4M#>.&\9U&5D !^@RZ<:RW2+"T"@X3SMMEC$ON:[PNDN5'VT,(AYOLBZ2\C!^+P0@8##D1X M$1;A=S2TLONPAXFS'R8)PBB[\[N_./N!&"2]XY(R3KK29>"2]+M+XW<;Q85; M#.EW[YWF=>EW'Y;^TN\6AQ?2[SX0X07SNXL%N;!C=\?"?_]ECR!3^UW2.YUBO*'I.'"9#5A0V024RNQN3%<>I)8:-W M$I.'Q^1A]&1#V.CF0='P3J6%"S;Q'@*/Q8^L"B$5*X/Q1_.*8#GU94/8R*_$ MICC8/)#>%"X2O@(:_W-]^8U1^A=EU[:[*C8BOB"4 9D'TIK";<&3R!0-F0?2 MF65:Z=G??#Y=NOR=>D^,C(>V29SHJ_&Y2N<_'O:$QUD73D19EFF51T+R)+2D M<"L\*Q"1,.KR^^4!UOT..7N?G+84;J%'0E,X:!Y(:PJWWK,"FMSUF5WFF8$2 MHD>M/85;_I$0%1:BA]&B3;D:5%*\'$:E->4*34GQ@ M&1!\3N;]F-R%S!P2O["(.3\\\@LT:/WN>9;?9Q$Y?M/X=^@'^*@V=A0O%)RKE>W2L.+YUY8[#8%$OOWWB MJ^US+70/W"A*!7X)?=NEOM\S_PQMGY=F2%O&IOU !O0/#QISG_PKU]PIW]7Y M78Q;\5VX^/;F?,>9"9/2KF" #(11\G\U_UO"!H\+IG@!N.,??GN[Y_LTN&-@ MF?W#<\! D7R;3GW] BX29P\DU*+XW:5/3A[AF]/D36F&1 .(/>ZZ%_\&:3<_$ MH0OEFKY[+IU\)^PG#;Z%KE78?J84(5+Z'PR^/T/JFI,E5$@]BF5&0L8 QCM5 M&@6>U- 2-F!6!"IUB"R$ >@&5.A=)6A5F5IPA2 M8>.N1P;2PHS,$P1I6]C@\)&!5-I]6X!4V""VF" ]&5P(&^(6R_9:!=(+CXT] M1@(JD5D4,H5="A#+X)+(W#LRQ5T%$0<,TLH[!#+%70D1!YDG P9A%R#$,NWV MAHSBA(7O5\\E*.*@4M@%"+',.HG*O:)2W-60TS2I)"H1E>(N?T@@[!,('7&7 M&$[3E!,'&>+&]4_3G!('&4<=V2^A22,.,LH063\99H@;3!9I:I?9@7O=Z-P1 M-Y LDEDA4;E?5 H;T18$"-*<.@0JA8UH"X+*DP&"N$%D(7/L#F]5GB)(Q8TI M'Q=(3RYV52!(-57<@/=QH50:?MN@5-S@NY H/1U@''7L76;5EQF:90C^"V!T M26CN'YKB+H6(@P9IZ1T$FN*NAX@#S=-!@[#K$&*9=S))<+^P%'8A0BS33L)R MO[ 4=UGD-,TJ"4L.2W$70B02]HH$3=S%AM,TYP2"AK@1_M,TJ02"QE''^$MH MU@@$C3+$V$^'&^*&E6?$0WT^=+' !@P%J0\/PRX>O1N?+)<_O MVL[2BV2$N$%401DAP)$/FE:&8*=07)O38X5M%-(T<<-[.\\VV8X+!6[7TC1Q MHUF[60D2B/3B1FQ$"X\4279=W/"(X'JG2"M6%S<2(:+>*93TXGKZHNF=0LDN MK!?]D)Q@S*W-V\%#X)D_TZ?!P3"IW]-ZKM73[Q@=4,:HQ9\JC]87UFL6E?J% M8E]85_D=ZD\?X0RX+"OIA?5WA21]H3I'6 _WFA*?8BR!$3,(B?-(V2BEQ2.RL-*X=SD+**2US6(>AB0",1* M8=WN%03_!QW:ID/!#N!F,&Z!'^,7I'AJAG ^_<'%TO;+9'9D_1R;AIYC78W&S'N.5AW+PP1A8P6",Z%($]X0-G*P%A.X M.OH6,M<.0H8*Z<(;C<.@E#I)V"A"&3A1J$P(&U'(I9B^$S<!_F7PG__98*M5GRHW0#[P19??4X6D^ M_M >ETK"NM";<8":0]=SO*?)%W#G%EXL#UN$ M=:HW8LN-YYK@1]" ]F"V*%F HRZL;UV2&:/(Z;LNK'LM\HQ1* >$=:M+-V,4 MRA9A'>URS!B%\F+G_O8:8YO;2:'5U,::.RGXHP7MI*@+Z_)>>^Y30-D(,P7? M1#]OO(#Z=V1" *8[A=P;2F\'.6'=VF(HO?;G_D&8C>W= VA3GX)>6!BO@)[T MB?OS=C"@C%KXT/75E]O[55O&-V"T"/+7$-:_%D/^-+4H^6L(ZT4S_+,8B'_S0.DY/#=AUFMJO::UUIDPWSRZW80I;'AAJ:0_#BFZ+RCHUQYQ M=RIY>DWMU'2U&,D3-HYP.%+/B< ;8K\G F\>W4X$A TD%,27+5R)V8(I/(V7 MCQ0"PN8+"*$%BUQ<: @;(5E*ZM\=KT^<"\]S;/>I!S>MF9E9GE6=AK !$P$) M7V1PM"EL3&*Y+MU=/K]X[_0N5*>4S]^=RT:?HWIY[.]F^7S, M0Y&]4.U2/G\SUBYXCSA1SEJY%'KY/,U#D+Q(Y=(JGX_)MV"72X6WRN=E[HG* M1:J/5OG\S$+0^4R^=8[H?(A2)9.$\2:V[<,<\*S>"6/5#V;)OI]>[X M5CP;]ESK<4A>=K_PO6[-ZWJ!-:];PGF= O+F0/7(6\)YJ.OQYH(Z#OPTJ>_O MY/0$(>1&.#=60-X<2FZ$\W57\.8A\!AYPJH;\:_X$3]^YYX^4S?<0^K5021) M.#>Y%-PZD&RUA?.P-^76<4I36SC?7%#^'$I^A//J5_$GNG(*OE!;N&" @+PY ME-R4+8:P5*_=0_/$.6J3KEVVH((0S#J49)4MRA!?68\I\>5@,J;6\F!KW-8] M'1';!;_XCK*!QT:8MG/;=^PGOA)V^3JF9D"M1WL$C]P.'N"JC^O"<.\A85;4 MS\^[:?C,\K"=Z>87!,MNOS2E:XJ (L7OVV4+P^0"KT!T/E!(1W[KE"[<)HTS"=X$O,+%(A-^]%X(LQ9WUE^. MQHXWH92?)74[1L(?IX/>$2X**0)G=B4&PH455Q#[GOH!LU$5E>L\NXYP,<)# M$UH(72-<,/#07-F5GA$ND+>"T"DKZ&%(V#Z69(V:VEY; &:/;B< PL6H#L^7 MMR(P(_5V(B!:$LSO%V!%_Y58Q?/]J!0V\'5ZYE M/]M62)S92;R7K]0, _L9;@]LD[(=2Y]>4_6:7E]'^MX\NIWTE<4G/[AN/(## MJ*L[=^3+ M.R>,Z'A>FAN%,69_ND9I3(O3'6=&_2CVX'AK)X^'L PSUQG^@, M -]MUQ[MHO"7"'S7A LW9'& O*[!@7(J_T/Q?>?AC+(00H891.:.<&$&KIZ M]#"D66&/MQ>M?X=^@+]$BH7.A>:VXXJ,10AH.1[(V]5.(Q8AKN5X*+X+EZYP M8I;CH?@NW"&9AR+$:<1/]FJC%+= I0D;T+C"$W+I0V(L7GLF3Q]_<]JWYP>8 M0NX<:4J)K@L7>!"4/P>2'UW8?(>U^/,[=2D#8]RU>M8(S##0> 1-<=RDX?K' MN6]?UX6-992 9X>2,^$B'+EX]D =?JJ1:T4&!E98/VH1$S;T(3:[#B5=P@8G MUF(76.J4,',(_/I*GZGC\9,+CEO A LKE(9CAY(Q<;,\H 7+=G@,]H&:(;,# MF_J7KZ836M3ZQKS1A3<:AP'GX^W@DC#TS1& \,;?YM[YL7IUXL9$3A<+A](+PD9@#G5$^U?;'WL^<7YG M7CB^<(COPT"R9I&Y!_^@CC7P&/Q);[P ;B&=;3>DUBWP@[^]"D$K>XBQ\@LO M!/ZQ,:!C#A[Q=7?WC0 @C$ME^RJ'U^39^(<\DQL>R8U%WG9:=/GM\J M+]L0-HZU;Y0?'6>%C8 =2G^]L8"_$"?:]45IP(,VEHW*B#BHHQS/#QGUOTSF M=)D/3<"$"S#(UF,;@D9\#5R /9<&]@I[+OWH5G.X(6Q$4I)X0?PA M%SZ 9KAZ\[N40"F!HDF@L$LD!PO3+#NZ\8$"[:P>7+7PSB-EHWT46+P_,)KN9_B'4]VV5#+HMPR]3IOU.M$'?3K06[I*!RU3 M-X&4_\)(X.P=/Y@X0/V1[=:&U'X:!N?UQCCX]&);P?!<4]7_4^'/=3_[8^(F M3YN>X['S7Y U@\&G 72R-B CVYF<__T1:.TK-_1%N?=&Q/U[U2>N7P-+TXX? M].V_*#0,W^!_OL0?5=5/8#C1I!.:KOZ?3SCTF@7**[)9SD,7!HQ/09^(,'U1 MAHP.?JO\LIKRH)D>2=^ABC=0+I"S;N!__DB '4C&/HRCB MP0>\E?AVWV/0E1K0P2%CGYXG/SY98!,Z9 (8XZ/A+WV*&^M[0>"-SI'5SY0% M8%,Z->+83^XY'VAT>X:",S5"0@!X"ZSDR_'M,[CU2FS&]C6B,E@(C0<+\5C$J;P8;=Q^>5"PO1&(@ #Z-B86V^KFJ:-!&\H&/ M?.2K"1OQ.**"27'YJ+(4]O"Q(J#6RH!:I?OCYNKQ\JOR\-A[O'R8!T>J]Z+T M]N'RXL?]U>/5Y8/2N_FJ7/[/Q1^]F]\OE8O;[]^O'AZN;F^$'\(_P?$%W 2> M6U6^7BBZVJAW1.@T;_'<#N!KYDH55>G^:X/_+1VFJ,+Q[?;^N_(9YC_7Z# M%/\$F/&EYVTF(_A<[O'_=P@F'\Q8DWLZ]EA047B=PP ,AM?@?&"_4JL&CL.4 M1'JE^Y^_Z(WZIV5$VBWKLT>M[.?CV;A3_OM'[_[Q\O[Z?Y7[R[O;^T?E[L?] MPX_>S:/R>*N $GP$3:=HAG)[KVB-#]:ORNTWY?&/2R6E'Z>ZL7?QB+>UCE$7 M0<^\2_5O'E/ +%;^3!"D1$:J JX!M380Q3O^^F7D6,P#T8(KM1$T,<37:A:9 MU":4L!IU$V :E>YWS$E4#*VJH#U]4E+\R.!S/&JY7(P'Q/&G);S=P LQX3SC$:-_IX/;S3KX]=-PC#UACI^Y4&-\O!FEQYI6>)@ M]=5QL *;BD-JR^)G281,'[]BC&P1W6_)$%&@)-H/%_S9. [1\G5_G@?.)A>> M->]I0(_,?,_Y_^QQ-*_'W])A\FFKNG8,/DT\T'F'YI"!N__\I:UKK4\[ M[D).,OG*F $>[3%Q%)H4J 2:885*<' !( HB9#MG[Q#ZZ,/Z@H$*H,=J=SUJZW\SK;1ONLH38*<;:USEFSW2FD*=ZKYC9^>TQNM(+/P3)6 M?,^QK2CI);[%&35_9U-S^B!K,UAZ&(%)B3E43$QU7\/9/GZR,,)5D3\9]3VG M$(JPJ/ECI-9-' .FK^80JU4HH/%>AC8 :J86\T0AYK/-LDFV4^Q!"P>:4M:W M%.+)9Z+I?2[$4TNA$:UE>=AWS_Q95<:$*<_$":GR-XRD:KC(I_C#S>)LDC=K M\"96'P]<>TP9@\M!U]\>]D_TW:J>B"'O)2OOE"N/8%'EEYK+6%6EE^NP*O5- M[^%K;R%%3>&;996HWEU5N;Z^*#($@P<]V(/)@5"-:?DFQD7[$\4<4A@F=/4G MZ&_*@Z1HL*;6]CYHORI#XBL#VP%3ES@.W,2,&+2 _PQMM'_![.W3^ %H2>('2D=5+#+QSW('62Y"QJ"Y*,,(M4= @M"?@K-= MZ?XO]1>0F3,R4% *59*D>,",IAOO0&/?*+6E3#*.V ?8C^P@ $$!1]T,F.>B MQGU0^/.B&?A;?"X8V3QL88]I (:K@?KDJB+JJ^ 3F0%0+_J_YY3=%$R1)+,Y3 M^>U(^97RNQ?Y!;DAB@-CH0HQ39!?1E ($=<,9[C,JPJ LI9YPQ^!X,-76#(Q M@2B,@ @3G,^A-9@$D6Q/RA/S7H)AWR]$(>6,>0M@ZCS.X@ MOZM]JB:/K7Q@:??B!_F4'C^[I*O)D[8;:2=PJ6IZ8J2D+9.S\D%GD_Q%=@'D M?O+89''!*=INR1EAQ@_-EIWP/(;K;+9*O9?HO=Y;TAQ:#1Y(^V=HFY.DQ,-2 M]7H8:N15&+S_7T(?&O+]E1LC\$@0L79&7"9SPN_1G'!1*NHGO8\Z'_=]-1?T M=[A0GKGM:O"._8$KBIE6DSW(T"0XWV6V7LD0#S![_E M3/#C+S9\&G'CPM@\%.=GV^>*S26N:1,'YT3,BN3+"@$8)5BU6<'<#=M:MFIH M?""_9MHAA]:4)<)(?M/9QQR>J1;^ .#@%FR4S+YH( (_P%L$WZXD*N,!A[>V MIC!$T]<'\QOG;UW?R23:FF5$^S>G26#?>,P"M$T(/AI'#5\:@JE\ M'DEZ!<3 M&&V]W^K7-U\RPA@\E4G'BKG=>S]VS#@F@YH/P\T-QS5+(\7]L & M*XIO$B2).H4=IKLTJZJA5MOM:49STM5NM'KE)Q(X$^ X7N+'L=Q*_YD2YR,_:BB?2<48S+^O/>KC1Y0Y4A7)UIGR[NNG=7%SUKF$*0$79>^1UQQ:FP'WM/>,Z)EN7 M&" ( UT,X^9P?Y50$>*=K9+T=^;%C\)WP69]L,EH65CU!N\%PL/_^"_>"HH7Y7[-@U> M3ZOY9SDX4KL+TI=\[#\V[;YFLU+=' )OS374#<=C64?WI=2]C\YH4?@A+3Y6 M<.)+!NF"CSR/ZBLUH]KN\=5E*D3.!@+T)1\"Y&P@9X.]X:VSQFPP,SE1&S3) (^R-#)4EM121Z.E #5UJ:6DEMH3WC!++J>6PK0:1H=X[,TS M5:X]_ZVV*JV1B,284[6E'DDR3Y1Z$'R2*_4(ZJ7N?6)>E'H0TC8Z"ML(6=F0 MMI&TC?:%MT9NVXCGA X]!S[FQWF:RN6?H1U,2FQ+ !FD.WJB*A=XWY0J5ZK< M?>&MG=\=)?Y0^>9X+S)H=K):"E#3DEI*:JD]XFT?"\/P6<"0 MLT!I9@'.M?_&LB5VP'=RYM_Z?4\L>@ MY3D(C&-;?))J?C=JOAZK^;I4\R52\W4\4\ -&#"&J_@[YIG40JTN=?AQZ/!Z MZ76XW!XNQO9PO97L#[\Z4VX?_[B\EYO#CT]?H&M_;.M*TN;;S?9P5>X/%Z0O M.;EV39^($QE[_,0%:>T=A_9&WDKM+;7W6EB95O?H2?5=(O4-;,,8J_*-F('' MI.8^$LUM2,TM-?>:6&G*Q I!^I*3:S_;4L]+/;\F5CHR=4*0ON3DVEE#I=Y] MH?Z;LI^/9P]>.SO9H6=7QMH0W\TU\/UI_Y/0DO.E;>_:'E#E >=,+ 935:Y< M<_GYTJ+T>V6QLR]SARSE&D\ISAIN:6<=(_M6WA."-?U,;><[MWCY];K:+*Y3 M1OYSBXOT B-$+'4G"L5]9RW83ZN'3@&]VDLZIO&GCT2;(T&Q8=Q##O'#E:L$ M0R^$)BS0QO35I.- &<.8?:SIS=-0HU^@Z,BO:P A5F%\[H&FN(Y4CSLV87;U_5(*ZA'U8 M*QUG,A-_T#]#^YDX7S!K &>+FO:(./YO%?S+)2.*3]:>"!F?(SYZKH7_ MN9R!HQ=<$,8F0(U_$">D%25*'0&O_#4X=\-1S?)XP Z;!7$!JE N..BX#VJX M#UOO5)L=L"+F>]K]SU^TIOII&\Z@2L[%H6(F$"D>QRD>]0.(!R\L6*VK+4'$ MXP2LF'OJ!\PV,5Z%$^%2*T;/-^I,22^U/*R8+F9T1)&(;<,,B&->L;8MO+-A MMC/MOXZ5>?+X6*$OU\6'(1 ^3L +Z#T3V\&X>0UFJII/,.H^W8]75R&>J6K-:J-5D<0 MNZ'(N,S)0VN%8MTQM!H K695;[<%@=:^3=+B$\G75,RF":,(?(51DX)[ 0RN M*@$C%OS'I0$FLQ#'\5[X"BL>=FGLHUC%6RLLMAM/@P-#5C&)P??.$P$IJYLP>3 M!;6Y6T85&.^/J8FI=\YD15[FR1N?J^"[P.,;&FS(YC:PN0US[=8A+.G$B(>C M5?JC0!QU.(Z:C:UC/=+961<)5^XS,,ICO-2(]&0V4J4)#2> _)R0KZN5;MVH MUK4CBOY+W*RI.K?!C1;AIM$4!#/0"XA2A7]?.5SM.65D5#=A&*C#4KFG5EKH8Y]G,&%D[UU5T M\_94T;8J9K -VC#ZKJO5IEJ4R[0[M&57*&B^4Z&@/.F@,IUT]7H%A[DRI([% MER,0[7RE0D9:&/HS81'6C =?SS:2H6>A%>\,L82T?3.(6X 3O%E M0M8-)*)=Z>I:5:WK@OC#,KJRS^A*<3CJ1#AJR76_O2'A%IA' NBLXE#B4X53 MI.8-:B'\$859I*FZC9Z=$O@:Z7N/'[D=_/ IMT1R"DA#!9]7K;9D,N,Q FF% MHBT42!J&ZJKUNEPVW!L4XBH^N]&T)V&)K-"T$8%IMG@L2(!>Z0JS?B/MU?VI MT7PH,2K=[3?D2FMT73Y?>^Y3+:!L!"SD)3/3R17;+_H=-_!7J,>O,46C$-B- MYYK+-IHUZN"'9>2<2QNS]!A9H1QS8*0!&&G)&*@HNQ&=1'-*\W%C_9C>$O9V MZUC/-%E(K2NLHT7]H(>%B]-;9B[X%J-KSW]?:IJ5;EN78=(C1-=*S;H'=+4J MW49=E!3'$S!7XU.X;?<9F#;**A E+8]U5O0C.E[-R)@WG-4&X%?5I@R+'B%P MWEO.WQHX';& 5NY%*QY/&E_6U^I;:UEIF:Z+B(15TA[=4*]NBG4= ML*[7JZWZUH6ZI"TJ'FA6*,]-06.(!IH3L$.C#679:TJKAKG%=A[1R+!^1=M\ M8S\:D5]KPUQ>@:]7NG55JS;5HD+!A]\I]X[Q+<5)BE.N'8%YQ:D!XJ3IU=;V MU5-V+DY%; 4L_L@. T9B>2$&940[361EUPY>]7#I%PH7O^QC9:YMTK<=OJ[$ MLV4>\/BEH>< !:>6S6'ZFZTN_O.7MJZU/AVV:]FD5** \MI'/6\"K@.J[^Q! M9ZO(PB)NQT^M$X@G)0<:.3-=L]FI1JN'+IQYLX5\%#0=EIQ:)Q!-F)8D'I,) MYG5L$](^3D?G.-V9-8OKWD6HV*S22;.)M#MQ M:/':'?6MBTS)U<0V!3:T.9T+&F7KNPPL'22!4(4:L+B.T"409' M5.-4S^8[ "9X28UT(*"J>$G-HF*.2ST) R17/;'$C9ML*"58Z:':W+[6@[1D MQ0-2KGIBVP()RT%46QU9N?&0ZG:0E!B3IU/OHJC8HHPLB$&STC4:H@3&I!5[ MF+)B:^"D!3AIR>*+>^,TEM^0-FA12A'+M#U2-D*J;F@O\%6IIB;*EE!I>.Y/ M51: G@ZF +2-K=82@HT%S5MJ^M*8,T^:+'$$M0%"[:FBB(.@$K-6O=$"!5Q9NMM@ZS'T21L4*79H0],HUO1%] M)*^I6.--UIE;[3:@OB/*THZT/_=Y1D9>J.!6M+8\\&+/JX!R]6]/JW\Y[86. M6NDVVU5M^RQ,N>QW'%!;?]DO+]2T2K?5J*J-HDQ3N=Y7BO6^\AGT%]YH9$>' MP_"R%2@@T'7JFE@O\<.-%U!%TW]=H[S7//7RJOQ7WSYW;>>W2L!"^E804YWL MN=9%NHM3B=,CAJW9O:7@V&(4]0)&84Q'(5 E5.'>/P&Y3% A)0ZQ_$">FLU=@65*\JWXO#(8> [Y;ZYG;LR$UWR%Q=O_R M<7O;_K7XJK&JXO^O0?:HRPJ9?J^J/(!DP*5>-2\C&DL&RHL@98WR*_5!JA%( M>4?9SLV%YOXZU\$JD7HC!_FMZ;>JW#0NB/#O(>S*]T,:ZI:&&TW^[ZV ME^_?AH$? *UA]LGJA)Z[$YLP844G#%"?JT&T/LQL3O.H9N#LRPKQ%6^@?"?, M'$93NZ%5%5W5Z_S)K]2DHSYE<[>,%8793WY5TUFQ5 M=7UQDT%.&[FJP+TQA4>?J3.I[MMD/HF6S8.%H>)JCS)<_0FRL M,(S7P08>32A*=;432%#J04^1PL0!B\VV:K:KF&1L!T2>A+[Q&393DMX!1:_< MBXB>*?#GS!W1-/ "FHU.596'$APCGE8= E,\GO!$F(9>;;=%J1]\ NOW/=,, M1Z&#?G9R%(PW&C,ZI*X/YJKB>+Y?55P:H,G*3RXXK13Z#UNI8%R8@5\9!R@E M1(\.\TB3/$J;O@:ZW]#@=O!(7K-DI5WI-IJ+UNI" I0T5,L$H 6=NSL =2I= M(\.DW3N 3L&:3>E8BPYLTPY.RXS=B1*]IP&!+UF7A+E #C]%Y:\1D?,:(#K6 MV](;5074"!FVTM\E?FI:Z MC?EZJOM/5H06N+<7$_N2$SFWD.@@)(91K6]?T2<7JTI@\9XJYE:$'PK G(&8 M:U6;VX>O=HZY$S"2%_:D\L6P]?7XFCO3HB&>&\ $RPO[#HT8M(64B4;(]<^P M+I(R1Z-WUM_6VW.M K00KCJJ6K6I%G7<1!'L/)##(F58RO!^]TL7(\.X.JSI MU996+[D,@*8 @\NN8@.3GQA? M%&;1@L20^E3YX9+0LC&Z=N&Y%AZ3S7]QNO"@6U01SX87>48AW]IZ-I]1 _^\ MV<):;T"/QY[/5[G.&74(YN]\>K&M8 C#X9A,O17S2IV]0OK0@S!8_DJ*+R9T MB;*B)6LUT;4&].EM[@UBY%K@)0DH9/@5](L+T11DR5'F_K.9/"X0+Y1K%!O=THPQ\_DBZ M6;Q/\X:P)V /US7Z_*2Y)\RV,A7%%]N[M@=4>4 1 YKX5>7*-9<+M2C]7JFK M9AH*.1573H8'EH[L#8=PVSWG\U0O\0L4_/DQ^?+-L?.V1R;KN\E_RE M3W%CL3)#87PS5W Z1K=GZCQE^/;9W#KX^+UEG;6,;)OJ6=:YO5E M36GZF=K.?F594\NOU]5F<9TR5C6583$G? $K@A[FJ171AG9*N8FC5-;;W[Y38!W5:UJ3AARL7 M+#(OA#8LT,?TU:1@@X(&B\(XLX". JJ.Y*G54@X,80IW[@(T*RN\E&;LQLYD M1!3EE@IKK.N"'%2-T9['%?]K!\"+T87B4@3/H MA$B6GN]3^#^+I\'EC.LU85ZK5]OJ$>6W2WDY5GEI'UY>\#ALK=K8ONKW3N6E MA)/V9FE8AYNT'RA[MDVZ;-(N:\;W#J2VVKC&]4X"5<%8HFRMW3UW,\=IF4A P6WT70JL=7&@-%4M!MHVM"R*( MX_I(@,T IA\>8!H"K&F(?1YP"6>%LOD*4>+O. KS8:DM5H;[W#0D:I!<31BK7+ G'4B,[BWOYL M31F,+K]MA\K_38QA#U/#:8085RQL%BC237#DJ@U-[$"BC%3O9OVR0!QA]DJU MW2GJ*%PY,Y3<:6!SRY729]C3XF:!$MW&)2:]L/HNTF<0"D>%(U M6F(?#E#"F:%L/L/OU*58?@ CPL0:V:[M!XR7!9".P*8+D#%-041[66UCGDK>K5C%%6*0[H#0H%IQ<)AT6C2>-BQ72^J.)-4_25U"AX &=%2X(BP MGQ27 J6-OZG.?Z".@ZOWKO4](>:F JKSY/76UB=&2!-?1!BMT/8%XLBH=)LR M1UV:^/?4I[SF!ZIZBSY3QQMC-1YIX&^>81A1%*3TZXR>F\IIG0?[I75_G$A: MF198))2P:F-5:TC3?BN5?_@.BOK4T?M$5V_60.:60*1WM.F$V4M1\78P(W*/ MKS-E:;)FI=O9OO:L=(%$Q,J**7$56'+.B2UK>4WZX%-]ID"60[4I7-[9. M5I3>CHBX6:':\P GK>8']BNU:G]1YF4!JH,[%-JZIG\2&E0EU/%E,]\OAF K M4,5VE0&QF?),G)"G-B%*80#@6>-/W[;B$M32HB]P"KB8$ODB3>,>8\@47O\[ MXL^5"R9>Z :W@R6O)*=93+0<:J"A%J8&I-L@(B#SSRV[0>0B\K1*MZ6+O5Y7 MPLFG; Y&5/5A<5OM-G[&Z6ZG7YT)B3F0<: \=U2@H>/Y1M5V8^O#.7,QJ@0> MRNDB;L7\LC7DC$JWH54-=>NJA >"7 FGD++Y+[?3RB-Z#03/+=*XA5NM:OJB2*]_#GHNAI7 #3EAY"W,(#N$ M'N[Z-JK-C-/%A8>>,!-)W60B"FQ)J\C(;87))>=.8/J=B6MSFY#!+\#"3J+YU!%^N]HJ(E171^/Q@ MZ52Z1D?LC.(2JNJR&=WQ(FVFU[RU 7Y4H<\"-7L>.6VJ(*=E72*3J[*'L]YS M@0R+8!3@Z9ULY'SO4;93.X9;$E(&,LMB4^'ZI=*G X_1Q*8*R&L2UI01S2(B MFLDZ<7)^C.V&0)AX(=ES_2^<_-%SC^25^I>O 2,@Z[9+V.0JH",?)DC\.O-X MA9$DV)5WX;FI\YP'M;.8[RI(P$L&2GG SEKX:&+ZF['-PH<,O0H)D!6QUQP(:52Z MG6TTLPRWEMLUN*%!9BKS#N-=600XJ.S];4>#/R:-LVZ,CP:;I\PVF]QST?4" MENJ%#BQ+X9+"M5$$?2OI:G%'K)51M$EXZ2JA(2"CP3*L+L/J)V$[*R0(F-T/ M X)E"0,/1CL:@<[WAX31H>< [N31S7O<%G.P^T]$]M!K?_H77"=_Q!XYL]8Y<<8RFVGM[=,[=JZ MXUP,[L]1Y%S6\F,O6E*)_O**_D?^]"]EOJ=LF81]&^%O:TMB"J,)?0G.J MM/[1F++(&9*>DO24I*2%^Z(@7'/=1Y>PT*%E"I7%T_LL&J041N,J-T:63?*14W[6]U;>S>J*9 M>Y%BO@E'?GJGO(S<+ MX;^6_=S]#/\D3X\(>[+=*(M,G\>^27&'W*&JI@S!HC71U"7N!,N3NUX K7-# MUU5LZ-D3(XXR)BS XY:"(?6I\L,EH66CZ7SAN19N%.&_>&H)_J@3P=Z2U?I MH&7JIJJV_Z5CV"MZ:3BM=SP&::WU&24_:V0 SPGS@N9^(C/-!@!B6FBOZ77 M4JH,!CN#8B01H#.\:*/I.USQE^/;9W#KX^+UEG;6,;)OJ6=:YO5E36GZF=K. M?F594\NOU]5F<9TR5C4EK@FQW'M^USKO+#R6869'DG@@.SM;/A]!H5+E.SPW M])5+D%#KVW)K$%BDAD$_##E0MFF1="&Y:_$+W.\MXV MV= @(')T5:\7,MQ5WN[QT,LHCR>U>(9'XYTS/ ICY8H&]O4=89APO,L_FVY@ M/^9U[JPABAVF$V\S>ELM;C-Z";:<2W$0:6P";A]O+T_Q%D0>A)ELWUH\^4XM M*V@-IR3O"\.TX[60HL,OS+F(6%)9'2VG#0\C.^H4WI3[H %=CMX)*]9]I6.H1U#U$166:MQC9R238_)V0N^ ML ZONIAX)(_7.2EC\(?+*/3A+VK%QI_R1&Q7P3DDV15< \>PYA-< J4PV]B! M3?VMIY53J="]Y;0R8\\?GH.4^AVX@[K@UGV8,J/';!]N?84_W:<[&)5GO2?X M6 1X\;P>09QV60M^O_/*+@#6P(/;"CH02DXL)?5/YC-N:B MO5)R*1;$Q)$[)^3.B=4[)QJ%[)QHR)T3$W#E1[,Z)AU0!A&1LAUE[;.M: MZ]-^NI!-.>7RS] .)KDYW.6I[[E>*\66$TT_:QN=0G9W=,[4AF@[3F2?9)^* M[5.ST1*N3R+226V\W](V&ZKJ#=%V5+4VW%"E3#=3*0M[9HK=!77(<<_M@ZHJ M]-6DZ#[SFDU@KY"CV!JU'BD>X"UHK,?-B3LPNREC\;XZ7K$Y^L6K.,@-5,52 MM3?R0C>05%V;JE$A<8G-'5!18C$G%7O05_30B1/).+&MFAU1]8*,[0"N2V*N M34S3#$>A@Y$"3D&>6!#1,AV6YU>BV+RPQ'W7U-EGY"8WY96O=&";=O F="8) MO)V)[048H$\%O.*@4V;@9QT[6^#\P+:'5S/=KDK[NL.;4]^52_HAK;P'ZE5NTORKRL503 MTJ&-%3HT=7[5UN4L.RJOT*HU6U5=;TAU*M7I_M1I([\Z75";'0WQ>PIZ4XJ. M%)VIZ#2WLT16YPQV]$JWV="K[;8JA4L*5]F%*U^.;FO-'-WU9BBCTC4RIJC< M>]&D (F!)2E *P6HO84 Y9RGZB!=6KW:T5I2PJ2$E5C"\@C8EH&H-<0*M[<: MK6JSN5B<0S3SK[R[3-<#!N=FK4\PAQFW;%#7Y_GI11R6(TCXC#=XCHO4MKD& M16H[.R>H9+5;U@-03:1R)SNOO2<(1R2D):1/CR^YO(3.^U;,K,*3_^C-TILP ML^G*C7.:^/H'GQHO4C/C/06CQ[<#^D#9LVW2J)K'/36])Y>W\@_BA#2W3=2L M=)M5K;VU123!*)6$Y(ODBVA\V:H8B>"ZNR66[E[ALQZ^KH%\ZCB>.O;<31X< M46S?#ZFE\$Q6[1,6=GRF/J80WS_TUMJ*(7;EZC6GU9V5^"Y9Y<'=6"$"5H0\ M,@#GS)/3U15Y"A;-R4ZENWA$4OD5RE%B MZ0@4O>2+Y(ODRXGSI<#P3/%3HJZJXDR)QYX1\-ZQ.#(K0"ZAGDH47D):0OK( M("WY(ODB9E*WONTQ/YN?['7G,7XC ,.T'_(*H(_>'8%F@BQ+5).'RI4#?U(O MB,F7O9[^M3>U(,I9D\>^))LZ;0]/1%IYS-X1K<_NQ;P_V0#8$00F):0EI(\, MTI(ODB]B6J9;>ZR;GAOZA8*90S,/#@4+5)Y,6PJH214@)E]*<33UNQI D+.I MCWV5](8&F4?RRN4C&?8ZUG"DA+2$])%!6O)%\D7RY<3YDL_OU]>T^L%"C,Q\ MM.AS;BG5U0:8\6I5UQ>S'N5*)PM+VEVDG7K=6-?9W_H:DN@LS^VPL!1UV/\38 MW;DANIIY#,Y6-1JW56JBK[!+W;VHNU>=VU3@F2.ZVN%GCC3;G6HCHR*+5.-2 MC1]<3++4^ 95=Q?4M8;G[32EOI9"*86R$*'5K7A_YIL'DL'OX M)^ENJAV3 H59S/ONYS[[.(M0O7UM1-B3[4;=U4&Z-WR)]VI*N8@$0#6'C'UZ MGOSXE)1ZM5T.&O[2I[BQF)R-\>(B'(XLNOWIQ;:"X;FFJF= 481:O 88?SF^ M?0:W/F9"$U8?E6AKR9%,P!7H!2+!&3!23R9+_BLUZ:A/6>)K5MZ%7=6-R1)]6I M5*<[4Z*SC3=99V3_[;+=^E4NDU-J[:,CA0N M*5QE%ZY<>:#&NG40UIJA=!4DJ;4H19NF>4H!D@(DN@"M6X=F^WE*QS-/ZLUJ M1UO,RY02)B6L/!*62\!VGN^LZY6NT:Q7M?;B!@71[+]CK^?*N5GK$Y_B^$9C MZOK'=N*E+'TI2_E) $L 'PN CY(ON2R4%35#9H>:^8_>+!D-<]&NW#@3C2]N M\&GO(C7KW5,P:'P[H ^4/=LFC>K.WU/3>W)Y*_PP[]SVCE'IMJK&]J4.)!BE MDI!\D7P1C2^YZL"N<"^%4]YUL93WL2?,<8=4\<8<2/25,M/VC^HX2WG2GSQ. MZG@!G#,?R6BLR$?BZN#*]T-JI8^"BG*3^,U;KBK\RUA56'FSE/1&I=M6JYV, M:BE2&$],&(^2+T6ZUDO$D5M62Z1QT:+"(OUZ4:5.)'RD6$N^2+X(PY%" MU&U+)'5[$NNIBLU9IO#=;]HG!5#P3/T KMP_]([IZ$RY,B6#F\<+X+WZLO>@ M()AM!O'NQ=X+8=8-#6X'WSPVH'80\B_F=&W;E:[1:E;;JEJ,;RN%L[S"*?DB M^2+Y(ODB^2+Y<* &#QIS-,UQ+N"(CEQ1/+:PF 2P! M7&H 2[Y(OAP^RI.U/+IPP-)\A(>7.9PK(QB=91[;(1>Q&?*(5DCTN9YK//YY42_0*L%015()Q[[\]\-E%+KP%[64)V*[N/)'GHGM()-J X_5?(*'T%!P2.W MWC"OM81+*7(ML SA(+D6* $L 2SY(ODBLL6YJ1,ZLTW^\!RDS^]@H6 9^5OW M86J0])CMPZUT?L(7"H8+!<,SR[K4*MWMJ[A)E$GI/V6^[,/?W(GTZP))_[&O M98+[KSCI0S_DNJ6,61U5+%$"6 *XU "6?)%\D7PY<;[DJV;;6K.:+5A_D1V/ M)GO>&B:&4>EJ1K6EU;>O8ROQ(Q)^%KW!G>"G+@Y^CGT%<7I@W#M'D><<>EP= M-Z+AN0%$M[RP[]"H0NY)GH-D[.\L.:.XL^3>"9#M P-'5M^[2,J44S:R#))= MGD-G%'$.7;%*3?0U3+#5> MQ/EW1B'GWY5?7TNAE$)9A%#6=WZRGL%/UNM4=;TEQ5:*K13;0H)L]4+/[ ,M MT&T8VT32I&A*T92B&8GF_DX#K.-I@$VUVM2W.6]3RJZ4W>.5W5RBN_-S!NN8 MGMAH5S6U[-8P7_3ZR+?ZP7\M^[G[&?Y)NCLB[,EVH^_J\S)C4B Y*QH,FKH6 M&AZ'5"$FGBI(W D,7W&] %HG#"Z[B@T]>V+$4<:$!8HW4((A]:GRPR6A96.M MS O/M:CK1[\X,0E>_F:[Q#5M>/$A@ O\I)"S*2/?TB;N4+T!/1Y[/C\'Y)Q1 MW%OY3#^]V%8PA.%P[*;>BAFLSEXA?>A!&"Q_10"B:PWH4W.>%.E_L;AUVJS7B3[HTX'>TE4Z:)FZJ:KM?V'AP/BE(4M&,"9/M-9GE/RLD0$, M\)PX+V3B(S[38 0DIHG^EEY+J3(8[ R*D42 HO 8WU-[#I)-&3X%?2+"]$49 M,E2-OZSF3PN$"Y4!BLT%:E60@<\?23>+]T(IBE;VFK?M7=L#JCR@B&$]XZIR MY9K+A5J4?J_453,-Q3E%_*'RS?%>_*4C>\,A&!=7^C.]Q&<8&)]#QCX]3WY\ MLFQ_[)#)N>WR7O*7/L6-Q7<=L+/P6(;Y M&R%]/];>FOA_!(5%E>_PW-!7+D$"K,]]]K$[S5R9,Z_6)-!!#?\UQ_WAR@5K MQ0NA#O>['V8>_;[B[9]/T@)!OQ]K6&SB%&VGN M4) ((9TUQY8O'WD?ZJ1K#GTK4R^^9DM347X[="X MQ&5OA&4L_^+7QW8"X3S:N>Q#?I\%R,ZED&X#WKWW3I+T=7$T)V^-TS1*$5J7;R7 D M9+&!(\#*"L6Z"BPY56H;56J]L75],+$VCI=3I3H>],'T_ UUZ8D8'GG$(TY# M>6^.+(@X%/BH?^M2E SOX5:&OR%!Z8L9IH4OK?6?@ MGP.!D;[72-[+B*99,F!4NAE*M(R+YT>.D"+T9QY@U"O=NM:6-NF.* MS?, E("\;J453\1F6+54$!$URJUX)*\Q]+]$\TZ6!#0JW88@IH$T+_>[K)0; M*\TB''1I1^;G^\60N$\4LVH&Q&;*,W%"OA<*.0Z#H6Z /WW;HDPNWV^E0;^$ M/C3O^^!R]6V7$_-B2N2+-(U[C"%3>%I4Q)\KMS<"@@:W@R6O7-ND;SMV,-%R MQ$\;+1D_/5(HKM#0>\/B(N;:E6Y+5P5!W?&EB979<.^9)J/).EO&8:^V^TSC M;-$3,^2W"V^\63M)J#R_B/+5]DT4:[_G6G>,CNQPY%_-")XERGA$>EL_?"%S M:=WO.-5^1P!JJGCHV>)<4-9*^.70LA_PN+I?H^QZ0 +..!ZH5]2Y8X:I]<%$ M(:ZET#]#>XRLJV(&_HG9_44JW-3Q@" MX.[F,IW#G&#RX3*6?*A@8(58">* MM,UW:YLOV.UN+B+1?1<3.*OVZ-7CJE:Z^_=*>M%WS MXX ?R7QBIFB!EB@GWVVR>[8WW3R+=4:PFM:TR%:.('(S\U F&406$TR[V7.? M U>+^&E6NHUM8@#%VJG)=V*J=:+*<27?3[[C_>A'46)GMA":*B\0F>X8#7'B M10U -3?>T;('6E$S*DA(3/#'(B-BLU($ZZBD0[Q_4NY;SXPBF%B(@MK/N/I0 M50)&+"H=MF*J%5VY)L/$N:\T^N^5F]#\?DKRK$FB5>DV93+142)G72-C/>CD M2V%OMBM=H]K4%A>QI#.W.R]ZCW':87O1[.FZ)L%_4ZE6]\:]])Q M*X?CE@LK^71H2\6M9'5]<7HN:\FTU/@I97UB4 MDICD<3HSCWI;,$P]IIN5K1K-B.EQ_8F;P_E0M\N!Z M1F>P0>;7 5/W:B>,GD(R>('2#-2B',RA60::N@,C51,'-2 MMN,IIGKOR7?/XSVU-?2>MO'#I3$I)'HV3[O*!1\]<\XM:V: T!KS9JMSTM8P M(M8[2_@HI67]PP=QS\,=\YYMBUI?)C]\+(.6L34B;T2T;52Z]6J]M4V632XV MEL"H/6$\KJN]=PC(.@_19Z3."@3((C;U%+2S8@=G;>^_9\5PZV\"YDY)+AHG%UCS*=FR#:WE$[%>W@_W')')KSFTZ/7PWUQC/82 M0G_S&,9"'Z94_DK[0>ZIIX$9QT9+EL8Y.ERMB./M&EC-2K==U=5M;!JQ'-:2 M*&7F0>^M>,+E>G@GVOE$@N$K9"@F]C>@=518:I40+MUQ*V>=2 M2A'PP85H792344_*_/U.@I@WTOXM7,/R3(P9A=^3C-R620=-7J" (-D;TN[= M6VK/;@#5P2,QZ]6.,(@Z+8-W+@J142#RQ,S;(H(/7%@6'<0U"OIUM$JWWMPF MFB M62&!\IY:70\6H.T:E:\@ME<<'FW64Z_JXR:EJZUBW2>\<3\T1H37L-+/H0YQ:]"OJ M69Y1H/0G^59(95['[O*,KA)&I-,Z%H4'-U?J!5@I,I%(1, 5&>S-@[.<&KR) MZ4,=?=$PV"P*+'.(9 Z1N#E$ ]LEKBESB([$X8RM6SSI9>IB*HY'WJG]+#V& M5>O2]W02,JK]"9O$(?Y*W[.#1=_!XG:#(O>61 M83]D^%,91R= 2W]HLX6WM)'[+:;N54+<^'3M+)VL5;HM$6Q=Z1/M;[%M4ZSH ME6ZCV3D\5D[*+]J\K,F)6*KK&ZJI169.U6])D/6]U2]#Q2+/1:TZ2"]'*.SD M\'(V!$^]TEW4F$)Z/.NJ:Z&UY4))DUP+*6L8#D>U\KO/5(,UY:4!\M(H8#OE MX5,-"K)43QAP6]8L61-Q>)QP4VC$"732\ X2"O;?LU.9"*VX AO.@S@I5J.I M$5>@GT$*P)BI\JQG1OV V68 ,R8^($,PVT^"J(_P_R]GM+Z?4AEO]%QK_D+J MR3L8B&>]K:-W^6HZ(1(7?O"CI^])0"_YB=(YM]5YMU6?+[Z/"Y[IRY M;X N8A!/TA4!@<>57K;DK/KUM;_RG[^T=4W[I/3ID^VZZ#GA+AG.<1F&6BIX M]?\6:AHOZG6I=F.(N7)U_#'#/ M._S7LI^[G^&?-[Y3O0%0D?/&74(>(CTTXMM!4-@&>=(ZJVH]7-U]@KI M@X,1!LM?2778!+I2MG]@:0WH4VM*?TZ*]+_#J4-#*"OY\1Y M(1,?R9D:TLAV:VGZO1WZT@$.!CN3G @8 $\/RY,"8P!0E.%3T"D5EQ'VG.S0K&:5NDV!=BA M*V,2^UQD%1.*6)ICZR,@981BIQ$*BJ?X+HM-%+/_,U,>A2/>WW8T^.-10D*Y MS$:EJW>JK<)2X0^_UOU.X$;*H93#5)A4*$&L\]B59I2FIL!1>XDWGEOC\WNJ M/ S,\(5MA5_,TS" $Y878J!$M*((*[MV4DG02<6VY07;%-<+E D-E#&Q<]N" M)S#3'.E\LB+[^X*,[8 XEZ]C\!7L( 1/ GQ##$%97\+@Q@O^EP9W )BLR0&+ M'AU1VK>4@:.5@94VU>9"T,0DC<7M8:5.8"_'E!=5EP6;A]>:M12^F)0ZH=/! ME)L%0VCK6*-P=%A?RK.&>$12_LZ&OFE9S+@RL?4#P3([<9=#9?VZ#H;6*J"N M@SC!>"D41RL4[VUS75,J%M'?KG3;[9(<R^O[-8_ -]R)&RR.")6K^=P#5-W;9#&*)BLA2 %JEJVV][T'ZKE(6Q-FK5X18Z)6N(7[IIJ/Q9H66P(MH MD3V@F%@G%TQ/RRY_?P:^BE&!ZT$W-&O?KFY4NO6Z*%5";T]P:=7U FB=,+CL\GGR MB1$'YDD68/Y1,*0^57ZX)+1L3$F_\%R+NG[TBZ?\$;P<5Q^"%Q\"N,!KQYW- M[^([Y7VI[>7[4K&W*'^K-TL:X.S)S:S'OIGU (HB^Y"F+[9W;0^H\H BAAN' MJLJ5:RX7:E'Z?!MIK22X1U"-2N+M%U3,]0K:P KGI!K:,&=:^UYJ/T[ M] -[,(DNV4BNX+R&#QV(B]I99'4L_AO;1#?A"%HV%PW^>:OG"_%M_W9P!Y8/ M#(D+=\^U'F#(]@#,#EPN-\%XP27R.P"&:5/_$9K[XGCFSYEAU(B,+;Z3KA?$ MU_!C%(RH,8*?A:"V;MD3<>V_HFV^&!+V9]_ADV[T(64J$E\._;=77A:>\4(VO>0Q-+N2.Q>1J1;?_56QP5@#0_^9.I@>5U5@5.$ M+/60X5\<=>%X[-B8/S> 1\<>"P8 . __[-O>F'E6&+D3@0=6;O0*9<^V"92R MD\VD//."?XR%A(V+2D/L9"G:8@=+W 3TP MW3_1,^4V9,H%?. !+H"2:=4_Q2U& ^6M_#$9>V [LY$'$TC\T!"N877D$70K M;BQY \:!AS>-^!H13$8Q^:AB4L=!,G,6,PICXADZS]&;)E &>LA^TN!,>>2V MM^L!J[,YH,2\C,QWN!F.:MCQ:-@,)D(0([Q050:AXTR /0/X@!61"=_!I<;0 MB5CH07>@-:JD/X1S08AG5V"_%8N,<(SXMD5),(Q(]P#RB>D@^,08BTC[?@P@ M[)R")" WOKJ=(A\Y%C=)7D ?>E.-NHBM M,]O_R3MBC_AARP@^[\7U ["%1[A+EJ^BXED;0#^F# #(0$5\,*94->Y*_ 6V1SW*/:\CT"D%SL8*D-0 M5/ @N.)/PW$8*/[$!ZF*16(FJ6^Y!)(Q1'40<4\//;N8^+/H\O'<].0YE:D]"+USW\OTU$<7O#1 MOV@V)[!/8V+^!,!'W )N1WSF&@C^ZI,G/Y'2J20.J3-6B 5]MX'^+*W98-IQ MT7,%64]45.I;2!08+C\T!JCJ!_ 9PBS[+^PS*HND_S%3XLWBL3AP;0(BX2=T MGE(O0C;(P)#R3,"J\C*TS2$'JNW"YW$_$4<0MA%&VXY2[%9>4&$J?1!W/^+$ M#/>QWHUXCR.:)">?1^3-U-/)5K=9,XGNC":HB#!3-1U]<^VI0@& PE.I.6"F M\/&KSV"'17CW4)KPT] [@'ZJ73\F$<,*#1$P7?H4:6E=!:FL-[1/V,#T:KL9 M7XUZ2Y^]&*89\UY"HH4YNDH/S"E'T5I5P)!>KW)QBXT[W#QK(2'CD!LH-#]$.J#H MA@'7!4A-'YA%_<5C(@?*[PZH(P?: TL/91SM4E#]RE?JD!<4==.#.8G--,++ MT..SQPO.;W[8]VV8XM@DZ4#2L60VFF\_F9BJ* 2_7UPI?T#_X;J?O%=5KJ\O M<.I1;H=@>3I@""'"'9OT$3L3Q7S;?JJ1Z;0'\Z@?HN\$7R$*/WE/F6Z.[#V! MQ//-D!]2UO+B[5E?^]$NRCX-7BAUYX:)U^?&D6YS?NS*5YMOV$4D)FWS64!9 M_ASH4)RA0$IA8D2^X9S_3F"$ MBJ%%,#I[^U7;YW,*!7FD\^^2:5#7"UGB0'(9G=:&B3\1S39H2 +&0.UC[1%H MX^V7OX'(8TPAGB=L-TI]2I IZA2H8JU&TSKFRX[ +;_$<]X79YAK" M^O"&.: Y%USS]4,0/WQZ.[B$<:/^\V=!A>;;\(%@BBS;>_\1&0@T&4_Y5#&* M*@@&"$.,U4%*ZOQI))#;?!['-"HL;B%%WAKJ39B\Z)@+5BJL \:SB7;SU+_[ MX7*UQ\.+,Q_GQ]D#B&VO=S=5=(SR/1L^VM(PYXYBA3 B/^F,TI$A#Q/#*#I] M-)Y]>4&IV)M$0P'[-,(N<5$F\<8Z=Z9\<>*>R3F&0I/?F62(S,S%EAF*1AA9 M*11W6Z*;8(5L:HWR=SA=>,FB,Z5G!F%*L0'=8-*S;!@ BXRL8 @6_&S )9SF M4X'%=Q@7.4T)HU,<3,5ZM-8G'^S+0(GRG?C"PC-Q0LXLK!GA@JD$\RQFEP(4 MR&N:OU7^Z!3>44"AUB?H'T4F QH%5OHY^#T@-IM](WJ)?]>B_2"5P5KE_.8F MZR#DTQLO9#$ ,S =0'IBWDLPY(8_O&)A,3+ 3O)W@&$3G#;X!_V4_YVF% ?7 ME([<<0:YH%&O:8PS$[V;Q+" GCL>1KEAKK%B^%>G;5BI0?H1)<&V>K)QE"E1 M>?(\ZP7\["H"'D#\5Q)T 81:L6W-00U- R'!2(4OQQ$>#%91AJ8ZZ@:&9EPB M'M6(^#$CT 2"R[SI:CP?/R$@$D,A^BB7C'X<,\67^K%C%[OVW"SW^9,P'P/Y M/;2_R6LIY>Y"3_Z8(M'1F"R0B0 MS] J]&?6+/!I:*.;P]TM1 8#G]^DL4\$[8=^AB!P76\'\#''AA$G[BL>10#& M%\(W"KI@+TV;F>$(G09S 01O5QPV64QYLV0RB?[-6#9I9:Q3M!:7301#YI)5 M"QQ[5)%EMI2T(&!1W[J?^^QC=YV5TH-)FZ;'TK;1*FEL%$2!XX'G!9A$PE6\ MX_D\@!(9&+RB4;R(" BR#0ZQ&<5> MYCW6Z=PY*QZ0* 7L"5'>EX>/;U;=3CMOI2/KJ0O0E]VDH"Q?7M8SEY>-RO)W M4*F+J>)PW4N94,*BF7DS;1S+1QE]'"BI2:QON$& M9WK26*:P%D,_.55G9'&"P<*7O;C#.G4UJS-3*;%.T_&:2%%GZ/%HN%SAX?,4GTUV,/.OXN66]488$@]48A3.G?(#!>N!J\TAX*O#'_6A\<;8IA' TU&[A\N+F7\=.C29M-"HC&RJ2'.CN^I%&P3L4>:8DC6>S<#C M#[DM&AEK5AQ5^'?H1DOPTX67WJSI->;>C Q.'O7C(YDQ*@MFO8AY]]P]1W/T M&[!8T=3:?V5,V@,;LX2Y ,7 ^PKP'O4IF\.>4<5E2;@['0Y0G[=-^RP$68B> MUCLQ4M-\FNO/-*!:3M=E._42Q*FY283E;8 :'8GLL#UWRA]Z_WCXH3PF2W'\ MVEQZ"G]@%@[O,8"@N9#,8GF(J:G#"9BX +J"V_3%CI?K'J*5Y=E*]9>'6:L/ MIOU !G0:27_;A^CV[/F%G!KER]D_JIGK&1E=>PALQD/+/W!]T,15E'=7+%#) MS%8<9KU \L9I#-"AX!T:\H=FXT2Z(UG0F#)PNGH79='[*9U'<3W$Y8"( MU$$,$%SK+A_PKR(]XXUM=QIO2H);U2FHI]IJ^RDX-=M6HV!)5#\55S9<$(YH MSJIN.S_/IH+$<*].9V;\U'35)(+/+ 86F1J9CTX5:S+?Q&&D]$K-2F\G:3D* M IP5@?&71@3:.7S_ SGZ\2C? MKVY3&N%,AZ.2@?"8%"KP&>C0E@=$K93-+\3AYMS#D/*XZLH74B(,R+U-R4S. M5W$0C XQTP&D #?^YF[B 5?/8?X$O\J/S2$%RV8%DTB"\_8(!?Y;'/3&?',T M4BT\:XKYT>)HEOF5GK.CJ%ZD'?BYQ40!<0&%,\7>(+83,53H/MO,0S7R/ZE+W@\^9K4=L$ MX_%/]&W;&%Z-UCKB92)*S.%T=>B>:S5NCJ<.2TIK[B@BFZQ$X8*V'ZWBT2C[ MR\7Q &-ZIADF68VW/)*Z")[9"MW&$/I[#)XB(ZP/] F_=9^LG:T(L'9*&4J- M!SE;(2RW6GVVZ4L4Y4\G4K@67[[U^9Y,/_8WGS"A#Q ^Q#PVCV=.F0A?T,-> MR$R:O(?F4]1DVMA=NALT(B0&?O[E1[1]=R/TU()/=SNXG[84,VF^ MD":0R\2C!E[ K8>98[J'5)U"TE K71#$A3VDRJR/2MQ'/M858P)B_0LO;3<> M: 57XG./17MW+,A([-OAM1EA:V:)OLFQ >"3IR?$58 Z&UWO&)?$P#9-YG=C_Q;S#:;"_(([>-F(^G:AJG>LN-S&,RH MQOA,H$J^#GCK9B_%NZ]>;9X@EW"A#32>+?N<92/]A8C$JWH9\M'D ]'8O]_OFB[Q:G MXQ$.C"? E.5,SL#?\R/OD*>,3ET&?"(V='C$-WX)U0,^&&<%93D,'#EQ$D/L M_J1:GNT4>6< 47*$PR4R<8(P68?GCX%7Y MR-]Q@;/_/WMOVJ4VDB4,_Q4=NFO&]1Z21B"V=#^&Z$-B44@0(+X4"Y;2+'X6R?AAOU/3_D] MF JM>^($? 'P?XI<0H!PB@VCG1%DC]Q_'AD@"?]#=#T<^B!-4 _(!SG!R'XL MLP5+\"C,FR9ZIJA98?T3:!@,X6#>9(Q<2UY3&N\:R+I>\%!^VJSN YFAUXBR MW*)J7B*6,.8*V_R=UQS,H;9E-$<%UG+J:(YN;C2'5CE?43[SQLQV!_VI'WRT MFO%B!"C/HX!=]* 8H#I@*C$F'F+^-.=L@IUQMH3@\P)C+K@;U^!3(9+;(]-1 MB:AS7/KZ5!V>B ,6#:&-4%90]BOO.>C#FU,3:X* T<>-NJ^82O2A" Y2!;)73&2[\'A'!Q[_%2K.6)8*N5M-( MU-2&>3(@[3A.B8]D-CZIDQMG?16\/.9&)YAR\D3: [^7H'024M022I%#O\ N MU/9/ZT*Q?(>;]]Q^ =IY=/'.(+K;=\$J!J,$F9"X*8EO=L,;7:XPDJZ#UQS9 M&Y7X^JV5U524@O<&QIQ-,Z#?(0 MVHJ7 _%F;.U1IB%S<1$BJ3L-3DJP6 O/M9]O_$2<8_8V_04=9CJ>#F8I>[=[ ME=PA:&PQT81K.]02J;6I@3=N"X_=AG]Y'=80-&U"<_KHM1A,J):H3JT4121* MY#_'FE:KS;4M42)1S"Q^;L%/_\@^U[16MZ?E_M1NJ;G/UPVE=EKM8?XGZX9: M_UQK]^6B3K^HWK:AJEMW9UW)*W'(K[4R%8/-E_EW(]KY%;&^' MKM 7"8IO7(RDMG\(2F1?JP<$[W>%]XA[K=WB' M1U=.17#C]$PX4;H\;@'?;@U \U$H\$8) 5>OP\!+L_*(\>)@TST*;-048.H' ME5TP9OMVKP=>NV!1Y774RVBL(DQ_Y6[MD72V[[@(F\MM2%&CK@TV1:5E0@E2 ML02=K?[-KY%S1(WB S!G,W16]!MCM5-2$X>"0BC;Y*%R6/O3+ORV2$<5B>R% MD+U7+K(/ -DUB>PG1_8=OC] @2T%S>^PYLMA\/O_)/R.#K\:*FOY[0$KS0DB M9>W-7BB]?^&[J15@M39F-LN\-FD">W:R;5Z^%14T^F7J^D,>037 M:5K]5HY_[:?)2&3=%5D'Y2+KJ RU_**1M89J3YU]5/=E:/*UH/RSVBP24KNZ M@JY I@Q+E2E:&V1*-H7K2,UI*\?)SNJWO )D'96+K&H9VOI%(VM%%*"=&SBG MVF>.=NB>.3I!ZMX6P7;ZR=-@TA $%D:BAQ'7!1*T*AN/+B+0>&;(+"H7%8:> MFYC_CLEM486W=!N(L X/AE,'KK.:3K)7W/>7V3N HK_\S9RR#W%RAUCI>UCH MNQ^80:=;H4;LO5E^%3W+,#-9-'G*1H=KG8HG2:Q/^N0QWY0Z2<'941* EQOT M'[5PB]ZC7GB%\P5N"R3VUB)J?*"V1MW\GRXG%KHK8Z%K$@14]9C''?TBP 7. M!$#!]Z.$'".IW)82CE8/1)+1=S+Z[A#/YBDH>(U;4S2K+BGP;@-67J:UWVN7 M:^UW&V.M+-?4SMSB0OP IPBVNSX$5\M%< T0_ AA=E>!X#64A_L%.)U/'@Z& M[?_W\9WRGO< WTLJ7LU5?Z]3+FOH-<9JMAJ=O.J7<2EE(&NW7&3MR[B4>DBK M]+7,0375-SO!?V'.HZLOYJ9QA\TTJ>!6CA<\IY6E5OU6EJ7YQM,57"9+Y3$" M&Y;:T957D[!2*'[.2T['K53"RY&?I6]<^L8KHO5*WWC5?>.;ZDB>HL0(53,- M)<7YKM0;8\&&3[.$?) D&7[(W8\#DWZKM\.*9^_7)=_5O M<9\&:RB=S.K68\D[W M_*9R-W-A<W?TL[V\VLHMR\XI[F%;3DRYQ>7]S%&0M-Z^XAVDU0XFL MER7!ZA9]1SV%#PF]NP*Z+S?WL]=IC ^641>=32=3/_?'U7)3/WO=QOC@>)B+ MQM4:BJBZ&5G?D_?UA]A3P@$@;M*[@(-3)\![>7("7+/;IE]N#'E/PXSQL@H\ ME7%LE\-PCF; 2>I82QWE!J#W>I(Z+EP<[U*(H5^E,+I7ZL_*V[@U[Y+IKL(P MY$9)=B81_=(3075*L)CRR@"^ISPQ?^Y,8<6/2^H@-V4^("T@NT&6^Z\3MP9N*/J4C$&M=N":LC> @@@EY$"!UV[90'7FD MCH7)OG>IF]&=>A-6"@?6=8RCV%"\^R6XXG=P9NPIT9A.GSC/U +PV70"SUK" MB3=!;"%M)4\!6\-C68=$]UB7S2QLY2T @BUC:4R$3+13@<"Y[1IKUQ+V@P L M10R*GO>L@H%I3058M>(%BX5E @:(+HSP+L*GJ&I0;@)*KY^;@$*U M.D0+<>231;;;+76[Y:8P] :Y]S4KVY5]T',1G_=!5V4?] JLY=1]T.O2\?R. MNMD>FP>7&U35&^;69OPI; L>=>U=Z$L\R9;"=QDJRD?DON4&U_1&N@$^B[2?H+U]=QX:_ K@0^[^"36HL^9_99"7T3.VJ)DN M4CL\9[A]/94YGN/!&05J.@_O[L$^D#( HPB-/G"9Q[6-B458C$:CB3H6)98EIG+9GX$)>G;\ M(7P'5B.H7X^*(XQ1.'LP.R(=>W52;&'/+1YXWP33%V8S_-<*4MXS:![,(W4> M_O:(/=71U)SJ"Y\>;ASSM?((QH1K4U=V'!__Y2%,\_8N/L'WHF$?#&?!%!4? M_@/FY?_L*(^@8=IS,.J8\@CV!WLR/8_L7K1SX&5">C*T$>UU#^!":W#9PG'] M$&C31(J>CL82[!#F!%9EFI04J;#$3BRL=F,8>D\M)O@%3CH%\:]#7@%X?,#Y"=NZSX, M9B'WXR/ Z7O!Y'>TON#0#.:B[4:*NC=WK*G']P!((_J^\P/!5W5W0I@Z\YB8 MPF4V>Z$UPU]A8>V)S$K_"!^% XB($B+P)#*^$RR@0786;'O 5\/W_P=@&IPR_K9A/6'Z:* %.AU MI8,&B\:RF/T8'T5R[,E2N-8"E^CV;K%@(.I)5< ?WN'6YLH]GHKI9UA4$ST$ MW.:'698*D&K @ )>G,":(E)PQ 9+*!HQ=)+!63\#,(#.84#4%,CSA<@,,"*) M1O2.R'=G@SIJ*=\X@:REO$YP6C#HOT&T_9_=; M5Q]A^"+MM^,KB^N$TC*X^X[S "_^U+%A9#$W("G*"^$C2CBO4K0#2(OX,C/1 MPYCV+)J>8@0N4*D/'[%GW4(U7: &Y^QY"(1Z/(#Q/HD6[R,Z?(CI$%E 0DIM M\2_FF\6H1&VW2; :><&:P>HPI/.P0C ^.;W^149PI\5U[NR?Q934=Z[KN/<. M'"EIPCG*J)K-G.^KV S$ /,IDK(,9_"4[.FM*-9Y9A]-5 ^^F[A)V-4E M]\(BUV[HJX5U$[R 4DU/5!]&NR1!JIQ)I'ELGE!K*0_ ,4A@6L0S@$(1;>$) M^FR9,M>G*"*1MP#3@)%!KV$6<[D+VP3D!_ 8V4'H?BE8'X<)8,W@T67),%G9##@,\RC>$X0Z$P5_X, M@!^#X@&CH'7)&1*'$G(QP85@-O)-<'=[ZP&VSX!5<0T3^Q%2K&+ZB;$)\2BTVI M\G,@.0?S&*SMTT?JQ*9K0YP^O)B@V6*M?0-]F3:)V.A>A>E@%XJ#PEEIQ2ZY M=U&Y6#CD'Z^?IKI#&1-^/QEA)7+"E!+Q1K?(K'F8,^:3,C7+.063FVSNE-XE MW>GNX5[I]-J[F5O\N%4BTHXO6%+U3H77@FGDHO2-@YU2!D-4$\@-B*X<5/Y^I,W7- H\\*:9J_=4HOI-=]4*B?'J M*Z#5!_N>(U5#X6[I_],P?_BW=O!T,W4HA 0'BN[DN[$=TFV,^SVUV6V7E2%X M0 #XIA/;OYMJDLM*&I,TEJ"QP6EH#).3FKV!I#!)85=&8=II"*R'0JS3'%:A M--D6$CM1\NQY=5[#")X"$?;$9J9AKK>7+K/0RZO#5#T/-@!_R]9BYXD9[W07 MTU&\!)S?HH)TAJE V2PM$4C); O%P=!^.>W'U"HVCXG$D[-;G(_9"]E7]_]_"& MKN9Y$,VPTVXJ1TXDH!%O4>4WC1T630=(^*!\B@^0!Q@E,.2P""SV*SXSC7$S; X056_.568RV@( 86HX1*ABU,=$]4R0. M&+KK4A@-O9@*^A+)-?GC\S1BRF77O3D/',*_8/PJ#(7O-..\')B:P6/@>LU, MLHX(-#<,%R.(+%.?F):(_UHL7.<'900D-S-AAHYA_CR0 !Y[-9-"[^Z@0!]LR1+3&%K40,AB.GH-_@E 3"$&H889V"QP\Z;R5/VDJ]@R =,!Q:U M2[%&(I/#PJ@MEZ<28'@:WEHQS\6F?)D5(QDR",^Q'#"8R1'@@9^N)/<-Z^7Z[<(J8?@.,X!DQR'6>8!FV_BC2 M?CPO>%I0W$\Z2AM4(R5U,D)::XS3"5 M..)<2Y&H0EY23'#!5X3U&!9>"84>IO,8)@"/HH8]Q0N,>7-U\>G ]81VSA<, MFH%8<2)D/^J9E^#$_/6 XKPC61N2X^N2$S;3& M#!8'*B6F-T?>SG,1;GS,P^9[I6TGA"87NA0-#OST+\8#;X5L#T1&$ <'SIX6 MJR):\K:&T<>A6D4QO.IKY4M6L<&##,.WA1XE%*A7@3(H4/W5^ M9#S7 F/)A=Q-'+!9R\S"4 =;#[$P)1C6EH975"HH4N547K/(A'7J;CZ(FIE! M(@!SY8QJ9ODA\.%C/G_R^/"=A,J*I(3%LW@:@#-Q>+++9)E\2=#N5/=UOLA@ M@NF@F+YK\6S%60",BA17$8(]+(9I^DP%!]D M[X09VSP!'>@44_XQ;AA&]M< O58&^OFUP=K*0_ ORB=$_D#I3)Z7 E>B&I$//< M]'RVL>ZT(OL@3- SN9A&)B-RG4@:APK$+KMHH1&'-4)8WPM@<-:J4V98ZC4L-0,8-,6,WNF:=%)R$']9B+77,H"%9@+:>^ M$.PV]B[W$46CW1&9WMG3CS&1"N_"](O]+23"-TB#M.1LS-J@7]OZ'RM58SP% MG5@@!(3L7E^X: UW*\#0A(::QT3(61OQ97XGEQ?(LG.QD6J5+-B^ MV%J40=&T5K>WN2)'_2N.R$7MNJA>&;59JI4QM;9$0LC70NM4VZ'$1+WJ0(B[ MYP+[VE(@HX[;[USW]KO7NGWJ*7K!U4_6\354^6YW./0#4G&WE='9J[FS7-FY M5U92IC1/PFM7AE#6. I7DB[V(YE=DACE]Z?_OB16SU%Y5'%4_N38;!E'DO$L MH4-ZMU]H,9 ++?DQV%+S SG=G3W%_[V+^5U.IF?1!.$!)IWWFYV;WOS%7">/0H:-\8TD#DD.+<4/CT(<(TD< MDCCJ0!Q;JA8>3<$:MBNF8%V5A^ N4[H@4?2@%'=!+:H5Y6/:.:Q["2X)+@FN M57!=E:N+.IWQ1K@4:ATSY+WJ7>ZJFE4/$0KI+\,M16%#0??><1] S,6=Y-ZR MB1__J[#ZHC;&O>9PE.VT7ELE7V)5C%6C8V#51HMQV+DHBU$B4X1,P_;ID:DK MD>E"D4D]D[S3JB7O2K76JZX9WCON@NJ;K)8GO+)"Z(4(I7-ZKMLK@>O*2M55 M1*;NF;ANOS$>-(=:-N-18M4%8-6VAB9'8%$#R:(N%)FVA XT^_VNQ*I+Q*JC M7&AL9%$C5;*H"T6FH]QC[,"B.M5B4=?0)S&;$[B#MGV=#52+;?YRV,%HVTT4 M)5B6$-PWZ@+]=YIJ[^#K@D)'=28OA"0R260)(MMV0U<:D6$G\':SIQX<02N) MK%KH)HEL*Y%MN]W;C<@VFT4E7N=)TJH(DDG2VDI:V^XZ2Y-?V"XV,G4"+,56M7H<N0AZ%_+Y: M-4PJCL<'EZLZ-VN2W\LR4K*,U&5^?U6!,K*,U%57.1B=JXS4:- 8=WK-=E>K MR$VH+ 8BR60]F9RAC-1(EI&2Q%$+XCA#&:G1906/2N*X6.(X4QDI6'G%%*RK M\A CQ:6];CN5AL.D]!'JT]K!:3NBK'H2S( M4Y1*3EZ11VM?UJ6JQ*8$-IVG)(^F8C.;YFC4D6AUD6AU\IH\FBIK\EPL-IVG M*(^F=JK%I"XKEZW\HCQ\X9F<0)F-?2AH+HB7J">JZ*.IW<:XVVYVVF69E66< M9+7K)4CZE?2[E7Y/5"Q(4[%8D-KL]_N2?B7]2OHMBWZ/7X=(4\NO0R2I5E+M M-5/MB4H<:6J_,=;4YO#P2)TSTR_9ZO_PT2L!_Y^:S^-P0Y^#)S@Q8_Q/>!@N M_TEW'TV;KZ-#-9+.8GO/F#/F4H49G4Y9<5S%,O6) M:9%3!5[U7_!M?\Z4&6" \HPHH#PQ'1& HL$M]LPLKQ6='8$C!8U5A%M%L BU M/L8S?^(S3+_8W]#%X\)QO=$]T_O5=B8 @6>$_0=[$<"@,+H!7^F(2-]AFC>6 M8_P1(]V@H3! Q05,Z+L!:U3S;("4+,MY@6TJA%?*PF4>9@41Z(VY;C_"?*:= M/ 4X-80L?(/G '_U3$!X@D/J$/VY[BNZ&QW;5 D\G.@CGIS2A5$!CAX2,TWF MSUT&[\+(_Z2[QIS3:%B J*5PC'K1/<2EK0M9*@Y,XNLV4AY@&ZX^ M.ZRV@D<;CXH#*F02G-KAR"Q]X;';\"^OIZ:WL/3EK6D3X.FCUV(PP3EZBPRQ M$S/@/[]^,:?^',ZRW0(T0.XJW'1B9O%S"W[Z1_;Y4&T-!L/I^1?;_"7I]EN"^"+5ZU.LT?UF^O.,FN6E]2POK96%BMN2 MQBIL%PS!+FAJO8.=<86.N<*7=.=C-O>D:*[HF2X<_:,-HTSQ!YN!SN]X,L!_ M$]EMB7;&^2^Z:7^$X_A@&U8 NL\'^YWNHHSPU#Q2&S7&@TY9]G=% M@B&K2TX)V0V&U,%26WKSC@2:2V(]6T)(*R'Q.VV>LE>RQ*^B(Q#_S9TC <%Q M!_?3^)\3%P=?XP@1N*&AUV+A>":.>NLR"X9_9K&SXJ>TITO IAU_HD\ $H&_ M_I.,)7AZ_%=[L"952\,B^2AN#-A1;9_>X-/SN2ZT%JOP>>;\Z6QP,[ MC7AK^C"=<6B=I@/N,=(!J:N!JX3<.2?6*7 _<5*H;KVRN'>>8.;E?_QMV%$' MKSUEX;C^#(2K0_=)62#S@L/<:1^!B5\7>#Y="/C)BY#;2[L*T+16MZ>5,AZK"[DFN7L"7HP>.S(E[AW/+^6.*!>2HXN#WB^NXWE@9H-=8!$0CP:[ MR\;"=Z"A/.F^P$+T/"CD+BB+L*OET"KIIG;76I47@B/HOUY_EU &@5T8P-#9 MOR&+?@,B79"[?8W4VV38-17T7V* $MHI8,L>THIJ+V0ZIV9[KC 4 MOMWLXNWF<#2H2)C%"=*-)+U4:6^ET,O$FGGKB 7H ;7K7R,/"5IQN=2R,9>O MHUU4O3]))'4BDE='IQ(A4F(J0=,]HI(L-?0:XVQ 3,9E) E!$D+UI$71P70BB^;5"<'VU]FS MLC"7VU 5["BJS>Z!/465V!(+Z &568DZ=^,Z)M+]NFZ2:=K!CK5XU.\^G M_957P/U:$O^V5+,]ON;75;&N[5 [N*YM==P)$L&V(]@)O+7=,AI!2JRJID:X M!UH5U B[W3R#HH[NS0O'G%(%WK$U0HU+.^D//%7>#Y9P5[PY*"HW/G.?#G$# M'I"W7F^JV5)P\01*8@_(IM?LCSVR_,H2GRK(KX5 MTCGW0+BB&N< $"YK!Q=V0DIDJR*RE2APCZVD#KFT'8PJS_TNWJ-Y0'RYV&KM MXL./!8B] ^TE("4@)2!/"L@+\DOLE?IG.?;C9G_%8<"H1?[/B1.I)+@DN"2X MKC893\8.G"]VX+-C&^O=(J/&>(A5]"MQ8R+OXZH9'Y!$H9U#!+2V#!&H#V*= M*41@(W/25!DE4 OD.:5H,PPWP,KV8, QS[_#0KUW6"02:ZO#._Y9MVNNT3.:1DE M.ULDGU>V7X-/5YI3JB.1$ M]19Z;5*O!@<7-Y*AOK))P/&(1#VW&=)3&^-1LS\H*UBU G$N$L&V(UB)>GNO MDU?E76)/-;&G6+[7/NA3L$!7K]L8:[))0/4QIU3!=FSM3^-2+8M8LDF 3/2O M!(%TSJ[Y841T4]-D$8"K0K R-;\RBKE*[+D4["G)Q=D;7)2+4V+5[D+OV%KA MD$N\@[5"Z1.4C0).1C7:V17%$:7==(9E>7DJG24G<7)_G"Q1M^QCFS^);Q>, M;X4\D7L@7$$_9%\MQ0\I<:V*N%:BO#VRCMKO"&$[K#SS6Y/7TMN0UW+&JMW[ MCBQ75NF579 -=?ZBYN=*3Y#?7UL2AKPO.M]]T<8"F?UN8]S3#K;TI?^U3DAT M4&'H+ IIC;&\5)0(M&O]YYUOAOH]>3-T98AUTN+0_3[*OH,-;WD[)(M#5R"_ M1):N*\&[5W9QZ/Z W'O#;LE-MV4]2DG4DJA/7!RZC_$DDI E(4M"/O(][[&K M0_='95[^2AJ6-'Q9-'R&^_.BFO6@+33K?LT%\D46AQZHK5$W_Z?+*7GL%>E]>]$54"^E4N=#CE#0XNG'JJ .G+C>)#V:WC97LLOOTY[.AQKLS,9_Y$1O6=0HQMC&L8 M=+'IM0S)ND(4VI49;\8?339-/W5NDFBKJ0: M4)B8+[@CJ]C0Y^ )CL_8= F7G.?WP//-V?)X*$,CWIJ@(IC&#DCT[L_ ])>* M:3\SS\=^-[$]MN5J\:2[VJP0S9ER[SS!S$ME 4,X4SQ#*]R5A_YC.*F;1"@Q MX]N.(XH59Z8L7/,9"U0;-!8^?#'QWL97=,5E^A16#E2$R92F3:/,T"?_C#YY MQ7?@<^?)@<\G@0=+]#Q%MQ&AL>;UHVDHSN1W!J@/*VHIN.+$W+H+D^JN:[*I MHOLPO^5F"Z>2U,Q9S#BLJDL+/C!<<4;QERW'V$,EWF!Y0..*S-8 M!\P&P'RF5<*Z#%Q.^"9ZTY%.8#>P.-OC!.DA:0/=PE0(/9S ,^&PT&9/O@5P M\G'UP#\4T_,"YM)VO-2&3-NP@BGLY@&. _Y]=Z,2-.YN.LI7E\T8F!+PH^\8 M?^!RS'^Q'P^.U50^V$8K"8F_%TL22'.YWBJ7X[@><[/?^.E^XT?[-G&R>-E" M=RV@SP2[^J#Z,=L;%$UOT*JR\F%CK+6RW#KS +#/LG!?B#6($)SP/(79R&@5 MNMGE/#Z\WB4,"'OW?I *X$A(T'8TRO M*G ?%<68?D56/L2XFE;VFF,]QNC$1(HA2"LME7!L! AP0)W/EI!30C9H&*^R M<#P37[AUF:4C\XW#5%"#2GPE5(IV_(D^\1#/UG^2N3X^O?Q3>S^ANWL%.HD_ M<;EX4N:TK<\F@VY'8WU-TSNS"9MU!ITVFPV,CM%N#_\76\>(C^91T8Z%_LAN M)B#\_K@A1^ZM;KWH2P]5HJ1F &I!$NJK %L+EMGL:&H!5T\ ;['I!!XG*),@ M\^ M6)->F;4H2YT \]\@,2%?3QWEGOT%K$YKP#9IXM^HP MU.-,&R7_[0T^.5.\0Z_%:3[[YS]3JO8J*UQE?1] Z[-]QUV^-3W#B(K&/ MM+C=U8:1X9%7$1ZY4]A@!2/ HO#(\KJFUPL (7EG8""C0^L?WY@)^3T(L2\( M*MWKBO#\IK\H&.?JFF#+RKA.&5JV]S5&I$P#2GT*,>HS\[_,OC%TAQ:_P!AV M@2*U9K?L?/Q:WS=*8KL*8MN2J'<$8M. V/K-CBI#-\\NE']S7/*[+USGT6 M-CL1.KPW;=.;LZGRZ#A3V0'[<-X: O07A.=AM( 5N#K-KE96=Y$*Z/42H0HS MUQ(1BJI -=5V65JMU%UW*AQI)F_NBLDO&5=[7-!<#CO953X!!RG,-[#F5+>I MJ66U(ZQZ(/P&ZT 2K"38T\K_/0AVU.8$VSNXPM29"79-L'LZX"XO_'VW0+-> M)PHTJV6<4K^D.*6/8+8S!HHF5B'_R'2/>=G GU$G&Z*B]\B>\M9\>=]2%/?$DY"^W4)! JF< PUSWE M67=-!X/\PP-2+(2PHC^ZC%&2!H5=.[.9:3 %5FRPIO*BNPS#"+#K$ZPHF 'O M"5SXF =7+UQG&G#^"&>L\V!^F.N%61;^_YG-3<-B/&O!H?8[F"2QP.E:RI? MQ10("P[>QQ0)6H\'BX5W@9L #EMBC1A83"%;*4@"9(P;\\?-W)P"_=[B\70; M8W\.^Q%H@1D4FY&X,]P%C;_#_%]F&"")S#?%PW$1M]/ ?0'.Z3$[1G.M,686 M \X?5B1((RZ!9*X_,P#!DPZ&870@.V^VUQ@[=ME;_1:N)MKX;MOMPW81^_)W MVU)^8PK[00D<@($<4?RY[E.:BNWXB B>@['C2\4 &0)KP!U-\"OF&J;'IB(' M)7"3<&HJKFX_1ADJVT V. [(;/:B6[O#"HSW9*F*55!]B;:XT)><,L-(QH4+ M>H*+.4. ']2W1,$ 3R"4Z-4P=X+D,6XQ0%C! QX?O(P0;0H4ZC'XP@&A36^D MX(II2HH.=,SI-G]!.!BL!'D+A3SRMS#7R&LI[V$EX5ERVH91$=\-AKLW;8R4 MP=REQ,D"55@(KJ;B!<8<>0CN3]$GP"!H9A@">,I<8;,9SWP"6+@,N!#?I$]F M^LIBG1?$'@X7+^0S+>5?G#OE,:=5+GD85P*C:P:[VQGMNNWC,*5>N[T)\_)8 M$M_CA/DO##C9YHWVVFJ*O'"X,C:Z'TOJM3L;R:Q^*8G(%V:DV27PDG)0*%70 M!=RFV,X(BU%F&W,8QUTV\T7P'N'FU'9IY9CN[&E2Y<0C@D<8*H_9/]]@@?DA MZ+UV-Z-SUN$D4+?B,=X39CDOP)8!]L06!;LS;8Z@J!GQ$YKB$2&'X@,C]P6V MJS\R92K I&!2)QU3YI4\%2%B]$+)^X^_#3OJX+47(H:,<9FUXR-]3R+] M+DA_HO"::LLR[OM@ATBR"PSVW4=>)9TU>Q)NOS$>MLJ*(JD[>[+JU!5'WZNTE')]JJ:XK2UB.1T&J,J2:OXU0#$M,'MSH^9>W2#,8]H< M8CA,9VVD1]E&P%6=GW:"\QOA^6D;S^\J]=EM'&='_?8P,-4,7XO(_KVP56TW MQMW6J!1NLXMZ=U6GE^$VI9^>FBHMNI[7;"ZS7##.$=:'I>C7W&FKV;)J=;G3 MQB+%CLUC9F:"2[$?"V9[++INIO@ZY0G&FU-A5F!PZRZ9T26OO#"7X64TK[[F MR2OFR[MBSN=OX;D 9;'SO'6-W6^_$WE^XN3Y#LF3.GT6N1$_*K"KI;G)F^5] M;I9E-]UU=\XUY83U+W[P926K@4*09=TW68IJ0[G[S5E[:<<(ZOO9]+R>BET. MVP=?@\@Z;M5"(TD\6XEG2Y+Z;M2#/1Y'9=5$.37UU%"JUZWHQOMTMD.^5+_6 MF]/=11JE;$2PC"C2RR/)7F/<.[BHC"P!5T7D6,.RUV-'LE0!)1O>_,5<)P]K M^HTQY9]T7E<:=6K(LNMFB#W,'=>_H:NM0WGV=10/VV*&$#SQ-F2C(C5HC#7M MX&;9LKA<%?%CBZ:]&X)@"[YVM1&DALRY;OHT+V*W6@'D8*WZ.F+D"^K;60O8 MN[.G66HM6ONQIXX:8[79;??*K0A5S2)M$@T/U>R/AH<=;-+9[(S*LA:E_^;B MC(%\1"BRU;UN"JM'S8<#XM 0UFL#9 VINV[:Y+]RJCY)Y^R^AGX(S4UF7$=M MC+O];"?U*OG8I'OV.';^3OC1:8P[%7??UY QUTWM^IXH@G=(((PL?7TDT%P0 MU]K,M!+,JJ!QV47CLM\_N.QUB<=6[< ;2:R26 ]4,?:G5@VIM=<[N-=7):FU M(AK+YA2F_&+ZZ2>)9!N!0QIFQBP3M0>K$GMIQ./DG_.W3A+X9'=3%RF_W&CSV"QM[KUHB\]/(-D MII)IWR0!N+KWM3N ^!1_!M#(MTU]^TK&^O;]8AQR7=+@,S<7-\VG7"HR(S#B\LXO.9D MLWJE2,6).92'^''7V@87698WCF=>!XQK*,5#3/K5*,PAC\IB9)!?IIS(E).= MVR)N5.N^BE8@O,@$P.W+[+V)9NR_J9I$06L75--.4QLPTPJDLVG1 "@_+TENE=KH3%QU([?0D M7!2KRA7FHUWDHYVA5$NO$+MVXJ,,M"T3_*\1N79AI!RILGC3;XS5;E7,F&O02+_/F/7N"?]5F(CHRJS= MS]Y^[![4*97I&F)7+C=>CU59Q,&*!5JVE-G)T>8:O+Q<65X 0P59J3SK5L#B M/E^)W!I9+D!F()]%MULCI0I+(RP>T&MV#@]IJF0^LJP>(&FW>K2;JPD4IEPJ M)*!UZUY(8$W"_K8$_;RD_N2_,7<5(;4]>[K7:VQ/> VW>8.T>JL.0P+&*'W; MO[W!)V?*E!NT%'[BV3]WR[@F=^\=F#Z^]U_,FKYWW&^PIVQVM=;C> Z'P*9W MOGB&XZ1SKOE0RAS&HE:H+HRVMNULF)2>DX;-!]\Q;9PV\6#,V32PV)=9=COY M&>-:-DM]8];S.3A/'CP1#)[I^:B48JM9GL&-Z9(;DKWMJ?*6&>QIPMS43UW9 M:?9J\[XO*FFX2.O6BP1 2-X9&%QS%8 +:J&Z2\O9:V\L>PWNJ8>YN5@PUU- MR!ILJIBP N8^FP:3A0%D4O)^ 1\A3GTEE/I@/W"$*FR7#AKC47/0KGY6LDSY ME]15*G5I)Z"N(5+7L.QBK]6]@J\T2;S'0#>PN//\'5=U"U]>T"$ -..[R:.# M46/<&U2[?+N\2"^?C:Y#D&)!3%K_8-^YO%'?W8MI&,%38.D^<,PI6[AP M..3LO;)D@7LZLZ[;+TD//[2DK2<*\6 M[_;@SOO@G0;64[/=/SA+^NAX=PV:<>3,QPMZ:BS!<+-/"\?&1 UT[B]<9QH8 M5Z@NE\VS[^SI-P[A^PC '^RO$7@+4Q+5&^@?GA\KE>4*8M0NW+ATC.H31O7* M*IDL5>4=H_WW%'HR'/A(H+D<-K*/&\>>YKLZ]]'V!FAWC]IE52VM>HC_!AM$ MTK2DZ;,9:J72]+ Q'C0'ZL&IV&>FZ1W:]=6A"U^!6^:3&? MB<_UZ5+Q'67"\*+$"V1Z+T X.+B\B09D&+IX](H2/U23#ID+,GL)7ZQ(&,+RR"0-X"V9@ MPTMKV5II*YC;.W/'U)MAO5-OAJW#,F_"A#"P%H'"_"4(#-L',?'NS\!<8)6. MMZ9G6(X7N#FI*WTUFX[35[/I..'@=)PL''FOA!P:OF ?Q[5[R]E1I_K)./G0 ME.DX,AU'IN/(=!R9CB/3<60ZSM6EXZQ3L;;3PL%QV96&2[XOHK0+JFN&XY55 MN-,]-G? FC6?%J[SS'*+EQX<-EVY?1=VTEZHLU7MJILKJJPU,G]Q':]PD\!^ M%\-C1IVJM-4XP<6'I(TJ[:T8;71.2AL4.C8J[>*A(@%B]9"#[P,7,"%P6>2V M#T#_WT'CE*$\:G=+4:YM9)*EA%YC/%2KTL1.!GZ5BRUK[G?WQY8^8$OGX/YN MU0KJJ@?7_*3;P0S S>^_D',Z_OQ@MGD=N9AJMW=2[6* 'J3F<'!P]&-U5&^) M30ELZI\4FX:-L3IJ#@_OF"&5U>*(<>_8GN]&(2\W"]=Y=)EW4,^9BZ>/P4GI M8X3I9ZHJFR5>)C(-3XE,@W9CW&V.>F4UAY$JKLSUK42U[I+)1 4R49N#3EFU M:RH=;R_Q;_]0\B/A7P?PK]TLKW92Y7-_Z\'!>1,O622G]+9+:XJ7P-\MAG\! MBKI[OKG#'H MJZG8+.-0EFF',NWPO+;*'BF& RQMH3;;6LE58F3>L"3@ZR7@?8V]?0BXSPEX M4%8Y^8( MEXSP/TU*K, V@1(:YMLM',_$%VXI=Q>&BM/L?DHG/PJ::\>?Z!.@L,!?_TDF M3^3T:*_V8$WJ8 4ZB3]W3Q7NJU&J\-R-V MD60(P V24%\%V%JPS&9'XP:<*P'R.BZAR"UP6^;B6[ FO3)K48 J@%#_MOU\ M@#]0BSW,=KU'&J< ?7V<=_:US/4>E93K_8OC3%^ ^8!P_V#[NOUH M1X!8%- MV=Z#43;;>S#*9GN'PQ.G,J,)1$F O;*^:9JJB=C\0PIWOVL"=764@^C<7":Z MCGLDEZ;F;,9<9AM,F3#_A3%1TB, V82]R!TI<2X%+YJ8KF12>#!\CTJ6S(Q;8$K M'@AR8,' ;'D-BKG^C.M2D'1G)N@ 3 D\-@LLF&O&5PS?V(ZOZ-P9!I]- A_> M]WRFTX\^;(?Q"A;FTP(V1&J1[E,;=OB+#8AJ64M:E0'<:XI==947TY\K=P_W M2K?7;E49$?)1^$.69E=H='=>$_=#?4\G\!%4C S76=,9==@N4(RA.G24 1\Y MY,+Z#(!-IZW0D ^86A1MT+16MZ==>-$&N:A=%]4KH[Q%M3Q<.Q0T:(*A;K % M&./T"DI+6"N8'4EAMK[J@=JK:>6*J'2'4FZ9@\QK%X0X&=%SNP/!8-U+Z#,KLA1+2X26@ZG:8OPFEHO('>2>4GE])Z:G\\D4V;_X"OL7J]W1YMOI#5ZDO8*1 MARI&K(VZU>]F7$($I:2U2Z>U0D&DAQ!;0M-.*MF%R:^#^7_=G)2MP@&CDO(J M@H/727FG(KP]HK"&5$P,_G<-,J[(]WN9ZY5%O34WZ)=8([*Z1LYW5Y\R!.]^106NI.B&UCZQ5H^%L9IJ MMZQ^4Q6(_[YP="JFN!Z 3V4IKM0CL=/-5@G:77&5R'5AO&H?W6Q Q2S;5:D/ M5"8R'2;G*XM&:_0LQ)NCZ%E80DIMMHC;[Z0;MW_NQRB5Q5859[ MZ%PC%:W#?O_@I,0*(M-A,K^R:+1.Y\K$FY>C] XNVEU!Z_ R\:6@3K4_PJS5J;(H MI#7&_7ZVG:]T5%4.>TZ%/*0T91$%O>9EE5JI$K),N2['X85(##"].G"%O( [)]!4QV5YN&MPT.W)"E?)2F762?V!!Y4O$OJ-T>]$BK"2I*6)'V1)'U$Z0QVU^&R>40- MJCK=[#7(UYIO(D856FL$))5U8HD15*9(622E76J"#;D!5*9(426:%$ M5B@Y_W)EA1)9H43F;N\1=K&_%W^?P/I^6U8HD;1V.;16,$#NW%=F_395*.FH MY=V82)^6=BO"*9V3TVU2A9* >W!&X#I2VQZ7515]+$:X=Y6**5R@9 M7'<:AZQ0LA._V](5KW2M7E8HJ1DZ%51<]\>GLA17JE"2UWI1)GY4#KE.A5O[ MZ&:#QKC?;.>$#-:?4UU98HAV)#V+5RCI7GEFB*Q04I"-]4ZL4R%/;H62OMH#$ZYSB3[S*_-$]8^D%5&)DI+KMM7.$25+E,@DZ%/R^2W7 M$4UIP>5W3[K^#N@UK74UF\)-X$'Y MN:

PH']DEWC3E_6Y2^WR^%MV@$HA+YXAI,S@,T"IO?= M@ &^>HHSR]MG7F6-9S@NP/D7?%^UOUS(% M8@'PF]@%'SK:'>SD$FH8#7NM@3HLKPA.9Y/2.+QJ7]PD51AG?$M2LCD6R;@46LA#<(,_5>JG'_5XPZW]C KWRSL:%*\FZ0.?P.Y]5 MMR.A]&H4"BZ7/>G ?.W'(Z5*7K8!>STFZ@%)OEE]Y!LA'0#P"Z@SJ(;]FRR! M8A9L1\/DB?ZP^@F))PKR.3=;Z"8I;('@/WNRU#PZLE@)C]\BY.7.9/O.9 M*\5&4>J86#-O VF\(_]].C3D#B&]-WV,,"V]KUZ8W.#XTJXZH6"(J0PHE2$K M51/ >^1:=ML7TD]G30!#\OHR[\G&.TR^<[S?65O/6)RRAK>4"\'D#":KO9^PAL!*K>3$G[A$YQ1$NJK %L+EMGL: 3.\72*5_.$5[N1-EENKCO+/?$!*#:IUX M]-;T#,OQ I?=!ZX+H,@&D'35; !)5\T)(.'SA4$?'@7%.#B?8O"Q%2N>>&NT MQ^[[ICV)Y2>VMB8>IMM97?BZV!+:9$V"S0K!'@'JF9Z/)+42O;,N"(@&#*_4 M4S]U;]=*I)J&X@S4UJB;_]/E-,GJEM$D:__F%Q6,I"&LST2+7!$ ]HV8J:9G MZ=#(L#23JGV_(V3BY2'V!4&E>X[@L/,E):]J"C(@3 :$[>T RIH80@TO[/OI M4G.'7C;7L&IA7K+#@R2Q4DEL2UI@>22&M7V:H[:,I*R,#/;U'[(9P,'2YX-M M.$_L.\(R(HTL]O< ^_N76#I;HLEN''0W-.DWQKW^P95,JG6577U&2+4C;6]S M\UT9#[6%'[YE,P:(/;U/0#/4&Y;[:@U8W:?9UPXN]5;! K@2H;9PSJ,@U! 1 M:GAMX73GX['A(2HN>V9VP)KAC9!4//=EM'@-C,89/"E#+X\=7RW,)Q$:D,4 MV),-@BFJGFDJMD,<]DMVQ->Q8)BD9$G)1U4.CDS)6.=*;8ZZ=:_+NW,X]6J% MN!WC?P=1_&\]PT?5DL)'O[K.- 557==W?:7<61H-H92RZDIIN74% O'PJIH MS'UFD>*TW*O8E[:MV%=U C*_)TJFB]..X?<"R>WU0FN@?? MP-AS$XP-%^DJ^BHZ S%F2[G'_].7,*?+@%GABS# S'6>*$*4=&(8XV7.;&6A MF].6\AZ8B>-Z\+/NP[>!-57F.APQP-J$?<-$CDW?QJL4@YA8(W"I/)K/.!C MU\%R<%CJE*7#46\58Z[;CP E^ 2.))C!L(&+@:I_PD"PA6;RC7"#M)'<7Y[, M'P0KG-X#)#%G !G0YQ.O>L!&/>79L0 Q6P<$)8>U_+[,5N@J,OO6Q"=C<]"5 M^.2MF2$G]]LK+IP1H"*<[10CAIW C<\Y1C#30S3FY^G).&$9)YQ\;533,%FJ MKJ#PHCQ8;(Y-*2\K/WQ8ALY>1)#H+J&SV[YDXLQ?/S2)-01Y,Q=J&HRL+F3@K5CPPW[=XQW"(W(/'(\NH9:EPG'$;.G>[B,Q)YE.,IQ05-M?E)B=',YUG!/)7?3 MX7'^)9[AF:P"2;F2C)]TC7O[.D]@?.1V4:JO& VT*67$T36RPDB2PQ/P3M&%I9#VKVB/[J,&]^[AM=4)TCN-\9#QEC>=I07TY\K!A"W M;MK*'VPI7F/,:RF?'9N)ZH7>NN]-CSR\>MAYU(29N&K=5":!K[@ZY70PW9@K MV%P[0@@%B9,W*[66P(]]TU)\YCZ9-D7B8?B:@9U/26VG59K8$!7>@)5AX%]B M$0OT-D^96 F&Y0$.VQ@%YX'>[RZ;RH)7ZZ00-XPI@2E?PW'%AR)_AN>?K MED7#M91?L8)J!!58\92*]G+*P$G"GR+@.+.9"0^]IO+"E"=]J4R8XK(_ Q-S M GT'YU>01^$PF/WR1#5$E6"!X7MBUWB7C9%YX0DH,!%_(?G09113!^_B0AX= M!X,2=<^Q6U5&S7P*^PCP>$SGHU=P[?ED]9ZB-F%$/%[\?[J#+]"%%TQ^9X:/ MOS_K0!&!IUCLD<>(@N6. DL$=L*O'N$FC@ X#]C@+C'"G_\;=A1QV\]J)1./FL_@KD"/!T:>7& M7$=E!$;["]!WLE1FB,M(^=S=2'1@18?7%(&EB)3B!1W"& MN$']!3%$@"$9BKM@O'TKM70%]N$SFR5/E*.EF0Z.IF;4"%G$U,">Z<^.2TSU M]V#Z*#2'1QTY:7+3-61+'X#]/W%8U9,W 7$M4*CX>&Q4#EQYRRR.#? _0IX< M 9O+-);P@9?A;4G99@IP+4E"AY*0)IG".SR /2DUF>LZX@7'X/P+41IXFL5C MT\48B)[A"#@IW20#7V7N,^ ]?7/F"TOGV [ 10\TX MZRV_ZMEX^9QRE2F0LX.SIK21 [B'CAQ07(AI O^QEFFN.->YT'41_E/&\U^2 M]>!GO(&ZQS*L*'_6?QIJ(I[QM\#POL'(1 M';SDX:)-&'Z!1AQ)-Y)L!HNL C#[;, :@Q%!DM*-.C#H^A.3*W#XC%[V%LQ M$0R_IC0],IB3"OK,_(%):R['Z. )D[R A E#85&H$XMU@05/+S?#5YOX&6KC MM)R%"YHA#+@(0[T\L1I8Z0(>_J L/%3+19 V_N*[ &+NY_3(",C'\";E.OE4 M*8)L]!O<1PJT+PS \_?];V1Z&;>NV/:7:)+=7+K]V->F49^1=91NI):+.:[H<')[3[0G462(FR4VYF1 M.TA4E@&QP'':B#7.*>/.'#XD&84V^Q%0SJ-.JJAI!):.>@] L:7\&KIWP@^Y M/ "BH,^:PLY'FF.HB_/OFF+*7W%WF"]'/5Q-:@=H]:.+KS? ]?TT&(F<6^+]0&P4/HQ#Z\!3&\.$_%M MPQJ(%P"OT,G/%P$(=PUZ= SC*)^Q*;9 [C!FS&W*J\7T7=C (^DEF:5$Y@J. M9"!/!:NEI;SE::P(X"4#J#/,(ULC.=/"/'F0Q(OS5AH3 W>X<+\G\;1.6QVA M:>T$CW,:GBP7@,0D8N6)*8 .XJSE:'AN@^3\0&,E>"S M4Q&^( [O;.G[WX8 MIH>U/$6K(U$M 7X!?F 4*4R78)&]QKB7PR$5P1P),H4VHYUQ,UC'M)4MVAAO M9@\-#M$?:1,-0FN).,Q"_"(V ,1]<=L UO9K)I M2_F-\:>@]J#%3/K &IPFW2'2%?@8XOB)W%VVP%ZJJ' 0F;5VL;IWO&/LUOR. ML5O2'>-'P(GOP)3>LDE.B[+>(.&>-F1&Z:,#LX4[N.GB 9WK\=M-8>#S MT0S=!8:--OTCWB3X='T .A(WW4 GLM&U#CR3!R>2L"@D^U1MN%GZ(2%_L#V@ M2^3O][">)4Q]1[>/A:7=J#'6Z9W@,( M.'WZQ?Z7,'&_P>QJ! G@/2$H^E@QLI6-W/F)JVPIA****U,2EW#<.EZ /S/X M._H S)3N2,>!SO@[202,.!1CSL'C M")#$7%36T'7C!>3VX5BU,MN=@'1FUK!7)9ORV\($RRK&D'KM(@SIO6ZP_9A1 MOX/,J+^9&34Y+/'*G,-2!(J030@ SC+^#&0+<^2>>B( @,ZJ;N/&R%5H@]RU MK'ALH1-+S8 #812!HT1H=$X$#?2\M=8EW2=E$T9)@.T$!L=4]V.G_'9*(4_+ M?P=@:ZN#T$GYP!8^;^88/4H:=HHZI,>#59ON#K@9L8T=IIV@XV)%?)(+EPX2 M3J2H9$R?R5;)^$%,C<+P@7CS5^;BE:+^R')E8P\I,VOA_]3D+MMP*S>.#;", M"!2@8#F(L1'.+701;.9'9]84H8E8!HT';]Q@F30:!50K#&O0+;0E?;I\B2-" M0KDS"]!%!L 8 ?<4;7;X=,Z5U '8)]! %I@"DLP!B1^K=.FIYW,>QF['W$D M3VF(-(HH7,A\)%,\PZV" I1A,R-RAVR%:Y-?@N"/!3GO%B??NVB->.!?9DCT>_+>?F/TI+@K QDX$.:6,$(23X6V3B*8. [OCP:BD:,(T>-)_T URGIX8 M+%!V%.19:5]^/V6QI;623WSJ-V3X )NX%S%@A9G7 "SY+1>VH:2%3;IA:(8] MC4.SN3: C^ #X%6@SN!-H&>XY@39$K.%#X1;%VT[40BV%/* >I'?+*\ M, .^N:<%OZH30F(%B+FGHX@=Q/2!9RRH PSE!1\^!O4K\^=C@_LNDJ "\%QF M_T97M)^!M?"*F7<81+?O 8PPBF'+ 4R8_\(8/X,,P(1R"XC;;8?*[2OS;,#! M2_9[SCP_A01Z9\PQHK- ZGX,($Q)VPJ@"$/U>";$SI"+BSY129:QJK\@% %L M #<*+(]4IQ/"S\?4,I?APR^SC^0T* PM=0=HZ=RC/HUF"PF9.RI6HG%#;U=! M0/3R 9%(Z\3$ @\3.[ N#NKI7"\NO.4.EN?<;&(/*4KLS[D +B:>B-U=SM2-Y,Y+!2M\8QP#XN]<\QNAC%S+IOA/0D/ M(I41Y1LBRI&R9$3YV==RVHCR2MW\;[3F$CS-66#("C(RM-%X'DX>YPQK"(7I M8I-0F2:?<]IA&L:4D7K%'5#DNDI,"W8')0+BI1D?!J5(>IA%."5%/HJ,W-6Q M>\#409$VYOP6EPO===O(.JKQG=_PXN[!AW=\Y;^=P+4I@P\OSO>_VNWUCWBU M.] :XW;^U>Y_P?Z?D65SPT-LE/:1SO;40[/TBEISW=-P_=R/L23H? F MGP.:RP?V0Z0X%H=-;].MYWK/OI"-JP[^]X[[#E8GL."-P(% MS30$F\!5>F_XML-'SAOV53=W+.284&/Z>&CK2NE&KML-8?J$T6!;F]SYE,#L M+$SWH/34'7Y.Y^1#+JH&Z/K)\5O_%*4QA!M+)?NE-E3PV >GN0T=#%%+VBE4 M9Q65<<68PBLBP3$-'<@$>RO!\[@&0ES0-]E)*?Y&G\U,\NX_]C0Y#_$=T MC[45JQ)YG%2# <\BG:H:WXEY(%T 1)C$F6N;U-(GO.F>:<7?"UJ5%U[C/3"L M5\&ODNA(Q15>C+=)9U?T6A1^,N'>9OW) 6[[ &(,AE/^!>R&+94WNOU'$VM] MF**X,QS@>],%I>(>E(^_&& 'OJ+\A_ZT> VZ X P6O(K,2.^$$T64EK2S[WJ MW-YX=20TIF@;\M9GSUN?/=MN4:1P?HNMP:CZ+;;2H7 MIK6Z/>W">W')1>VZJ-[1NI;5Z[5Z-(S*;YUV10!(NJ)E^[A:'N&G, +O+=AW MUXK'H:&K?"L5"!?4&&^71H+7!Y6SM L$P)U)M]\:6[E+M\F#VT9M1XOS0>A? MO+#>(7 XM*G$ 76W:U1D>IU[X\E%4N;*[PD-3\YX/S-W"I7Q?VG MLLGRB*18.>#);HW;+R.&FZO<'YXZ'->Z'V) 5+,W6IC M$])9MRYT=J*>4^?3K;/Y*$7$^/;=5LV6^._ ONGTR]BL;/6Y5COOMX^KG6M[ M+$D][I*PG_H1#(9=.X]63N+N9Q9($MM)5O>W] HM559CVFR[V2ZM=UL%>K!) M7%K'JX^,2X.*X=+%.Y?AY *7PM$66"PV> IK-=B/9?AM:J'P63<[7;3LYSL^ M#%C5XQT5\+5?/,?M',)QLTQUV!CW.^N"HV6S[WKCRI8>GZ5*YQ&U^M;6E:>Z MT'[?YQ--[UW&_L*F@W\&YH)BH*WK<<2\9<9-IR>MQ.,Z8K2C>CU&>]S<]M=E M?I6T)!5KG0^D(T8Z8DXAGGNEJG(CO'\[MK!\5JQI06#_:Y^YL78GR MDI;4.X[*MJL9>B$JFR2QW<1POUPQC*4)M(/%L/2^51)7!N7BR@!P95 53^W5 MN->PT[MN63P1_XH\;(=0 MP0?%):_*X$&[W1@/N@<''DL76R5QY:!2MB\$I,*1=3#@I"SV(*YH15!%,NWC7R'9MU M42VY)A;QM0*J61O 6+O\K_8E->9,T5[ =[!ZFA63MV_WT'SOH[Z$3ELXG3Q MBX.V!AQ$:W:'!PN<0H=6 [OO:K'OH)"+@MC7 ^SK-3O:P4+LZ-AW\9;D1^9Y MMT<19R5;797\_MK*(;TJ59[-&#;Y?$]95NP>$>TSR]5W^XUQCJ3*U$*L=8T1 MB5.E2*F=<6K0&(^RZ1L5PJDKLJRDN205UK+-):P#CQ5;=N_VEV .0VX>E99\ M?7[)(['MJ.;10=@V(G-(U=9U=ZD.MEV).43=Y[$1,]I$O"?*WF*J#F:,5%G/ M9P8E.<<]Q[NB#$1M@WW4[*O9;*@*J;,2WZIA(I6!;VICW&\.N]FXM@KAVY68 M3U:JW9$TI'8LW)K6E$2?I2Z@V=0)L&L3H>!UEG4M$S359JO%[O"WE*))\M7/ MCFWLR5HQ"*37[)=],7?0,9[)+I7$*XFW+.(MH(0?0+Q=(-YALZO6G7A)=_H' MM2*,>KFGNDG6H^/JEG:TI*FQM:9]CKAMK<*"_,9;NN>'5-+W/3F/./L>U6 MU.(9@0 J.6_.;=&8@)AOF$!UGLU_!?X FIC?G"\GIU*N\2U< 4/3TVJDI M)[^OF<;5 FK8X/<#]C2V;<;Y4=33>.4TWP)T894^;%]T(-VY*W"J+2Y^/&6> MX9H3^%UT9'<4ESWAWU8FI;[J"QVP+#S)U7[G]I1_;3'=8]3R]S^]G.,6S9C7 M85>$PMX<3IE>,/0%=M.%PW",/_*^<$V/1]1-B3RR^%-*5UO19LYDWI=9DMOG M=[H=J%KU.]UN86^>V/M4>8KVCA]P(ESH2VI/"Q).83HP!-$>UP90 #D""BV9 M[GKA@;I,GP$*<,8#V,2[Z'H7UPYWV&L-U&%Y_50[9?13K9:*6E*7RDOIPL=# MX,[1A^^LZC?UR7XU4I[@S;F'8D%;;8L)Y.XZ%4 DX"GK2V;) MG-WR:.>#_1F&_?["K&?VB1AX8<+!6C[M9J\T5T=-(A/.31_KVS')-+LRZ0.% MR?<7IS!9#%">=-0KJPM^;JH82*EQ.JJ8NXP5IHMA25T,I;0H0A=#*2U.1A?O MG6#%_)B9/]CTYB_F.GD4,6J,;Z24.%VT3.3#E+*B*$U,K)F71Q#+.X3G'LC? M:9> _%(4E)!ILZ-#0\98' DT%\\[RDB0Z*AEI>.4>'1'BJO ?R-@33O0>:G( MQ*6:.!P-;\ 6CF?B"[VV0J-I8$#AS,W&,70ZG$\#.V'3.U\\PX'3T0UBX"P[6@F]2+*F> X<+V>6SL:H MB>H$[GQW0'1A##W\HK@<$O!_PWFTB5]2D(0AX(TA6[KKZO8CA:=X&-'E*R\L M,00&.&'XCPB6\0QG0;C]_N[AC?+=6< Y]]O]IB* KLS@.)7P/#T>.10>J=?$ ML1?,19')8Z4H] )#9BA,P_/9PKM57ID_PWG @@",/* C7# ?3U<,,>)K>#?Y M,HXIQJ>*'\X$CH0.V O#?<*AZ%/X-MXJ_@H_V9[0$!: -0Q?>_X9P] <0_?7 MO(3A1F U[#XU1J*\@F'%P?P5']7+G-G**S@CW?L9H>7!$)[8&48T/>N8RY<[ M3TOY#?YI8]#<8F&%P6C/[ ;!JCPY4V;A0HWX<' N$PND8.#>A-A6B $OIF6A M#8&1?>'B/8 S9XWX!F(&@MVW>$P=;)+],.:(3(1D^-&CXTP]!?X!V/P,@,)H M/PZ^&09(\?"M\#!;JW@3_N I3_J2UJW#)$^!Y9L+:^U!MY3W.&$ :)/$[>:: MHX/-AX=+VR!\RQ]:F>@>O.3PT\3(MR?Z*M1:%(Q;G.J68V-0H$4A832)%T8D M 9B?3!P#_C(-<*-)V'!Y@[6(-JVBI7Q/!-5%Z.MMF#VU;KYM/&4*GEQ/,@@: MT*U !64+'1@CH(QPT(4,N-O&98S:RA24NY:R-F:. MIG_+#(9EXE,_=9O$IZ:BM$C$=2:Z15ORT;B&YW_?WUKJK(LP?KFE MO.4-R(B%X:5%&*O$ ZG7X0 _\22510)GRK'^!]$& %"1,@:/@ZF!2/R--T;%P4Z3=ACJ+T'83HW%5 F1_L$#!.QL9HX0N M]9-NL("<91BE#F@,G&3E#%=03@&MP^7 IZP=H0?BMH6B@6J;J\ R0+M9BM<3 ME@2I$J 0?=0N \L1 3Z)]XX]/>-*6^0<**;$0_D(3"&@! M\H]X%Y]H1K8#D9/I&L$3(IX1*G$F3RI)@@].!W$^U*$C"9M9+VQ=C[Y"@E7T M*?([PG(354Q0W\Q882.,BE ?L$C#: *J 34T8'#0C0R#U MG"P$%&$+3@B6WE,_X2(@V,=]__&W840>O MO80E+&Q+Y#%;]\83G7 =TZ)*6!KRXA@+D--RZ9]RBJ7RUJ)4N-AK\6T%#KB'Y/?" M)%[K14M1(*(7=\GL\/Y0ZS25CYCEAN8@.FRBG89G0:H!/A!YP!:2-9CU@K9T MVPY(V\ELFR17:& +?X['PC>3,IPH(CI+2KKSA"IE..ZJ1H6\&AW[KDZ'3F8M^LDHR+043/H%8D."2\\U)GCK[-T -$&IP7VJ]<*^$# M@AH<$)E_SS\:I&H2U>A0YT[^%%H$((PP&Q;!D? S\B.I.97-,2685!3DT@"+ M+'2$0T[HI73::71/B($0W1+:_BJ">JB#\L]H(4INU;9)05B1WH0PGA]Z M><6W[)E$!?JAN>:?1 AQ-<.O*'FF>VA?;@*IPD*4XZB45E(CO13X!AE1$@J(J2S/B)$!G?4/+AC?8!!74()DJ;SBK@* M;]S-N.Q)R)W^!'L"K^*I3 ?Z1+T;?[D@_X80'*) "K<4TA9ZQHQ 61S?4X9S MF$F1&"E/SH*;(Z'\QI\9VZK]A)YPL-K#9?#"(52)D&Q"$.EH)7'WU&.@ ]_T M&7IN;6*CP.SL);]NS&R F'IXB8C>2Y/54;:MGG_R0AXX\%R #&6\[=@W_%^1 MSX0;DW/]&:!L<5!EAYZHQ>ZCW?$A!6A3UP7)HNG/\5A#KFSXPB 8(YATMEGIK.GS02R13\T MT6LF-HF^9PH0"._?03T,G:QIO[ANKZ(>$59V56NTM3R_1TA7+C.?)H'KQ9YS M07CDI&_M4=*&@O"%V\1[LQ0W+!_A6-:4L.D,JE_"A@>F@]TM; 1RC./=#V%" MY)R*O&8"=PI>YW)5G@Z4[.-9.H[JXHK8#-36J)O_TUY%;/(_63?4^N=:NU_> MHKK;ALI)Y@C/!:B-G>>M'2O^Y-; '>U2&*B"%7(H8U3A=0:4=TBM_YRX_Q@3 MQ2I K#L4"SHJL*N5G;)#>25J1,H6Y"?#\P9CYZI*+B%S+V6[VTI-7PZ\NDBEE^ M<^A[]O9Y-K V0-R7Q#JB]!I[+T_IX' ML(DJFOK+(;-#[ O4 M[9;55ZP&/0$DP51I;\4(IG=^@ADUQFJGV2VM^\9Q**:&$GQ#I9IJ2_#[=&2Z M+*BT@8#[9R?@;AL(N-]4AP<7&BNIM-*)N]Y=/(H-SH]B*C5Y&8W6)=15 \5J M*"-J:^6]R<93RR)C&XAX> 0BSM)IIS'N# \FTNJ8/A*%$B@T.@D*=;$"4;:K M;I50J(9\OFY.^Y4\QS)\U;6@R/.[YB\37#4D6:F:78=<';;/;U]IC;%61DL6 MJ;E5$L/4\V-8KS'N-H>=:F-8#:5$;9V\VZYII0LN0EV]]3J>.KI&K=NV2]G6Z+B@N2">=W:.I[4;XZ[:''36E;\^QPE7-/Q; MTK6DZ[U*EY^%L%4@[$%ST"XK2*E:A%T1'6ASN[4ZU)'YGFKZXXMJBJ(R=;*C M2JID:%0@FA?92S0Q$ 529X&/51P3S3I6"];HV'K&LO#_\32KY;CWF&==RQ\J MLT=E+&W>PL?DI;RI!!"5T4O^H$>%61)5B%RV<%PJZ,)K2'KISB^FQXOIX M8 M^1$6 TAC6(ZH<\2K%45C/>F\P'5RVC5]7T23I6D@RGN+>IO)PLI4BQW+4_I^ M7 )J;87I7Y5.6]5NVJ,=^T3QC2;1(57=?16!HCK58<4:(STN598"NC=M[!PJ M=N7E;:LI2HQ[&XJ=Z[[OFI. 3XW5]YRE;F%9IZ:2:*V%*,Q>@"$G,8']8*Y! M_7_T=;U;-K1UH>Y94W-*6Z5B2KN2R3XU>E:$Q[<0@;[&./,E0IEW8N;O5#SI MR^R!4(P+@#4E?;1.#4KZS*-^&5$3+W[N$X9E5JE0?T3049>EWX/I8UA"Z=FQ MGCG_$.B,:"O8" DQCY-"?HUJF-!T$UT_8LR6A7X.+?13I@#?:;DG+1ITJ?5B M=JD-4[N*)IKR:A26 (LD]2X[+5/CW/&.K%[ )<]:"I!;"./\FGX%[]>JZSG= M$L^^;9_7Z44IMOD+\I,,=\OJW:SKYGD_NIA'66Y#]UKZ-@K=1DKBE,29),[= M\J&+$Z=6"^+GJN=WTR9P\D]<+A[_]I+N0ZS&+DON7T3)_0T.<$&= M-R@8;M5A*"U,[''AW][@D]-;*(3&:J_%65'VSV*.NK?<^1NX[,L,?<2,'+V. M_8T[J^^Q6/?#7'?9&_13B7[57HYC;L19,W87F=[YXAG.EW;7/?CPU0UW>AF) M^;)L:\7WF-<6@4^0,VV%FB70B+#[S=AH;7 I]:V/,N$VL<^M*'>WG%VF51]&Q1 M="53Y/H0*%U>3>LO*]*@:F7 -UK39[4,\N'YFS]M*7?/CRU%>2=N7)6OV,=Y M16G< 1/K[R']DI%$$P;B@&(!L($ZA18S/H-GIM2OO M 9$N1>E2/,BE^)6Y1$UGI-+?:*U@P +,]$<6BA^2/GGDB87=6IV#2_2>QCMY MR2D8X4GM)PHOL.!)OL!3MY$26L$?/"]@T[>!R[WTH%\0^7A)GT0$[[1$FYD_ MV/3F+^8Z>=32Q>3684?MO*YTN1-94.;-!K>#M&QV9O3=RELV/6G92,OFRBV;$U)I43<&W8_Q:=08=UO9,ET*0-D2^?B3"LN6-1&NQ_SS$4C+*XE1= ,68(T+&V;F40:[#2$#*?S _G2>_"D@"8$OYC2=> M%XIG'VUS8]Y9EF-@:&8^)6%.M>UM=S_&A-!O-\:VXV<)(DK'&8 M)UG4((WT(<2GY-#GF$T1/R)CD6'$S[K#(,Z#?Y1]T7 @]_D%7O0C_^\OKN-Y M!1R]?14AG05T/K<( ?B(<\+S_0"IO @QJ^A7[#M;,/?=T\)REHR)^.!\1/[LV'ABL$\$@T=IK,G?,9K[ ML^/_F\&\896'(OC;S5'J[L;=WI(P'J&&\1 )>_*G3U=>?(K4-VV4/:^EDTBZ&O9W(6J M'%+I >ZK!Y8-")>TZM8R!ES'P,@9>QL#O!#\>(21#X,L/@2=+ M1WF+O@_E/=J]Y&0Y7RC\63VI,AK^F,&!HZ,YG=_]&8 2\\$&%2.@"*\OZ-3\ M_]O[]N:VD5S?K\+RF3G7.45K1;TL)6=3I=C.C,_)Q%G;V;GW3XIL6=Q0I(8/ M.]I/?P%T-Q\B]: >%BFS:FLVMLEF-QI VC@A\>)[@@7,7*8MKODZ6$VB=K6 M6FI_4'ZL@#J?I,XG.4SF91DD>"'$0^<7'E]X>(D+@JS\8H^U?J/=*KWLOE(F M_5%9[S<>Z*Q3Z5>?E@>K2UDK:^GH=^'#\A*%K:>V+G<6MSH/_]C,N?(T* N' M;G4D8/^FR\;N_9NJE8I_5"[[)QW@;RSA[;Q"BI]OT-:*?P!>4DM3^ZULRZH, M7&T%LN!.G#&KIO/3S+F-SK]L H-V&LU]N0&UL;^>RSZ[WIA9;\_7Y70+=L-7IW>&G][[ZK!]+*YQ('1%F'<;5,E0HD:J0R$_^TRE- M. *.U]^TWIX:9D.TWOL"FES/1>**\4K'(!O3L@S!U&YWE!+64C&_(8U=OQ M9J;48#6J7@LFV-R6C^7"0;RF# DY[Y7(*T]35(EWBA$I>N+M0@ M+>1HUMU?N%[CW5\Z"]1)_+=NY%+Q1B[+FX2TH_"4YN%%];Y!GN/(AA):V1E#J\F&SZ#K\S+5ZR&=7' M^PR==SO:JRG#L5.'M^A?G1B)?Y$^I9AY_@J6KR&=U]M(RP,[FN*>#W\+E[LW=ZA?=G>HWUD) MR?!U!:5AY@GU*+6@T'G(_R\3RYBD#C]DXBG3L6.>N5SU+55U'ZG L_A[K^TI MK8LC9AES(9A;.%*RC7I8HFU?-?P[E%3:.N38[R(#9_,0I/)H%+=X^R5)QRN M+M+O87Y KKV3SVDB4+W'>&SEI;8@G[2:S5(#)O4O-V6)9: M:6]LY)8F1O 'X91M%!Y8$C@A")1J&/2K04^FJT@18YU0?$IQ0R\%2Z3,;%A/ M,5LX!P9E]1QJT),:]*0&/:E!3VK0D^.#GM08)S7&R;Y3<%O-@R&3'CH%M]\_ M^]AM#E1MWZEVE4ZQ?=-)M&\O3;84\KO5/1*FBO0:%>AV]1:*'FN$DXW.RG58 MR&6]KA]@'?%@H'9[W9+4E-5%CX]D89!-4:H23*M6ZI]MJ MUK7N.6=(":!(MPNT#3H8:.NKK=UQB/;()D?R.HXF :53(YL'Z?9)FHHJA94' M> DTPU9G-X*,=QN7^_+72E;IOK0XK;3))G>.\IF-O%#WYGP',,,9M'9K+]4J MK699X%,+'V#8O+W35#NM+!9^HEHEE0D3%:I8@1]7JO@[E:KHLD=C5*>2:.-( MS37I1=XJ$H8.0L]1SL\>'^[/WO&!X9_9,432KY_;\3&9(:P_P2S\ .8Q8_ ! M%,)90UE?WQ0-EMQ6_&%J!0%CP!0!\Z; CCRW"">I![ABW$O*GEW*:HZP2!99 M;1GXQVX)M, ^>*,/"NYNS-._(V[!4CS)+H@'W!-=A2F_O*0@B1(*KD1J6--I\RTX#RQYS+3$41+M&.5HI7N61J+!B:^ M(4\EIAI- \>'[R_? M1I28["8NJ]\C-N76]MWX&[SJYU$2K\"RAR=OX>N1C/IK2JE0MA+2%U*77)U2 MF("0NF>[BF]-0YM+[(L53(3VDAF)NN^'4\X6[^%%&#EP/3PEE6<7W[(Q_Q"^ M65B \XO;=A/?R!@9QK/^/9KQ/Z,)WP.CY0AVO]D\^]AK9^5:W=?R=I;=O!7> MB/J9:^O9,IEC+EV==O8QRTV_*J9X3YE;S.;BJ"N>Y?^X&&.ZFX493B"2BH?U M%#MO=?N@M+B':7^&6=^*22^E!35#S5'A7)[RV1R%*=56>>HB61@>&:MKD8@& MA^)PN?]I_LY1WGDU2/TF!M@6*Y N\)%D-5%2[R*#&*XG:[TBI8$JTW7P0(E+ M;6(K@LR>1'ONF>?^BW$&ROO N@&Y8L*S]31DL[.);(INW_ _V-()@_\@B\*1 MB<6OH/Z1#ZEBSG(DPH@<(#),+9@LN%3 \EY&17<-*BU+&A!>$HT-]S9%?M/)WP6U[I7[UL ME]>)!R_B<'[Z8Z0XUI66@8218*!*AL6/6/#"F%/\(!TTE M"]&:!W!&-EP&^7AY"Q$JGT]YD0O3K =[R'1C@J:H-;/PU-S--VXO]8T[*WSC M8JZQMBPO=1/7N*\U3]9A7K%JZQ=K!TA%T,<*UU'.8##\"_%@F(U/+8!!8!>O'6 9N$?67!W?A1_UF8:MB^MI&#&BFI!DN, ML=LC-#HXMKG#BN?ZV$;,.-TPF,VX;$7GNJ26,-M@,(-Y/%[#,;@K&08\$.YL M2ZMH)D]?PW!*>Z!V>CG([740\ !!0.V(F3C]5G./0<"5N1J'7HA6PC!@9VD8 ML+N_,.#E+F' 5NMTPX#I!+"2A %;8#'V<]ATBPR9@^6W[1)H:&UT#W^ ')EN M^<* K2Z& ;,6V?9AP-9)A\Y*RM&].G2V6V;)GL!Y]Q\Z:UV6/+-$.TIF2:N/ M_G^ZO<#R(N178X4!!A6R_7CPGL5[0XXT4 _WS)HBSC>2>&- M D>[^[I62E4H@\[K7KO:+N/>RG5)>.3UP$M-].J=@5=YCL:B#\N(_])*Q/*3 M7LOVO>)4$2T0QRMSL"^@*$BE #D.H*_I.K6WH _]YY_\T_Q(R+>+7ER8+7-B MF<%.T!0%R%A'P1572EQH29H\M'ZF'2K\#F?"0'7,,)_&@W-2NK&>2:;Q:CG9 MW@G2?7$+X+]?I/0F74KXS.MN&"?1#2,?.$CN"W &.\Y3&_:?J *<4#YFS,GW M%-F@6\8;8HU\&I[?XN6 &\(8II^!K3SAABHKX?B.W4ZEG/1J'TR@7E$X]P4M M#!MZ-&/?#W@VRS,#:^Y _1Q.#"?OK32SR(8STMV4,_D1^[QT:J=KN M>.-U^YAR\5XM<6LEKM4\AL1U\)I3[;6SL=!J2%P%#8?M\*F/9SC\QL-R/ 7/ MG%J.A;$^C.+R^\VZ1VJK7+TK:C;BVS7Z9J'86IL'&%VAHL MN_TM!U-5\#RHFB/Y (S!$5;Y_3)>U&Q_$)QF:Y"LS+:/(K-M\J?Z^VK'60*O MJ6:J!%-UCL)4'62J5K?<3%7!@Z!JCL$]\QE=FN!98+)G9KLSJ@.HW8)U@MO= MC^!F9;-[]O&RLW/KIMKN+R77](ZB[GOEOLZJI;D6I+72?)Q8AU],'W5=DXWD5,0Y9+8-^MZLN5C M_.$.K0=8ZX/OLCYY7I#W K7&>ZTO58GEF.!YOK_ WQPIU4GK-3BG9?];+*V; MPWH]ZC^O+=^P72ROSV9F=P;9S.S.()N9S0=3 OTG\[=*FN:#YGRJ51$HN\G[ M@>Z8NF>JH._&S"-H'OTGEE"P@(?(;4L?(D]$];T[H.5-. 4)WLWB=Q;()<_@.RTM4[O"Y@LX&2EQON&B!L"6Q M?IBC\QI:> OQ)])EM?IL9L]IG?I/6K+8)H%Y0?6F^,/+Q#(FHLXVGR3XZ>3( M(TY^T+Q8M.(I,-_ 9F9%BU<7D(J'[CD;B;! M'?/P;KH:5H9G&U'_VD#%:8GXPJ1H(RE6("LDT!+TO (O?^)ZP5BW;55HYQ?""1J# MHE5& M_I//_%I,_!;G+2!(I,L-) &9*'H2<0V,9\#F31TR2V13[4 ME;A=B M_H#=$<)G4/XBC.'T>14?3>0GI=TP',:3-]SX%YB3"7^HH+MPSV 6_Y9KSB4: M^08S1E$4)9P)[#]>D2_?BYW5A%_&X:_!@^#>A"G\2WR>\S-Z8:$CL+_1)(R< M$(DCX3#A2NAY.YW?]QQHHO-J?H7QE] '=H.)PL_U9\;Y0.H.1M")P#?$4\#] UA,;HP6]OZ@5VQ2?X<-^">3"ZGD4-/M 6"-)0AGK=88&6Q M%[FXZ,/ZLV[9^-S:!8V8;;%G#DCM$3IC1+\ Q!Z6Y)ER>+$G?RB/OBAK;)@Q0V:C]3%3/" MN1'".6&U^C-$DH1?1;AFB;-4:*^-S.@-H[+]RD9ER6C6+O<4E;W1/=18>+:3 M$Y8-R78OLW'2[F4V)/L51)($$3@/#Z0IN4ZH3+8*T-(GJG$0)4.QA L+9H1/ M70!" 627!5N7=I$$^D>V%U J= S1=0H!ZD?XN(04,M/Q@L6:<=GVP0#P*"+) MP5@L'IGP%3^$L9<]BV*'LT.K(0PB26>"%6@#^<[-0L\/=8[92XK@Q;TP;#@G ME"F<+QCL J<=F"SG50LULFV$W+<>S?DZ2,(EHXSF-"BG+6+&/(/.>DIBU,>= M%B1#D7L.ABG%J DV-49N\ACIHZ@[1T.YMM %-M?/CX<-MYO-S YYEX69B[Z0 M15@_)GZ9CF@R/1,O)9"0Y8#)Y21"F121I],_C_81#'4@48SY=/A?!7\QA!J2 M%H"<$YDK,GQ*EL,+4R8ZG@W1YJCI-<:3E@%H$0(;>^Z4,/(E,9' /XWQPL!:H%LCHRNVPA%:4'+$M)_F5[3"*Z1ICMKK+RJXRNBBN*< MUR4S-/B=M, 3&X](>"G/=:F@O"^ :%:C#*T=JD89VAU*)C>3ML;MJ7%["+>' MVI6Q62!/'2?W^#?U0*\1?FJ$GQKAIP+RO>!DG*.!^B[C9V["WML#/*SC^ZVJ M_5YC9A5DT>U*QH[*HN23Z %\:RLVW*16J#SO5Y"E5E1ET@Z7@[?R?3H96=NE M!/5$<]0KE&M^OE/9R)(<)V -?DOY!?BC:&YY%W')FFHKYPHS8QI7H(:^%H?3 M%8=,[<4AY*&'J&%M]5++]OPMB3Q4\.!=41];F8.7KC,-F228]#DFKHV7/;N@ M NQ08U9UJ=Y&J(#1Y?'[![R@$/M CF)AL==V+.G<>=KBFJKPQ%M+S^\= M%%@AMJP ?L(;EJ^M3LT#"%A[UTK+HTE89ZE%4#T)*XWQL)#JKG7YY6'%XFKE MG5EI-OJD(W[7S'&GEE/'_$K+5%6.^?TITI N9!I2TNOPJ4RA76Y M5HA>^WN:+Q6BK"3M+?%P(6O,OF*U%V/PKXB6I5[#1 W90U3Q>"/*U3Y[ M[O0J+H+*5H9EZ\ N+T^F#HRJ^\$G$06%<6'CRV*P<4FE8[KJ#\=8*"'-6+=U55GY7! ZZJSLA#[)*N,ZJJLNBJK@FTS'C@0 MPXS7D@M4J0CB@OZH(Q+/\M3(O61"G.(]1*MUN3+^O*.)6P1%,^$<];%/YF6O MI_9;>JM,TB\ADPRH0V\7+S$&]6U$*15W;K^C(BO=4RSCI*1Q=6K! M462QW]R[PMY3PEG-0(6OG(_#0=II://5<<9=4 0'6F51!'EOE_Z>4 2OV1@A MRQ -FD B@8[?;-W)1E/[K2R88+^5!1.\FF/*Y22!A/=6U1" AWF+ Q8&'[]DS PE1 M'ICW;!F,]Q21K $JW)BP>,,7-@8Q544S'-X=)O$=/=30/8*SD0]NU?^AW=BH^.O;LNW0GN?Y*DFMMB09L.0M,D6+1 M%2U=\$^$.)G7VP7U!D;@ZG86J]I97"YO9U' LNA$ED7= Z/B/3"J:1H.]F0: M/H0CWO0MN'E&*N78A+TJ]?Q(6F6 MP%*C'@FF8 C%CUD$3KR\,PS./#=\X@D09M0>#D[&L47TP290OL]\/]W#(8)V MEJT.><8#[Q/'FUDV-LY9* ]![QQE./,L6]$N.7U271P4.D>ISYG _\[A,3)R MS52CQJ@M)?S^MZM;Y7?71BWG)WK!O$Q<1,EV7YS(3D;D=-$6@&P7,&QS1[=^ 4V>WLJ4'&I92:46=ZVY$'\@'9N/\O^&D MXF]F(SJ7V*4GQ\$A1' \B_ G5;H)R-A(%4%PHY#JUV,]_X+DJ7*]V?W(NIW#E7?!W7U,6GH/V-[9<;68)ES6UL6>%R7'T@ M"K6^\">,!6K4,T95BE)CB2.U-VI\1M/'_#2_@3>">6':#,X^=AK9R& ^;<;T M+>GI"A6A1B#V4FA.!UIN"N/)F.HI+G7^2W6HS[S64 MSW%NX"3J)!5WC5/!]!VD>*>3ND<=A9]D0E/%M%C05 M6WQ%K]4WL/S:^^38M/$WMGXR\^+?S'-S0,0&[;./=-72^K#$]CO,5FY3,/06 MBK'1'2)//^V^Q@Z*L.UV ?4\=6C!O MY1L<&ZF$3>'':Y7 54*"CS#,XC^Z>/ 6U@#8FUOM-+/QJ5?'\GX+A^I7V9+: M3[H:-2[V_B5)4GJY-;J!( 8Y(T? M6/R")&I^#7Q@BMVL8;^6T>UMH_8L">3OJ$X64'*V#8;]IEL.PN[?.?+EPD9( M_^QC7VWULX [E<'7R:DOR;]T:Y6>15W!.8X+^NN68X0>3_A!/G(8 M9[ 72R#&9&XR+ M/-U]IGMX3]W8)(&J7)1LO4OERH.Y%@:6;?U;7JPOV'+9C*,EUAW^'I;#Q+D1 M%7GDVH;)7#8SWAZ>QK_P!O8ODM?/].+B802[;=MB%2QO#2N_F4T X!N.12&F M-1[#$B/LH&AQCHLG(W $5HOPJ8A+>F1$2O5BP(ZF\E<(C,(ABRBWH$ >>FE3 M\!YSZC$D97B5C1^._@622*F)"= FROK@^ LB#<0(0DI0Q#0Z/T'R*F8FWN9K MH REG,";K\I/3"\^\P>I6K J,&D;"\NCB[<+R(K!!$[L 9F^^=E,!TB^R]W,JPEH([9AV\9>O&$: M9K5ND%=G\/&763>P'2H5]GF6SVC?=EKYFCJRO:P<89WM_"JX_$Q36IE)Y@BS=&DA7=R)1?)?;_E$. M.)6XHDL MIE"3H$3V+RN%^E"-#)#1G1Z%EZ$'M!HKD$#^73 XL=A>JI".?OP M!"X!YNH:%HV!PJ=*Z5O(0@^.J9@D4BP>++'4##U@A">>8CJ/'_G&DX*'"'@U M- QFHZ^*F$K .GD\9+ MG$#B()'[0GOJL:E.Y<4T_(*#0Q;]^FJ"QJ;IKCD O#;=GF*MXK#LF+RM ># M<%<\(X*15Y[.G<_;6DGCO%1M5 H9;6=@: 1%V9.OY6NF]^M M!%S7\U:\GG=Y86GK;)7F6JZCEL:TZI3\.B6_3LE_"Y?^C\R;*E]=M/)G^MP= MCRMXO[\L2ZY.RZ_3\@^0X;!E068[]J\H1; [6!8Z>KMI^G'!NRJUMS9RJ_H47Z, $]NDX$-W:H@) M"WCU:4E,;[Q,9?EYS\EK6$0HLWA"EP1^DU?<:?-G..48RW&H%V&X4CD7/+5+ MW,KS:W/$[O:7C!B/I"H^V%7X3T5KQ]TSRX%/^L5UGBYP'0IBF1U3+JJ98;XU M:^HBFB:1X73#X,#P,WU.-XL\4S5!, M\1N?X15//1HZYE?7$7E(1=-H-$SH;/37I-$@*?:^%"1L(ABUE]5HF NW)MM1 MQ=0K3/4 SK#G%>3Z]KOJYZ5JK;>:EZJUWT9>JM8I4UYJ]:2\U2S82N4H+UOX(["0SW=RP21#3/2%L&@295U7 GR56WH^;_\#YE]<S/T3'T>LW[O[..@N8A[J\ C_D(AB\ %4[!T9R,]5_J6#3S+ MEES"J6A7\,75N1DJ.OS-$RC[)'0/8$;":\H_06C97/FD.S^6TF+IVC]2H_?B M[[UF"FT+,P$BK]B>JWEEI2L;%<2$%?T)]"DXH40R^O&3ZWGN"Q9#?$O(4_I- M?"Y1;<'+I(43YH,D47\-KFH]9H&7G8<)PSNOW @C)?;K=% MJ^ IWUR!^_"5W*IA@9J>:&R@SY#YE&6=#70P'DE38W(LO4OLEJ@#2^DU1K5G MB.<4E_NN:P>P0#T1[6=SKC)]Z81?7#HNG:NG8-60.BNPH[GHV"6P>M2)P;>'3WT3P>XVE\ M9MNUWQQHEVEB7P;&Q'1?]I%+L$1"I(G2W*#0 M%1@3[%B+*AY@UBB-O = I/^E)>+RYGJBW4(8C!$ZG=@B=$B.:&X)R/PEIE'B M?,9!B[)%;V.V^"R7=B56AH"7=WSB0\?\+F=]FYCT%UPB-T6W:1HWT/K@?JVS M*&&G;/A69H^P%DSLC:\8< 2 *OWG8G$@.EK"''@S70!$?)H14V)A2 MW]%CR*))MI4\8]BZ-?7!IK5\*B+&7PNEE=^T)S'M!!*%2IL,K,$Y199MQ*&O:58NOM5XLTO_0W=T'M\Y[ATMU7V$OB\O M0( P]EP %26-,GGUQ'T77E&.!VATC5XMGSR?&I]=#V-[BNVZ/ZAKG.PFM'QU M5?:R.1:^"!'%:TT8YF3D S/\@]<"@]%^SV;@\J(W#L2:*EKSXA\4K4:4 '@R M<#V\X%?&.H9Q)>[3B'PU).U%EK1D:0EO8LIT)^%@?O.L9S3V1#@$SP@9@>MJZAT@_)H=M0-^>^\,NF#Z(DS.> MKR +908L(QF.QY,GT8X//0G0( +H"0N=UC,6B!"6\^S:Z-$G8"/ (/XA_2<1 M+B1"1U@-B!EA&8CB !,'%\"TC$"$'^ )PPUM$YRQ$(WK-. $/"X OS!T[_%K M#H']A;8XK<VKB#($M\LW/&LF0]I1SS,)MD$+4A=6$T/.P5Q@ M,HBCYG"^#(DPHOLG NS (S]8["A^;SPTDAR(0]W\-"9X0X!NZ=3BVC,)'/5P M%P"WW3#=QLY'J M,%_D&41@=3DOV[K!,!P6TNV:Q1-W',%&RQWJ41\3 .-"7LII1&UTGR(+>D(K6B911E% MA%+I;CX.%H?MD[=D\3LF#PS[X4R@]P$W\B/-G] !1!?DNH0M_1T)LB6[4M&O(8)D2:AV"PM@8#L973':!JAV'M-TGRTA\ ME:)P: P";ZC($(%GC4(>B"/3 8.ON!.Z!%^DZP7L%(-_?F(.:4-/G^&=B F4 M]^;1E#Q8TE#O8:+$ZKO-#GQNQB%MJR(02,C4PE$FH M>_A+[ G-//)T4FM [257=\'M+3XKA*I5KB@TBL<+'H1N\MM ,;PKYW>O$]2] MNAWP;XTE;R;&C@XY"SDBY08O 5CL^@6+4OG]#9S;K8M>'6.FVA06!SF1PVL=8*W]7QKC(R# MGQF[MN72B9^=&$GBV 4-B+8$K8/A'T48FGA$)Z&?A[<$@PG9=\GD0CZ<15,>@[5^83Y0#8WCI& _@)/ A;?R'; MV?5F(DC,[WTF+AKD[@L>#YC'9ID6WA$MI V="W6.0'C%CPPIB3 MS=5)SC#IY"U<72=NPN4<^-7:\N<.$_EKE2G^FO]QV30<3#N/[G^1A]A?(84P MZ-9:<%(<@I1^G[B$Y"8A/,6Q78&:!V6?I?G&4@U)70=ZR'YW]- D_7#EPK8X/O\7%2>1PQG=ORL/R=C$!H'-G!-E4U^S76)?,V&H M;FHT'NO<"[WUEB _GZ8S5Z3&?P^)BA!>B_ MW]A\%J5N%UA2^K[=DP8UIIPXP?L+K7\T:M&ITWNEZZ3\RODD;;0.%LSC!4/* MXEU*Z-3+W4ZI"#NX;+;*1-A.#XGQ*>U<*%,&5EA-W[W1]_<0QB7'A=G8M&ON MHX=*5(Y,S\FW+['%B0[4$T-_Y1G]+0'#'6("54!%>+9]$4L"!N+1$S4FJ*,V MV[=:X:Q7.)]!__^;HO["(5;\N0\'_X8DKD5C ]'X;@>>?F&[+PJBP:.]C(G- M8T'YFM![(_15I%+&2;;&PA[?=SUK4\51$WL#8@\C52WC:"8C([-6SOM2SF"S MR BGM.!K!MZG14@Q7YW?H_#K$8.%A+H11[_%#BPE_)M+56XW:[3^$LSEX%G' MM48I;'_8;F@FRB*$V^-/=2^0^6[^Q)K-\+24B8-Y%N"FD;/>!I&S8]QAY@?3 MKC IC-0M1RU!*LQFF817+\$'%M^#A*5Y;8!J&!6M$4D:+27-7E.E =$9 JKCH M'\?9*DJ.&#)C7E:8D^9SG4[S&282Q^/!KE+[>A\GCM\E+EGHGM)++3./-K Z M?C.B1+E"Z\/\F$_)*9/-J,0/?\,[H%MU8>1R7BH,*J4:[RM3)5"@7U(;EW_;G$KE[M"CU"N<[M()V$5RI>38C2^VJM)KJM-I MM+N=??6::O97]YK:_/>=9J^>U.M/JKMNJ!R 9;=& K82NR1]*U?W!=>X.ZEK("H^R>#;JRK:3+D1\[/E,=@4&K &>ZOVG M*NPGMJ=79KPM/3A;;ZH?8*8+X+;+72,-)T2O]OX54S76_HMR115K;W7]OVZ^ M_N,K[+(^]4H].$#1',F]_";J+H2#N8ERW;ZKX3JMNXZ:V[Y?S^P(,SN^\);U MJ3VU]>(=;)IEUBXBQRY*L=NEA5+9.O;LVM8W;XEEZ;R3O[:^VFYWCM,+:TM) M2:JHFM>JQ&M:2VWWM9K92K,AI\QLYQVUV;G,!%(JP&?1^Z?9-?*\W7[=73G. M,G^M??3C^^@5,*>7UI_-]HKO35P>#=F5W9^<=J;#! MEK?$4OM-PL8;.7ALQ/7 N=:]W5WI3;8JO?4VXE_KBIC*V*T5=>#:_6+ MV@2U<_U:6Z,-*KLU=7RM2N9:K[JW!J>N XZA FJ;K7I/G7PBC&A&NH]$F&.G M;M3OUPDJM8-6.V@;4:"C#BZ[M7E6SLUIJ_U6=3>G=M*JY*1IJM9M5I;73ET1 M'&-G:C^M>D^]G62(=;G%)W[3IFG5O6P_\:WI=:J;I5+G053)9COO%DF0+ ^7 MG;@"..^_\J[4EEKUGMI3D*V\!MH] A38.P74-W'XZO?+\O[Q9:JL3[T=KVQ? M ?7J'OZ:VF]7U_X_^MDJ>L3M MD3PES6JHA>)-"\6E>MGXI\I[]1XX>2-=R@$?.ZAQ3#2"W3DHHL0'G1?>675J?15^!C-K:4 MX7U%V(8=1;#C$[44YZV7L'^5X3'=ISY[O_0:??ZX&%S%+ELM[5=5H6XU'HP9 M=;#Q]2E#,'/+I2XWB%?=4+"73C1BL9EA5[&99\%. !45T[-@PCF@'E;N8Z^27EXWGR?XT MV"C,!C9BJ=D#Q[B@%W5X.:(+CJ;/D(<5]G/&L*=02%W&GID?8&\?6)$[I7F- M/%>'HU(962YO]:D ?7XPWHH*M3)U%8)%4-\QX%1WBIW+3!C(-7[@/'%4)W"] MN6+#3.WLTH'FL$]SIGOE[!=42#R(<-1X;I$GQ'[YT3:8N#V_=!I-)-%6M*]'3=O)/K"_.X^^;Z=3?7$^E16D]JTTG5W5Q?,<=IY?56WZFVO=S;4L!\F^0"R/FK."[C,ZA"+@CW$*C'NH MY#OZJT$NU]'A;>;I%5M\N3.:M(&J];:L3CQ^PMT.I7$UZU:==5MMM5<82+QF MW7)MXMMDW?..VAGT"T/"E)IK-\IPWIV#2[B9VJ L.UEG15?OJ5>J*#TJA_Q& ME^(VSRTSIY:#V8.40_3&P+6UECJH<,OT4]^=CMKO%$4"*,_N[+PCI=,;IPRO M?:ZI@V8!&[ \?';B6N!D=.KBE*';P%CK-+4:6;M\&]-JU-K9=V?;CI,-K/:T. MKI5P6[1N'5PKBUU4UJ?6V&O'GV#]U&D\]1:BN+=.H#M/%A9UZK[/ D6?NC"[ M?Q/DPAN+YPZT+?,%ZT#.P>_>U4ZW;L11GOTXZ6ANMU/ "BT/EYVX"CAO7]:Q MW+*81F5]ZBW$FO_\CWY+:WVH[/;4 M0=PJ&6JU(BCMUAQ/$=166_6>>@N!-H['@+!]8]WRE&?=#IG X<74241@1TA> MRV3>6XR];:C=:G6PZ$_=%_*73Z&[= M/ =;X@R2+7&6MU#%+HLLW94IIYNK;GBN[RO3T ZLFN9;A^L1/IO(O%7=+?B'4(QW82(P8R) Y-^FE,WI%[K5P7^3T_ T2<_4W2+ MDS3O=?=UB'(7W@/_RHKHSU9]>CWCJ2%:?63T4T')XRT])3 M/"KZ<#[!FK"WIN$Z2"=^<*:.%YM T%1..FK[25U"+T8DZ[B7\ "?C7RXG*)34'LOAZJK<-.I%8LZQWNY5O/# M;_^I3VCC$DF54UP88@:)UFDE?1"T[HQ79? M&RN6Q(&K-0;IIG+M+7NJ>VQL,VP8G&[\.V&Z2=NRXKQ4J<,P;M0:5<+;TRUC MCG)N9$'=D0.85&&EL6(UD=9X(&;^(](:FVH+RFH5JD+)4Q6Q @#9-\G+\_D/ MV'K=TY]CSJJ[%T^B[L6MNGMQ">9RTMV+5^L,K@\B/;'+V=9)MU0OV# U/L>2 MR@@]1[3OZV-NI\:_^5 S%3[KEBY)'G3WQ-C76YO'XL!+'FN>_*8?SF:V):U< M6!T#]G%B?R/IF083RS,58-)@'@^@@Y?(<+HE=<%6DYY3=@\J(]/YNWL**@.6 M,AYCW?8HL>,QD\ST.>V\8HD(AG#L,:K _@HMX!/+>8:'B9WAH6^Z\_C[S?VP MG*Q24!6M+&Z7!"[E0G=?5JQ[,,EX FM95!4+ :Z%V!<.G&TF3F_%]6IC7O=86+W.H\<74(F@DT+;)?>AS47S,7 M#6(+N NTGN.&08J_\0G!A4F.Y;I\Q!S@LP">-]PG!]9%NG[SF++XD)^^9TC, MF_1K-/>9!T(PLFQ4MQCM-286(]4O)JX$*)XP?Q1F..% T%#:Q)1F(7P?3Y:R M'^0%I> NP!"UYE7)EFR1 )E>#6F[;"!Z^2SSVPCQ&9[V+AS[& MZB=H_]BV^X)7WYL2"JA"UZ9Q (-2'8 ZMC[SV7OYCP_RRM5R:(WTT@_F'B*V\#_' "!!YK^++JUNU=SJ-=K=SXJWHZTEM.JGNNJ%*F:90 MUJFW4TR#R6DU94PA[(CZ1O_^#Z]@;U[7^/O+]]))VK@+K=?V_H5WWL M^$QU! 8M5])F/M^=WZ+=YH8PANFK8 <8;!8DKMW]3+9;7H+@Z32A[^QEN>MJ MK4Z'7NVWVK3^E\V;UI_D^G_=?/W'5]AE?:I&AZV?*@.C[0NTXGB%G;>H()D? M7=RIBL,R#2/6K?9M5N.<5#?R5K,X\.+QZVEV (2H>;;R/-O1BK?CJGFV)+OW M-GFVU=P2?;S4?+M1[>+N/%R^[>QN"9ATH-VL:QZK]]3)0\_=!;TQY4MT7@SMM186.P>@#&YUIG4.DN=+L=1N7;D!KKK@Z)%DSUBA+7 M=@F/UE!&!R)-N=5-NRBVUQY)4^XX5BT0;U(@SK6MKQIJ8:B%X;2$H3 <:O4% MHDBTN(J1A=8Q&HS6H=_J/74R<'P_(ZRF<7UJ^S7&U_&C6\H?S)%MWV7*D:Q*IHK!"R< MU?V),F&V&8$%PA$R%Z!,$CBMH5PG00:L7(527(\80.X13"P(/&L4)@K+03?E M?$U$S)X(;@Z?'LUIQK0$V C]B8BB$/H<0YC)B66SS&RQS'?*Q4!4#;,LZK?,OY^MQ^'1M-99.0^,_$3R+]9?H65BM3$!X^DSBX,\^D!MHXH +'?. MTE)98&S2@ND";15!!28ZPL[V&EJ$.XLO_-)M-=K1;RPN02IG0H3$>-9ME$RN M,_5GW;+1"KL8N]X%8LPYYS>EQ;B!QB!:''>%F]?&_FN<^6R4%_!XND5L;@WY"B M 6TV'@/Y0@1M)+4#QY:O&X'<*EE!#VHD4%Y@&,0S47YIQ>!/4MI'GON#>;AI MX/)XH #%_O%0/9";>8@JB<@XL'$-Y3;&.4TO&74,0AW"N!$X@/*+UFQ<)M<1 M:2)"DW4,\A<_-%0J,9\R#L)G@!.H(Y*,ZP<7ANTB,!ZLA? UIIRS"6X(E^@S M^.HB1 =A?/BP\3.)"R*'M"V.8F )Y#\\>R5P-?B>9'-$I*EQ]R+H;.%H\!.* :PTH6;YE$8LB<.2L$+3 M6@ZGA4=4 ^WB2'O#)"T'OCL5($9\*28#?67[$C3C<>%8<)R$\@F MET#">DEKPP_'8\NP<"R8"UH0-+X=^0\.8R9'L-'Q+["7@['A8AJ'#7DZZE92"J$@+K@'H:9D93%6LL3293I2DX M;D"NKO0'%&H)H/OP&OZ$H0B?7@,ZZ;9=3MY=JG#RW<@KLD!M]V5CC[$J6$/= M?D/KM$X<0:>4DUH-\%3#U+PJ3$T-NG*R("(UZ$H-NK(]Z,K))_+>1>VJT2U\ MII!6#6WPUDINSSMJY[);%XK77%LIKFVIEUJKYMJ::RO%M9IZV2O0MOG@7'OR MU=6WU-AAM8USXJ6\YZU6 1R8$A98GN:VM-1!JU?76)=F/TZZQKJM:IT"545[ MXK.3]Z _1_ >? MJY:'-RT/[5H::FFHI2$Z'=K- L;6A@J7N^9D4:.R171?ZO';6795D4*:% MKK5AXV5AR6;.LI07W<=JKVY4T+1%-6FB@O.75J+@JNA0HF&W+$*-#.^U"\AO MZXTDX?VS>7ZV%=>.R8J*P)J*/&?,<&5QI8%I^:/0\WE=*U9^N=X/*M**:C)Y M%8(5L"FEQ8N"7:Q/,!AX!R 5*K7H=@+7XUW@Y1,S?<[_3(6*AN&%+$X5A:/Y.]&Y_.3D*V]9P&A --[&OK4_&8N+,Q.$S9] H2ZVZR0P]PL+ M$NA9P/3XL!Z[T"!!O_33):53/1#EN+(O=-S0GDM4MH27%\?S1/6HFC=300YS M@37/F>[A:BP^07<\QB;-V6FU$[K/(GJ"EA$5V.CHST@%D*CR&@RJV4>J4BF' M;/+,"RL7QM8:_>38R05.=9,56>5IZH7QJLN(,BVTF";(6U:L";1&2Y6-1/7 *EO*)>OQQ5.3HQT6. M..8?,:K)-;P8^KZT#(>.;L]]BTZMN$82BRBMR'J\)ZZG1^Y2& !XS T=!V?. M*^D:"N^E$$QT/B,C=S,5&]%23*PH=%^HSLY#F(QGK#&$P]9Q%1^VSQJ#HX:0 M*I08[@N1P+,H01NQ\LVT3<5.G7RV^B:.Z!092KFPXLO FFR)^@3*5W^"7>5< M#)LO;1/ER75-'VLKX=//EH&L@26I5-#M4/$W61O(NC9[TFT0EY'%P3XX !4\ MC)6OL'@LDDPQFZR@).&D*/X$SD>/#I)G@+F=\EWAF!U^O'0Z.%)ZPQ_(K*,4STV,!"W]EU"+DQ'/U+ )OH"Y-3 M#$9@( WELQT2YIMT(Q;60$X)+!.8U278#>G*PO--7@#L]"6\15@,_.@*KQT!D02ZW%55*)#AT?H@@ M!EAA"<44 VH!?XR7KQU%''$SQQBL<#GDUN5051!'K-7\D#F\_I$XO*XSA]))0OD,-$^"5W)OQD=&Y?W- VDPI+ MMP/&[TV22AQO 'Q?W@FZ"77O;T ^1+5 K<5==1@@'P)U!ZNV4UNUI33M.F_7 MJJ7@M&MS?Q$\18.9*"ZEU*,%3XJ;9]T.=8FU&BLY);7F;YDU'Y4'2D7P#6X# M9!A>C4%Z"0S8L&81Z5$17TTL-E9N?C(CI#/G#@'R0(7C%O"_Q7:-^)NJ,+Z# M AF3@QKC[;4 T\1Q8\>+A^:SK+R(O'\?VO!+K:U?:-US]HZ>UKJF^(FB2?2Y M&WDX#(W@G3@1:!IXI<'_*6#0#?>9>?S:;1,XO@C,D(XV%G&INBVA<.5T]6+& M4(8;T&5O2Y*'>1!OD2HS??@1+<[X%Z;_P,UCT64+^2B$$,@GJ>!W$VZ'1U\C M]V;H)Z^+^!\P-OW"X/P%#K3&%C/W\JV5Q[]$FGS2/;+)SBU,F*$H&WAZ\'6\ MRV(8@<>L(32ZYA<<3S+:!^YM2;M)SH8YSY;G.ER8%LV9>-MX6A*8618F+BU> M81.)R/Y!,RI GS&BR-3R$UZD5AE +@J'T!Y$@/@< M%-;13?8789$CP7U4(3*U"A.N./3UG.^&8$%R'O$>F3*_.-GP#B/BKVC+#3VZ MU4M:?YXPGF-2;[S[JIAU_*T$L>5D/L"^T\;'$+G^W$>CVW:?,!T35X=J2EQF M2J3O'VR>I#*]P@>CT>)O"N*(H&XDLHZ9 -@5[$0+D1_(V4*\1]+I(\_ODKNQ MP&-JZIO $P:EQ:W[>FPTQQL(KX@0"^+*\]=XCI\ ) Y$:I01">AFO"@2^3R3 MF",Z<4#Z8+H4,\D3Y^0M]4GXP%=QH.I6LK4P:I0[W(7XB+B75*BMFV(=B5-> M:B(R6.PDX>>QD>TH)<&WEZ<4TJL3W4^YO:0?\-0##6?Y,5+N7+&M'XS')3// MJP6/VE+N5M' GC6U)#8TZ)J;1=M1B$LM%3O9_'%6P=8VONG"],AV_,FQNPM8 ML" $>9PM<+BE*809$09;[&D4H\FD=P+#$86J42M5FD],GM!I:8?/"V.%H?B[U(\']N72,,[ M/17*_9@R#*R''D;,5(&_CX8EOJ(OOC -,=+/QC8G(IR$NJ0FC[CI!(7.+3,Z M:@,/#(8@T<1L!-(QMGA>5$1*&G?$WX"U>DS8 +C!W(:T/ [V#YX-,_30CU#* M+0<_C*F""6'$(]RV%V;O$^E9RF&/9I"DM"3J(DV30X*9&T:V)Q@/CL&I3+O. ML<2=N9I,,Y.8Z''&%K>=F;E<%[Z]))=NG>12@KF<=))+P4/^'HXATR(*5>\L M_9.K9-1:EA.*QEU1^QCLQ2?7ILQL3+5VP\"602P\]KZ!!:G MN)Z1W0VQTT(\=++-0YR*6CA$@H..1((1#WW$CAS69N%\HE4(LSQ@%LL0)8#DB\*3_P'8); ;6!4,_4_?F MO/L8S&B^-"Y%3U@\Z3*:!YXNXN@5C?^BH,587IHOQG#JDR,^.7K+3XXBUV>7 M9_5Y<_+GS9'N/[\-[Q]!F;X7^?Z)P-[6U[WM9GW=6\H[3ZVA?+GY;?A%^79_ M=W5S'ZMD/GZDQ%(Q(IQW\/UV%B$,YD3!&%0/<:V;HJG//R+!U:QI% M7ET/_H('9'QRRZYUW(@0]SNB019&EE[P=R[Y4O U8Y+Z B;3\0_P](VXUQ:= MT^AG8? R&R9(46J,)[%YZ(_/>'M"CG.\1&MFV@/R$M V0I,3E)-V"A&5.I# M-:!1I4_<[7/[#(YVNU*59V08:L.&$7L&YXUXO8UMZV%::T-I9V7-J^W9Z->N4\&I=50OG^]O_GM]N'QYO[F M6GD8?KEY4.X^*S?_^'[[^/^4AYNK[_>WC[?PR^'7:^7[PPW^4:C3C3GL6.7 MKL-VV+M!R?>NW5"N;SX/OW]Y?%"^?[O["IOU]?;N/K%G)[T_G4U:RA]S?SK@ M\-Y^O0&9^GP#HG1]^W#UY>[A^_VI[TNWY/O2;2AWC[_?W"NW7S_?W?\Q?+R] M^WK\'2D:$0O!_]*:H^Z%AMUYZ6KF&T:/,BOA,_Y(/?&6+K,,)H#6BDT ZNIJ M^9A?L?8"58UR(L3A[?(KI]R$,$7KZ1?:^7A% ABA#GF,&PL43J'7P920->&4 MHN('7LAKZNB2]L7#:)4,X4FPEZCR%VM^=>XRXQ03J"E1!3#&Y&B-V%<>#%A_ M/)<71MS.]47MKY5<#K' N9%,=LD:O\3*7.6+$ -KR.E(@:V\_YR@5#PB03"Y5=LG51M!\9:X[K MS,(1\'W2&R=W)$ISY^7S2^F/RTQO "PONZIH8O2,3'@G@!D='!M0>T26=6\V MY)O*?UL_W\/LOX936(E!\P-!NL*0X0^>]GS##?_Q%X]B/6:-^- M'SUSZ'F/\.@GVS5^G)%J'5\,M,%9%-HTAX'XW85VIH#)JL]03KV04G>(_FI^.?5",N ZI+";.4$_,X(,&=,.X"3ZZDCY:D#IPY M^"Z^J@%MAJ8["YCYV=:?SA3.$W#X_ S>4QD5J![;9Q'96LVSCSI_X;__EOKB M1Y2[S2>1G,&C-W6"32> 5:S;+K70A\#FP3T$'SAGL9G%(U1;4A^F55MAR)M& M]H/)XP3^)IB77V9$3'VAG17W/RO1!EGK-SJM8LU]E_^^/2CV1CVIDYU4>W5K M[1-J._P5U"(OSQ"W76^UC2P:[PH=>Z@[_Z8\"C5?DR2/),HU'(!OE2XW/V>6 M5Y/A:U21\##1O0C42,(S@5_SX-JF=(R0F?;2HGFKGMTK]>ZJ>^F#!GJ*N"_< M9[EU3-38L4':/OLX!#/S?S"Y RS)ET4342WD(T4?>;0"._&5#C#]/[\I_ZE/ M9Q]$AND#E:5@88A,,5UMG:YJXUZD*\_!6>6HDK8[GQ3PXLB9C?:X"YPD=/W2 MG:SW\!5E7>X&GC'Q-O7./I)K2!@?Z!76FW6 BU!1D:A(U[LFZA[:.@@1^.QQ M+#0P#"PN #[9#V<9H>B?(8RT-=5M_^]GMU\_GQ'@XM_/+K+"$L=+F7E,9.C&2\[Y1&^1RLT+@ JB'#O/?#*6SYBDNA:>W3B_8M06KAK*5\=1NO$K4H'0&N*?=LEHGJB3U>.&;[7+CR MS;6U5MF&9%MG%F[^G?TRZO&:CK:UAG8T]N3++G6I0JF/;C&?MJ9=_*71K>4D M &F_0BI'*")P9G_S+ >QB^R<.N99Z/DA8:J[XD8;080ZY_H[O$_FOT$@(?Z; M\6+2Q;J$BQPS83L=L%])/V5Y;M7R7'5Y;FTJSUG8K%J>#R;/1[N[:+?B0WJO MW^\UNILP;C;Z@2;21;N1X\*,=)]QH?N/C2\E:FU49FW46F%=^$7,"ZVO?&\\ M-*X:J'!(EVGM;I-K%WY[DGI'5[BFF6YT>$NQ;_Z@_-Z.DKW]^D%"2Y[E'_ MZ3KN= Z&:< \:DQYA5!FW[3GY8Y\.<\23?@[>"2?,S[=,8])P+) MURSBZV1C$,R^U278A,RB4T IY.3NUOR]_YW^CS?(W8\4P(IY,,EY>$5*M;5X M)Z'X$T2WQ:C6"-$;$!U7 EV,00Q,"6J! !ZST)NY/D=3C^*_?1G93=Z'$_:) MBRAL+Y:?@B/$)R4LB"7A[_4 $4%X$RP',5%H4E9R3I9CN/!U0M]'! /" &$8 MGT-$>0?;ZF ;W'R\$XHR9U%=E/.X@<'Z-E?O5!CQ)QE@> M+AY5+A=6XH0T\81$U8 -:(1PHOH@;8%2AOW_N%BO;1RW1*G Z:CA2%HK)^U& MR/)J_<.;=43ZQ^)Q^R0J:H1,%"D,U%/B^SGREZZJ.4;M2VZ-0&D*8OI[*8CI M:C7&]PF6MRS6F0EE>8&:\7V[T4O\RJ,)\]^]/G/GE\ \W/[V=?A8!**Q/."Y MWQ+7\81YFVB&MT52(^]#!(>$A?V#'-ZAS Q!O]-UI\FUOM#U''E!],)$NP?- M' :VW9@W%F5<^?('!&AOB+81#:B'8")YL-0577@J6G/4Z3<&S?P_%:T4VF"H M#_?E]O.-\G#WY3OB>#ZHRNW7JTVL:JU[ +-ZO_9R M1-ERU<7R0B;P?-XK?^AS#A&G-1?JU#=-(RL7D^6O]6_^WY1'SYTK?UK&!.'W MBB')[*W0J@JT.CR=JD2-)'-D[5U=<]LVL[[OK\#QS=LS4\7? M39.I\X[LV*G/.+''=MJ>JPY$0A)/*$(%0=OJKS^[("F2 DF0E.2B+Y6;6"1V M%\"S /8# '_^]\O,)T],A!X/SO8.WQSL$18XW/6"R=G>U\>KP4][__[PW7<_ M_]=@\/OY_0WYR)UHQ@))+@2CDKGDV9-3(J>,_,;%-^^)DCN?RC$7L\'@@R*[ MX/.%\"9328X.CD[28NE;\?[D[>')R>G)N\'8'8\')Z?TQ\%H_./)X)">OCTZ MI8<_.>_>_3!YST:G].# 98/CM\?NX.3@I^,!/7%&@Y/Q"7/I"3M]>^HHIB_A M^]"9LADET+0@?/\2GNU-I9R_W]]_?GY^\WS\AHO)_M'!P>'^[Y]O'E31O:2L M[P7?"J5?1L)/RQ_OX^L1#5E:?.2/B\Q''O>],0NY'TGHT/"-PV?[V.R#X^/# ME IY>C52O""4-'"64EPI!G(Q9^%A.1&\W\?W*.A@<' X.#K42,V41X.#XP%6 MDDHIO%$DV16 ^)&-:>3+L[TH^#.BT#:/N: A/D,=*!3(O9943)C\0FBA#]\1@@!ZLSD7D@0:BS$-1ZKJH9!(=KQ'8K!ON$.ETF$L&4)1U4JM_#[S M98B_!OCKS4OH[NTWEQJ%@PFE\U:2\S2Q].1)FQKD-/?PW;MW^R^HBN4U*-4I M57Z ?PX.CP#F%F*KE+.Y;/@U2.DV48=L&+:K0TJW9AU*QUN5+I@HU>]PW6HL M!V_K:B24K:JA&(7,>3/A3_L.CP(I%DV&1!E)^J/-8"@P(2J^S[5WWLV3I<2;<$JF234?^^I M< 3W#3/*_ESP.1/28V%^L5,,IH*-S_9PR1ND\_4?<\'>0$W2(IJ XB#$UR"! MA;!VJ/;>9 U*6: >GNV%@(//XBZRN?TN&[=M/Y!X@?^*Y9WL7'&SU.SJ!ZN'SK_?79NM*R<\(4^XI_TPA M/QRH?X=DD)GY Z(H"9+^O+]*L,(J"IE[&WQ0?Z^.\X0X*5)#N-)3C>F* ZN4 M+'F8]FA-/W\-:.1ZX-]<\,!E0:C^@&[U7'1ZSJF/MLS#E#$9MD6B#6LC5D< MT -T,DO 6C(G2^XDSYXD_$DL8(=H6;??40'MG#+I07*Q/24HD674 M@A_7TX*\R'^16.A.#\H&* VG5SY_WN8)/#&8.I @QP59?*"R1PZS $WKRW(K7@;T?T)/2PO='P>1H+!CSQ[ M OQ)3@#)))!41(]0O>!", >9\;$WFX&6"X_Z3 @N6J-8R\N(VKM5U#)V..8R MAB3FV".0KJ@GGJ@?P0Q$L7-P(FH+3BD/$RB'!ZN@(!NB^) W]M.XSL#8ZR>KO1[S(,B$ !ZO-<#%ODC)7*"KV).%/<@)ZA.9O5 AP>A?8"/'$TDYH'92KY&/$ M2G/.4U8DX;5$ID^!M L^FWFQ<0^JZG 5CV!!EUA*'2LC.B5.^)*;&D0%?CT" MZ(8'$\G$S&6CUL9"@=8$P9'F@3(Y6SN\P5C(Q8 6SD'AZXM'&4LC&!HSGG*A21L"/+I$1 /T2AD?T;0 M %P6VSOD&KT1 LT+SUB0F$>/NK]-3O2.;S_ONI11 ^.[=ZT_70.1E#T?9V%E'4?@4A2R=TP M*!(;NU^+!B3T?>SW\E1T-QAJ>1E1T8("5Z4(X/WL3I1C[#NQ("!]J@$+0_SY M"EJS1JV,^J5%6SKH5UJ_^,:'? W5$U5'@K52_-)JQD]V&MD4^SO!W!JAUR)?%3G_OAM%9;V=C4@Y97AS$PT6X5+GXR093,TW6:3W*6ZH74QI,&)B8&>)H-L?GL23>5^2YR85T MN7[?FI:N51NC2C;=XE2BDG'%B!<4U$P9\$GM2*%Z!2WMH^;EMBME$ ^?H!LP MO#+FX@%,F\]4?(.N@0);N[LKP[+?%D]OIE@VG].%B#;C,3(W :4'<_+:\XD!<,N\EB/&F MN74'6047(TQ:+#;9P]?WH15W0S8 DAM_@PD8M['!RU211R9F:*!C'V) YQZ< MZ*ZKXT9D&A'7HJ-+Q/-C ME+$TP'QZH-\F4 9S#&C">X]B;42F40.TD&&I!F2R:\=\ MWSVE34#VQ^'?H2A_'.Y4Y5551=O$GW-UU:M?XE?W\*KC!-)%A%$)M#ASZ1F" M%1\Z+O)+6N1>[6+?@;Y^[L#,T BH%MRM +3?EG[9N8Y"9CA]>YF^[8AH=T%& MI+68:<7Y$BW#G!6ZS ZA[)1@OHGL7R.>1F@;7AW:^V%<<^PG&V17* ]LI"?F M7B\+Q;-B1Y W)=:H!RTO*ET9ZG$-!JH*)*M#NB+L%*: W+HCOPUK(_!:(-4( M_&XB,([(X8P+F>S-2J(?8!#]3=-#Y\H8=4>+[K::-/+U6L:(T&[6YRQ6-3(@O\\2JBB2I8^^C#U7G M++7-KFG!M,.ZY@O7%VA2(OUC-#5G/\LWT2X);K)#HCU4CIHKHCMOAS5R-,); MLK>UYN[I7@*7/YR[=JJXCI<1+"U*N'+DM^_F9[YWLRGP(_S: %SE#(V8F8YI M%^?,C^KD]@XZO:<[)' :L-S!MTWXLJ05'V,)W+RP\=%H$F*$6 O@UD*<2\1A M#A^+HL3^0I^GP3(?46M\]$YC8,1O)+OSV>?8^LE#J7W^N6N5J$" M3>L03.L'?(/W!CCJ-!3@P=S'9W[ATS#\S.24NQV!W$85C)J@A7FKKR1)*[93+AW982 ]%SL,#+/L!/CEB^-' M+G/'@L]PNHSBUNN*L!UUVU"EC K8_*N$J]LRD@C$S)-;8;I:?QN1:02_P>6XJH 236+9/Y"E=)(73S+Y M.RTIWDGCNDH(]2]X*!$\W%[8U9SL+,>H#7J M?PG?T_G<"\8/X GSX]NE4#U&_CC\XRH",T5"YPX#-[9@F%B> ME?K,9B,F]@@=A5)01Y[M28'?K0_HC)WM-2(-<'?XR&=['V M9WMN%(_1/1("N!(XXB\ULL_VXN*>9+,](N/B4@SPK_#PO.90_7N;.TMZ%9\ES;=T3/UPV=3F#-JT-WXWHC[F3\[V''7K M;L-NB)^ Q0I:+18-^F#H/N$ML1-UO<87+MEA/;K5Y:V ]!$4V\<-(?6MT(I9 M4?D'R07T+(R;Y*\DSAFB#E$_R;K5MZP=#RN:'=_2"C9;' -ZI"]XK\H]@P7; M\7Q/B1_**X;WUZE+9".\-:E0^#90.@1]N&>P[C U)[?+)J=Y\ZVR'QK1;G,XR%1,DQ&1=S_KO<_KGR,;D5LR5VD&L2K1+2EJ+8'8U4G:C[%5\ MHVP6DJYL:5-R6YN/3L@-IX'!VE\IM47+K+$VWC/J7X;X\0%U?51] RH*6S&L M?F53S_%Q550G4AL&"4Q45C0MC2"5>/0-E\X6'&Q90'^_N;P2C/W%!"[S]2B6 ME[4".ZV_/[*Y8(Y':[T= Y6U49RB_9Y%.Q-+?IBZJ"H\=<,"MXAIC2_0D)>M M_L -#UP>7 >2B1$-OMV"SP_RT'>_N3Z_O3<$NYI2V["@M#!1+V@XO<<[E 3& MCQ.?[B.T:A/V;PUS2WVC.\$ 5Y%L8E0Y^? CP\]68;BCLD],9"U:VZ)=:B-" MV"2JEBZI0R<&XRN.U.4-EO%5E]7!L6;4MMJ%5:Z[XT2S2$6Q&BT';=G8.@MN M8OA>1: ![OGB$BAJ?*=MB+)5R^[9G"[4?0VWX^0R6% 2<(GQ+Y@>9EXTJXFJ M-"&VUN)(=P R]RYNQA!]YHDJE9P>";3]X<]4N*:XZ]I\[30_S;Y"'8DMSL%E M,%6*FB;_ZK&L*FT%0O%)@5'),09#T,M(9T7SDE#M!?-]^--A(4ZN]2VK);&B M41=1*/F,B8OZAFC%K*A\/,FGQI/:AE(Y%Y26M749;+'DXT$+'"^K&R>HOPF# MHHZ[M0OIXY0='1P=-XQDEA>V0K\[ /4 4PT>4(9)=".^9SE?:\>-(= RPV_, MX!8#+_B"X35H[C0;,EX-RJ(?(;\R93T,_A$\,M M!5\BK-OM.(X=7()$0B_1;SYL)0!48VJHZ64@D M?V@Y%Q M$UM!^71Q_0OW4;4, :V2@C:L:VM:U>DIRVU9[1G_3:=1"KMHE8PFX;SB#>'# MRAO"JZ-[S3G\(U;[>DAQA5H&N'%EWH2>E#"U=78H.F!)- =ME"<&?TK,?-Q& M#ZBBL:%)%^K1MNM5:VS4-,@R;Q2*&=H$3S>?^XBX2SM2X M_["\K!W-8/AI]>$A3&[#H^*6#$.;S(16-+#\K$%-YJ"\N*5#J.H6*./AG%HJ M&PSL"['@>'0HR:H9O(2JTE:H8&>W+SD+1R>X 58EZ3?O6I;)V&:O-3][MQ+L M&^J?LQ\6OV;?<%/QVGQMV4W0&?-E?$"=L(DC"+]XL,J"ZTC][/S)?=V>QE>2 M;H9ZS>WUA#LJ7,0DK4W%Q&SX?ZR84*32WF*B(K)MO\ MAQ22XSF+ALD%,Z6MH045"T$H#,ND7LX*S-(LW!T#[Z42GY526QI#7B#9!'1\ MC9/1B1&RWGT#Y4RL@*M%S&DXGPO^XLU@*E<)ID>.4<8^U.>D:ONXS&Y(!6E;0 / M=X^&8(-A/>I;45;2"C"^L F-K[)LL.>IO+"M4T-%W*[#W0HV7Z&05#&Q(6'! M>YQ2PU182V*%5F[4"4H3>447*/8C7L<-JZ^!!5Y+SE'OOHNH)1=;C?ZTQH\\ M.636/,K9A-3:)%:SRW;6O*O'7MA;W<'SC[IDIV)?UIB+L+ O"_>G=]SC5<_+ M5LC3[3]/+(R_;UQ[[G2EI*5@I]Y\>KC)>(=0-<'?'PDH?!VPD4UCHU]_&S"5 MJ?28,(21]()6-. 3XQ-!YU//48$NP\:R\L)6-.3!\1[HF*4;WZX#QZ!4E>7M M: Y>"ND.X:$[4PB[?$'=K[;@DPMG&(:PEL4+5K_"::? JGM KAU5UXD&-%#JI;S6< M<2&]OV(WK:F_TIVGIU)516UM;@5HN[E^V]8KFH9>I"(S"P,3:2^(]XOS'+[:4 ;^N2 M.E/,_3I3%GN7=?=C;HJ_'=GR1NSXT%W1JZ$P]@+_>Q]D0 M=UN=O<)1/F7^9#= F,Y*-"&UP7!JXYWC;+=!9S_/SE85:'- K7OW&-E9NE2^ MUBFJX60B,(_$[#G8558E6Q?^"Y6RGZBS)D'HN?K]SH9\:F-Z*TR$-*1^I3:A M.HRYX97@,_@;*B(7=]#E$AR6Y6D#8VR^.2-K/;SB06VU30,WNDS!65'NO/DB MEQ8<;!T'GVD0C:%E,/T&D\)A$\, :$#XNIJO/GX4@KTYHQ^^^W]02P,$% M @ :HFJ6%J;^3EH*P 9K$! !4 !B;&9S+3(P,C0P,S,Q7V-A;"YX;6SM M?5MS6S>R[OO\"I_LUX,Q[I>IF=GEV,Z,JY+892>3?9Y8#:!A\80B-23ER_[U MIT%2$B51$B]8Y'+VJ9I1+(E:^(#^5M_0:/SU/[^#9_)KG45Q^[ M^NWT+]H)K8T.K.12F#9@62Q6,P'&20/"IQ#^]\>_8#3 >4:FG,I,[9(\QE-;#'0_.L%_NV[V?#\8H17/SN; M8OG;=W%49JPR@*LEO/_8Y?'/;^:28)0N1XNE^Y&^7PU2 7<]+?PR1_J+Y<)> MP1E-TJT/C:I8)].KOQQ!Q-'BIX/+&?L(<#'X<0AQ.!K.ASA[,;2PL0A1,)V49&"Z8-5X& M&S YH[N;WNV9K)'IQ30]FTQIRJ0&OWOV&:O*6FG$)1:8IGLLN_TVKC[Q?'9Y M?KYX)B.:G5_]?9E.SCMDPGS29LF7(J6I'"KS#?/A4F9OM&4Z:]+UD2<6G"%$ M-G!KL42;6S/[*2YO9H#\(S#@0 %T283,@::AD.7H/-,Z$2$%:*:,,"$+;XM, M1R;"[O-Z1\!P.L6EW/X%HTL2*#!!(F*;QQ#; MZ).2.U#Z=TE]Z*(W8_6+3$X$31]&[V"8WXQ?PL5P#J.7D_/SR7@!;B!MY%YR MQSSWB=ZQE%E,-C#2Q%R"<@9Y:W7W-*H^J;_&W&@LDG94210TU57&_)9"I2D! MNICB&?F>PT_XAL*M<_QQ,IO]C/.WY1?X,A %'?>%LQ XD)9VR#Q-G0G.8_%2 M@..R-6]V@[@-B=0W2J(.A=6,4>]Q#L,QYM&XFHTI!Z=R5Y%%7CQC4GT-*IM>*._3=XT%DDSJJQIOZ6U]!)BY-PR M&M$Q[4&QX+EA(D4AC JEV-"8&'6&,:&U(%B,?BO\5QOD'3)?396CT"8;TH1'^,)E^@!'2 MJS6]1#+P[A<+[0TI,Q/62*X_G %%,R^8G, MQ.HD&@3/P]%H8+3'Y"O5#/GOFG-")HUR(JX1IH4SAX#2Q#$DP'$(S<"\?S%.%>/X>)\1;$")A43%(O* MD#%15C/O=6'>N9B-5MHGU3S3_C">;03OOAW!-UOZ9F1X2WAH\N.//R+,\'U= MQK?EU]G2E PLE\9S<"P&C75C2[,@M65H@#S*Y R*UM'=HX"VH8/_=NC0;O&; M\>&'X;C&@1L!Y6S)45"2E>0HD##2L%!$9LI+(FN)UF'KO,3&;#^6SE5-[D D3P+A3R'3-$FB6G>-('3Y!J(C9$X8IOG_+9C&6K MQ W_=DC09,V;,6"MC.(JU@R^!$@41HA48\W('0LB --6@LZDK2*Z[JJ,-D;S MN\_K%_B"LW?PM2;%KB9FDE4N.,%<*>2)64%VUTK- M&9#!(S0%A1-&V-+\IB6X=XS50BA2R583"*)F8#IPS<.2M MZP(J6R^,0HR4-'FB\E/0.IIY'P0(UI*H5SU-&XX6X27L#P*LJ\"C)OS] 4"S9(8%;5LRJVT$NEK69)*Y%U M!I]B;KZ3]"2L/OFX[1C16A[M#HS![(S@U/_4JJ]/,*K%^2_F+V$Z_4HAV_)8 M4RXEJP"6.2[JCJAT+"($9C ;DR7-W+;V=[8"UB<_N!U9VLNDX5'4V7PZ3+6? M#J&[FFRB\!R)GA29^5H2%A+YZ ;($>/T/Z.C,ZTUR48@?7*"V]'A\#5OYPC= M.;1UZ#W/ZNCA9."FKA#/]]C; %JWJ'ACG>#WK MMIEHH^9UUXG[FTX8 U[ NN(C0ULTTS62"1XA02FY-BZ(G$#C,/]&(K0 M+O$'>KEH;>=32//?AG,RKK,YC3"E@98'U>J[1O_+M?>'#S*@ALR"L;P6=]4. M:]FSG"60 K4>FG?JVP-FGR+J0_ESWQ/J5FH-VW#,YG5K]VJ7=X!@;)+DHV5; M@&F.F@6RJ\.I)5R_<<'Q)(KLQ.M]CF4SQ.CV/L]=? MZ*4D+@W',/WZAABP."Q07]7):+20]K*[PP!(&-J7Q*+V@9P+3LZ%I9<4A4XA M66VD;WUFI\/I]$GG[L_!^UG,?LB_87. %="5EO@>QUB&%/WX1(ZMT2Q96?LS MD9WPLNY8> "C3,#3\>2VG5_)?Q TAB)K!WB4M44Q.A:4EPRY3,8B M&H#6"<,'P?1)>?>%FW=?X#:2;'_B94T_);(G(BO2(/5$A>:1;(O+AG$4,ON2 M!9='CTM/NWO55S(=*KT.HS1ME+(4@QCM-/PX2S#Y-1'B W&#F/S+DJ,_! /I' MT?1)ZQ[$@TV1: ,!M-RQ0WI,W5!\A9]P-%DT]KA2WRG6ABY&5>^;U#>W@GE7 MFU8J2>'7%5D:B8^$ MK&: M3"QH^I)<=%RK4(1KG0&%":,IT 47& B>"9-4$5.F][)UV?_CB/I4U="490T%T:ZM'(Z)IB.:XHM\ M/AP/9_-*VD\W\4XBWU38Q(I)=5?4(XNQ6&9U3-X*\HECZ\3E$Y#Z5,'0E!XM M1='N>AM8_HY5OUWAX0EMD=PSK[-B6E3[36X=BYH772NU=&E^S8A M@6N]D? XHCXE,+KA2D.)]*QL\-;E3XML?J?5@_>'.TT1X1/3;E1+N.%FK9M; MM7("*=&1_RXR<9+7D_\N,PPY1*LA*-GZ7/4C<-I6 1D=Z_%EJ%=<1Z8#Q2L> MI26?@BOBCW4 [?'_3"9TNJ.EX75Z>LO M4QC/("UD,,Z+[U82R?_W#*FBG16$4ME&0[B(RT+3 4BH1)/(B=6M=W]5<^I7^/RZG MC\J#OOF),#O[833YW+5_>#W,B?S"S=-LY _6DT8TP+OIY-.0GO;]UU]GM=/' MLAU03?"18[)9% MCS(6B_=NTV)P[9-+)3+A$L5O6A@6!'TQT7E,.H##]J?V=X+8)X^S M(Y9MZ _=F1 ;5H)W'/[=N+A4%Y_06G:4BK,! A%E5*K=7#P'0N M@<6<7>UB&F,!$WQSXCP)JD^>V0E4T.&":M-?=IW/JSY_-//9Y;3^Z]T4SX>7 MYP/GC?>>2Z9\AMKV5K .K-:_A\!,X2HGW*JMAYMQUJ*;UJK="."IIUG[K0X MN=WI@@+CVS]8^^0RF*!09%K[1K["Y7^O[Y>D?RQJD=Z3-_NZD&Z<#\#X@-P+ M)B 66C+OFI[79UW6\.5@C968!"N=9_ ,F]JPVV9./.> M%@0(93%<4)39^B#=OL;]P'"6B/*V/-XJ:R!D=IE<8!:-(G>[WH,+"35+PI&I MTUQC\R-ANV+LD\/3$<\>#79;B[%-[/L3S%< '@,W")Y'"LR!J=K^0 M:@(CU M G7ME2G"&:WOE <\$/UN-UZ?O(^.N=*5%-K0XRI+_,MD48PZ71UZ^">.,L%[ MO[A<-5LR%1)(V+9>,9,# Y4T4X+SK+/*&?U6U'AZK!VM_DG2(DUYT7CYVW*" M$-S:4'CH=O:!U](7%((Y\(O>5N2Q !$8B,!>!&]BD#LQ9-N1OX4T6B=\Z40T M[9+U]UC]N%74G%OC%&YUHC>C."F"4")J;-W*==]X=T>%?3>Z?#.^W>=]_6:W MI8$A'7&SI[>\5'T@DI1D32)SN5[^R7TDW]20YO!@<\*B9(*MM'@3.#M&$R=Y MXPYEV2W5?GPA=M1OT%I!TR8G-@9.,8XLBL4"M<6:2H!:<7W,?H.]C"U:$>=P M ;1L9W:'OG>N%ZW[OCY#1F:Q-O?FGF)?C(X5KF()2=I0VI^J>@)4G]*,1^)* M6T$UO.KL8HIIN%@H^O<(5S7)ZX?S!]HE'9%GEND!]1(VS8+0D24?C=#<>"E: MIZRWP=6GS@A'8E%S<76KB.I5MVNW>%U=?'-S(^C:36%.)YD=*J8,K]=@6UDW M&",KHI@"UI0D\1AZ:@?,?>J]<$HUUI68C]7S10MO;,[U4BY7CU@XP4(F8)F7 M;#P$GFSK0UJ']WPY5ON&(Q&KH8C:I.-^@]K;:/[UNE_10 ,*9WUA4INZ0^AH M>A%S[8%K03MI57BR_G_SH_O4?>$80==A:]OVE-.&B5T=?;@^#C&07H))BA26 M313?)4.^F77(I*O+1>N<:5I6D=ID MEM>(T43/@@ZD-'4]1I>,D:9UK<:C@+9*'O(_/'GV%=$WU]K31:526=RF4TC# M=O@=)DLN15GO!K.EHJ> M8M;5<8C9+TNW$2LKJIFM$KD@"@$SEN? M4]D.V58$.W614&N"=2"T-LF)&V!$]L4>Y(+Y]\N8:UJ#K(P4-ZS M!$Z$A)I#OG-6YX&LD,H BSC5M/D MR36M%R824@G6&N<"&>QC)=_7@6W%IO\I*?:])=:N_?$93/%[6'0-.:_E$D/DI+O6GIM7)YZ%14MPH_+ MZD%)' M&_W7QX.7_=TS3=!9\I'(92)$AF@=15"U/:A0:*5RV'H3[S$\6Q5,\C\6:9K) MYR@] 7^ X?03C"[QG'3BY721\/R0SC!?CG!2R#96CPO&7V>KB+T< MYJ?E'V>8U^?]JSYO,H;WM8J_-D8DUVTX>X5S&([VZBAX?) M^Q&>>(D;=3-< M8KH>NR8@1Y.*:& 2%R"E8T4'(#]):@;9TK=H,R0--D+K2QP>!'.P4K.HS1),J\-,NV+9=Z"9/7@B]%)>VF;3WI+;'TZ+=V&-?=4;!=2:MKVZ<7X M;K>&36N09,!HP+*2M"!;X^IU/A3%BEB*,D+3LUNW<=D:7)_..G3#HF[D=!2K MO;;541/3 MPEP/?&UMSJ-G&!/Q*@;)8M*!I923DEP%BDP[-B)/83P\T+WU_#NCWQJO!N?+ M0VB#(H23)ELF?;W@0$&JI;#T)7F3O3.1OFL>_NX!M%>FMDOVW8^,NQ9KPU3+ MUE!79R 'J&*605LFDBA,6\-K2B@R(^JY-^6]T*WM\NXH>V6@>\J]?03:+E'S M^**D='E^N;B:[Q_3R6QV<]U W6S]OMJPFG$:9. M1,R%%6K>UW=Y+#(A.%> MI?RI8ZUY<\%EP M>?=PU0.)\CT&_X;L0 >TNY5B[UIT;79:=D&Y9L",$M:4*)A'"C*T=;7]A3:T M*M[5YHN" H3F'-O-W>B)RN\3S?84X,D-0:VX65LJY761@OPF;0R9S*)9"+1> M!9W),1)V;%ZGV0)X%^_I"L_M$:^TB2TN:5,\BT61;V%#J#WQD!DC) D2"M\E&7<_RD<4RW+&H0V%9*V^X MC!3)\.8<^V,9@A/0;$\!=F8('LQ;"Y4LU",U/%&TK$-*+*+W%#>KS(LN6@33 MB]V%[M;@2B5H+;2W0'18'*5($FDIL#!GO3:1&\UEZP-@.T+LL\YOPK!]MU_V M$>'1W[4UG5 +!GT]EAU*K2>LI83!>\X0,P>.M7SY5'MZWX;J/RG;]A3DT?9K M5LI--I>N1[D9R3[+;+))I%,M2%&@9<,9)8L M^U04 (5QS?N9K(]_>!7QZEGOX?-/Y!Q-AS":+6X.?8\SG'ZB=R8IIZ%@8NBT M9UIDQ:*RFGG0F2N3._ !GD;5)UNW-Q_N%P4W%4;#4O,5KM\FT]]KT\9)PMD= M8"9DXUS)#'BJ36,XIW\98 E4;1N#'.\&(NU8\C"L/AFI]C1I)([V//EA.![. M2"?_8S+)=X"%(!.""^2#U8-97I WEG)@.7'KHI,N-;]A=@M8?6J2V)XGC<1Q M% ]E41*_9M'72^0/\$^V>6Q+[V3G:33R31;CU!W' 44ZOGJ93*8@ZAXW!3L6 M#'/"19 ^)]^\Q]_UX =EPF[.P%P]KAXN_W VFB33W$8!]JL)C> \BK+=51Q[OO6[\_C^0 ,OP('F@4F;%--9"EIJ,NY)2QE1 MU+O)6U?VW$?1!VW6H?#O=;([3 P-3W;?G== 8] TE"&_#B/3SM6WM[;.*^@D MYD3_;W^J^RZ*/BBV(]+A0#&T47O7Q[+6)@79<2O)$_?U:DU=$DW/ELAXS$C^ M>);J[JV5#RBX#0_O0Z!S!!DW6=N3Q#MKUZA=K1",\^H^\<6'U\YB-0R(]AJW MRXCI\(5H%E+-9HBW^7K=8NWJ!J%7ESA(.2>;,I"KM+@=R&0&]2)Y$Z+3FKRI M(%H7QFR+[5"3M>TX/].:__(91Y_PI\EX?C8;Q.!%P>"9DN21ZN <"X:\R6S( M7W6H9&B>/-X7:Q^\H4XY=]< 'D6HS;RF;='^'X3I+Y\G RPR@"6SH735](9 M@B^!N5("1XW>\G(BYJT@]L'?ZB7A]A'A:7A&Q,&!C]()'@T3BR#"@&?1.!*V_3"YG Z$24ERY"Q$[NL5A(IY34LD M2M21"XIE=>M]METQ]NFNH-YQ;6HTS.LA01&$V$EAM"N$, M@;1PD!8$%*_5=M6E>PW?IRM_.N71D21T7*7U'L]A2.'7M/:>F9'T*N8!YR:! M F!H4F6^DGT)];43;IZN!^J/(#A=L,R)NR@;<6@QK9*#1 M:[=@4;L%)\U . M9%]DX9GI@L0&1=]&$I/2600=6W=^W E@GX+NIFRZ^VIU)[9NWZ:!J=-2'AE? MG)4/TI&OHC*3DEN$(L'ZUN=^-P+I4[1\?*;L)(9O)G$]N+.Y=KS4]4#T+GE] M=S&.G;Z&Z(Q1P3"LE\%I\)9TCDPL)Q44\E 2M#85QTI?/S#"P):_ E#[9P4X8\_AF_'XB.4Y \Z"1YK*H#(8SH^IY MP=JZ-VA?SY9PD )T<>&H+\PA/E;O\LR'<*M[<1XO@A'1>QF$9R74D\B02O4D M,BO*6\Q190NM\WTGB6 >VV\R*2(BM\R:G&HK7.)"T(IA(%?8Z\(EM#YCLRO& M/NGOIIS:RCMM);RCO597.TQ<6\ZA]OF0A=YY&3D+)3NF,'NK;7(8CYT?Z.'F MX$D)M8^HCLNCQ>X1EBAL-57!!HKX,+E:*DT1>Q"92Z%$:G[^:6MP?=K\.SV7 M=A;74=FTR.I;E-E9+QD*3FM M&?1<&#&)_)2B@XJMCZ[L2VV/FWNG9Q+.PNK M9='HP]!N;Q$5GI-T23/K7+WNW=0T8JUQS=IST-K)N-W%+3L-VZ?-NTYXTK$D MCJ-T-N_EY$Q(+07=.5ARV8PU#( ;IKT.)=J$0A_5*^K]YMSI%-'A CQ*LGC9 M./T,1[E,%JTQUIIE7]_=6)9W-QY0U+S/,"W3P =/\\"<[T(G?3@;7ES@=/9N M!*G>*_,!IY^&">MIXA!MD#XEX@5J8H.E6,S7,A251 I8"MKMCDX]/,9!ANV! MQPZT%$(4":0X>>W7G L+(B(S3G$>:Z/&+;NUR\?O6"M1&V]3-YHYD7M.2J\9='+S&+(6=96T!FW._"Y M[8A]-XG=DJ.I/(X2/A$V C[_"A0;_/MR>''[YKZUW[Z^^NT!0=3^@[4,I1I- MN5$1S=5XQ-/Q_,7:H$O-HFU(1$A/GC0YTEPP;\BBVA"CX$&1.]VZ* Y- M&#WX[$7?Y $74J#,U9?,IA[*D@R$K-OD8*4DC:IBZ\X5CR/J@Z5KSI.[2:"& M0FG7V7:S7TG_'N%B_<=Y_0[:!Z''\< M?JHNRM6'EK[) 7:VU= MK6XGR]'(!C\R;.6W4,5@[8_HK*C-O>E+E.0@RE*[ M+!>3?>E@ _X11 TV;AYZ^MK[N/[>T1KH9'E4+*MZ&JS0Z^U3X0Q\OZ; MU[/NCG)'>]VMRFQ(J@W[-EW*K^4&X4,X5\Y%0&NCBDQ@I,BY:&!1*Z28"(U- MUO L.SA#]"BF/@2PIZ70[J)IV.9W Y377]+HDHS&QRL3,@@^QY*D9D*8>A 1 M' NZTCJ"+2H[3,UILQVRSE\8FYRU(B,S">NEDC3]D%)AG(MDH!0ICFF*>AF$JRMB2L%P*1[\X29.%SS@'OYH:;OS:; M<)W FTD1$ZDT"F5+*!34:LN\1\]<-"Z%@K0:K3OX?./>3'."-?!I=I'BL4U4 MS*8HKFM;(2F9KL?D?:Z7?7G/N=-1%-\ZE[6/B3KUO04=DZH#8?4G=[#^+JSZ MOY?)](09A;T!'3W/T&;ICI-]X %2*;7]A92U)9XRS"LGZ5MKM%8%"[3> SA= M]N&^7.Z=^BDVE&P+,(N:HAY1*)+5(C'ZSGE>2!VX<$3;_33B/CG(#;FVBP%O M+-9C)"@V8'Z@(M8Z%41MR("Q7OP62VUH'QF9CD@A@$LF=M#%XE#8?7(#>D/* MPP5\(F;>G#[*B8+8XLD3QD5.*!%. 98E$\!RRX-+1TP0/ :U9T?'^L' _01Y M2M9]G@QR5-)J#2S0$PEJU@RX,XQ^:JS%(B#8TW-NNX.O1SQ@UB/&[2C$9F?- M'L!9H:4[T?[M\T[)&/(39& 8ZZD7#[45G8A,>)6]\#R7DIZ*:0X%T;-S:*WI M=%09G5"#+<_/:8KRO8+:%L8P791B$#"R[(/ 9.@5$$<,LAY!VK.S:?W183N+ M\3BGTU*:7F+&)6?O+[YD[?U3U8WC;>YHN,8 ML)J>?COV,K8X+7<'P8L'$0RT\NBBI0C#2:BQKV5@Z)T116JO%"!9XZVLV=9# M-BC0JP.]&9.(\!?X@K/5&(.246G!R6^UBOQ6((4?I5:L6.Z=+JFT;UG_()@^ M9%XZI,*&6KH&0FEFBE]A01I^40I/TUZ]_JM3QE?(1-)@ZFU8MA:5ZF0#"\(Z M9C#&#-P;65IG\[;!U8?TR!&9TUQ4+2N!Z_S7)GH%1SE%40K1F1S)S#0*QZ+7 MF@64$ ,GOMO6>[@/@NE#+N/XBN9 H33CR,O)>#Z%-/]M.#][>3F;D_:;WF-O MS#J1&N3,^/:2:%7]-TAU^0]^="F;81WFT*K#L$T:KUSL8XSX-[KHCUG7I-$M47!P)/] M<#IJHY.I=5>-W\#U\5NY,ZNF*8M+'VN8ZXC\UAM@TF?'=(ZNWG-O&0;N(ZED/G;R$Z?3K952Z,@ M2U.+_B(I1ENO_,V%Q0(2(64HH?55NX_AZ8,/VP$;&@F@'X9CSS;U6SSVJ,:C MJP;SZZPAHR^SYIQQH6MNK]069]RP+%)"45"$T+I5;TOSL?ZLGR?C5>IJ()7( M7 M3+[>AH$H%8FM6FN42M$E>9 FMX]_-2/J0*SE8[O?:=1^^Z.TZP:]AN0ZI M)4&1I*%XM#2W;"4!$162U(C%0<#6QU,WP.BMH6@E^GV6^X3VX>:*CTE9GT;S M8..I@;JW(3M-M0NK$HKP42G)I*IWFB7EF"^)>); C65[B>QT[*KE2\X$&TQ8M'^HV__T!2@ 9,EKGR!20"BZ]*.WQ=F' MC8+3J6US)@A2RX@ 8#-RB:7S)[(.8^[#"< MDG*'"[+1/=GW(7^]73 G0^(A><]D;9VIHR\L*)=8]BJ(7+3R*3SEZ&\W5)]* M%P_F1 >K>T);MKQ#1*4)9XL%TGS$D_JF.]4Q'^T>ZQ/ M9\]V%MI1L@L_XWPTFF7(YC-?L+YV20?D'OH D;+S$3GR]0H;T$XEZ5=/Q+:%Y]H'(@C M_&7R&&V0*>!4%O*RH>O&2%[7X%TC5)\^%@9@!.IUOG[(377+EKKK<7PK- MS.SVTUV]M0,R^MH5I!EF1_Z?S/0OJS*+((M'4RQ7K7NA[ RR[>N1%"JT%&%Y M\GN9-EA%3-,NN0@RE%)Z__]?CR9\>?P%V44.1W$3/ES&&?[[DCP;_+2X56@X MNYC,8/2/Z>3R8D;(E]TR7M6[;.G;I%)V6(6K"J'JYLP&G).)TL4R&1.Y.:AK;S:I:>(^ M* 7UWCS7^BVXA: 739W[P*2CB/ DYG/M"%K.P_IA&"V*%M\LZT\.":7W'JM+ M,[G?A)N;QJ<,]!UP@WJJ/4(0K'!#'IVM%R=2Z,*\%+Z 4LBUW5T7[(CB4!?_ M/=92R%1S5../+\]@^A%G \^SRE$[YGQP=6:.!<$E*T6GY"V]JM"Z!\@F''UP M^(]+D[N._\'2.;JY7#OG\6)&BTN1CY4"G"+M+E/(A#>2KA6B-L<34&AE#&G= MUC;S/HP^;,J?ADQ'%F&[DWNCQ6[,*^=)R9$[++U>.(JK+#=G?/_:3 DK X39%N M+JYR__J;X**5E+C@)2G),3TN+=3[/LA\ &0F$IG_Y__^<=G_X2N.QKWAX#_^ MQ/_,_O0##M(P]P:?_^-/?_OT,[@__=___%__Z__\/P#__>K#+S_\-$S32QQ, M?G@]PC#!_,/OOU_##^_[85*&HTN _YS]V>OAEV^CWN>+ MR0^"";7\V/*WH[\HRY72RD/)I8#2P4 L1@$/V@H=N$O>_[^?_X)1!\8R@K0R M@V).0E I@BH*CSCX(Q^>/RTW]:?/R/>Y__7_71<6_5!^FQ M_,?__O67C^D"+P/T!N-)&*3K%]#K\^3J#V^BT3_.?TD?'??^,I[]_2_#%"8S M!3TZA!_6?J)^!\N/0?T1< &2__F/Y8^+S_P8^GU"/'O"Y-L7_(\_C7N77_JX_-G%",M:],LA5U"Z MPOG?]6D_[HWI@H",TC0BT$]Q4"G>$..JI^^/^>I9D+&$:7_2$/']9S?%.[P, MO98"OO?H!FAG#X)+O(PX:@GUUG-OX%R"O(NP/C+VAOU>P?&P/ZV3>_SG-+S\ M<0;S;X,PS3U:75\/!YED,/N"/M?+==DV$R,<;#&1 M/7A:+"#K4+310G';&='O@FG(CP<,@0?XLH."UW%E+T&OHLV>#+B)YZ?9WK41 MHO,[-DDC"MQ'TU#W:PVJ!S2_G[J&GS!>^< ):5L<$H[67SY7\]G)8T6&7WW^? OMJZN_PW$O5]%K!]67#6[P]_ MKU;US\/13\-IG)1I_RREX70P&7_ A+VO=?-[/1U5:_M<6&,T2@:JY 3*!@W! MJ@0I92Z*SDJ4U)@76P$\/%,:&Y7=J:,#[MSF,SED[T8S<>2_A_X4W^/HXP4Y M:>=$Y.S19,C"92!6&XB)9DXHA9ML/(]>-2;-9LB>/%LZ4$ '&\UME#-(X[/I MY&(XZOT;\[EE+@M.(\XAD5UMM057C"8K+;@0HC>6Y4[I<1?1,Z/%7@*_3P>Q M*QUJQ&DEM)]PW/L\J+0]5T%(PTP$=)9&G6EI\V19@>(,D1G:8]FC<:P-WO-D M-=Q:AO?5*[N8[6_'XVDE7A+$L43V9O[ER,B&=-";08<0%*PL4^"7CK(?C&R'[81X[&S'\:C"?E+PSQ-$S*':?":W"4A?"1+*)CLRB9\^D1R'K=0X;"C.AF'G&WC& M9X.\0#1>'.-M FJ;[(;-='T?R&$3&]KHZ+["&PGX8-KG166>60&N-?%;F5CM M&R*Y4H*XKTPR[.EI?4U"PP&5OHU<.SEAF@%;G*@7;;.)64#PC,!$3F!TU$#6 M+))_&TW4&REYJ_#B#0"'/'%7B79PSKP8UP(,^H0R" 9&TLZDO$H0 M+/E"&G41A573I74\X!: YZ#>W27:Y.+U=#P97N+H[2#UIS6\<#8>(_TO?PI_G'LOA58E W.*.&=8@ABY ]J9 MA"U"8HP;V=I;S.(=8)Y$M& 8T4MF]@' 3>7? A+_B M@ ;<)U1G^9*D6P<[Z7W%Q?#/OQY>QMY@!O(L_6O:&\]D_0'[87;F.B:DQ4>5 G(0D9,0,#L(5GOZBFP> M+@33PC5FR.;HG@M;.M)'!]EI*Y!65YH$4N\(#@?C7EX1)*9-Q"\"^!"2,*C],:US\R] MC>&Y4&@OV7:0>G#-+S$7X;C\;F7S A7+'C#Z]5"AA <^?^2.^4P"8RR M]4*T L;S";#M*-H._.;?AH/A;50+'EYQ6YLBLZC'$@4- 2P1G"\*/ ^R!!:Y M$:VS+1\%]>29T%;L'7C19*SC",>36^!NHOX-:=E3CNE$SESA]=J@LAR<4;3V MR5)$-LJPN*)JUE[4V 37X=G16)W#CG7106#VW>0"1VO%7@PGVDB]D\UE:?XL3Z%[@RF!O,Y??X5E.,+YYSZ%/W#\Y@^2![V? MG*S1M]G^2Z.K6< D[OYL?/,U\MQ[*RP6#^0H21I:0?"AVM'.NN'!(4H3,7-@FOY1H>;.U@"-"^@>%2@A*/!*4[L2S9Z+0-SKK4? MO [+D]=X$R%W$.>\Q<2SKZ'7KW=@/@UOW)"\&/;I7>-78=Q+YRF2O60106,@ M&'^U.M/:XD>XS0F MGFM5%A5 H4H04TH@4Q$F*I:U:&VV;@WRQ7%I%^5TX#W?E<(')&LX]?J]^<'2 M4B8>-7*E(M &B?4*>*U$622@YLY;)K+276]0JY$]N^VJ@0(Z.+BYBW*Q$C)1 MS>$ 7F0&BFL:%8*+4?O4^N$IY5 CK]XM-#:(\387N0=;#YW02U7,8N& MN6(BU"/)>J>'@2^6)H1+Z +3GKG6?LH:*"^""[N(O8/-XQ]8^RMA/ON*H_ 9 M?YM60;TK]PI]7)]ELQ0%00.IR,%6@IRPF'T ;K6SGLRJI'1CFFR+\I[1W)MKZP. M-JLU8!>+YXJJA2R6:OR#SXP,_VBQ3K@((1MN@_;%E-:9*%M"?)GL:J*PM=O? MD>M'S4:U\ G?_&O:FWR[C;AU':D5[SM*/:G'QMUA72F)08IH065C:N%!#DY[ M#BFQ'#DS*:K6!>([KROED\[22UVG&8V),0$A20;%)(;X-83Z+7@\OOPP'=8[-BJ]HM#H66AVYI359J9S!TAUG]A9X%P[Z;4R+\@^;@.JHR=9*0$?NL[6_XN[Z MY\VD?CA*V-I=+C- 7M-THJRV>[0/1#/0=O[2;:#Z7V6\TR(H?\^ M]/+;P>OPI3<)_67'M^0#8PF!;&("EQ$AA!IW3B+J'!D7JGD3M8< /0<*M)-X M!U'YLY2FE]/9C=99YG8=.+G:=6O\NLB%7%9BX\X0.R5X7>\'U4OT/AH/06KG MT#LN8^OSNXW!/0N:=**)3NI:3&BLF)?G3 M4R1FN45G '"*HPG.M&L>A!(6: M5.),;KUTK$;R',C00,8=)!JO;S\K&>U>67C(R:G:MZWF\2=.O,1(QHQGT;?. M/SOUGMQ-H@9[";J#[6)%\]E-$+W8GMQ;J>OQMLR[R/HP/;FYFA4&T%"RL>3 MT,84(OU3>[TJ);.RJ?4"<__?MK3S5N2'T8=CO M_SP<_1Y&^3S'H)1!#J[40Q=9"W5+E@&-=]8D=!Q;=]#=$N)IY/#L<2S5I4HZ M[\Q]_YQ>A"28+X$(3FZP\YM]-'% MMG-OX.=)91>L+R"DMK4&$0,GJGFM'4]).>F;7]6^C^)YDV)/J7?A>3S4&RXI M=+HD25NL]:!T8. K98OQ4AIK,>K69?%.JQ'?(;G13!,=Q*;.\O],QY-9UM"G MX9K ZPQT#+-TH\MZFS?,R_K-*_SAHLKT>[+!AKFF9W^>*V_6EO9<&QVRY0J8 MIZ$I%0S$4OU[+VTDC]\*USP*VO&8GC=;3XH1G<3D2'+S7JD_34M%@&(S;=P)(BD;:,)&B.@#:%V[K7"AM6EM86V/\GFS MLF.M=5!J8 WBV1Q8#;B@32Y:#5S2G%!.%/#1I]K))SK,+%G3/B:\)<@7R;)& M.NN@YL&#T^(#CB>C7IHL/)6S*I[?(UG- M*,\DLQ1H@18HFGN/>X-^D23L2*<=U&)X:!9MA-^XE%,1%D10M9]6J*6S.)G( MJ?C(6?09V^>0[X?Y15*R&XUV41EW37X 0<3>Y\'KZ6B$@_3MTRB0*9MF>AOD MV7?]^373*YMX-K)/X8_WM3X^_6)"8X_3R;P.P7N:H8/)N311\*@$6'29)&TX M>$$N75(>H[+!*=X//-U>$>4FXVG@NAB2DBQQT3#5K#Y%F/$,P0M4Z [6PP+Y/PA^7 BDCXWB"AJ(8*<;JT+[[ MY%9G9DV.?6@+"2B5 61(ZDS1@,\Y0BF2YJ5B#'UK.^2Q8Y_&QQA1%V-+99BH MI;-KMEB@18?^P6"*#,PV;[/R^#%&)U>>WXT^A\&B(1.];$R62*_T4AA,0DJU M%PF]_@O]<:(U^;>]WI?PRO/[<;=ZLKS!5ESGW!T M^1/&&_D(1AGKK:(%Q=2+^877!8\QD+2FHC,\9MD\H6=K'6H7@ MQO/G*9J6%A*?=:U#SCPH;B4XKA%019=*CKPT;_3\$)Z#78O>7^?W/.I68CZ5 MB]*OAX.$@\F\-/2'WOB?K[Z](C_IXC*,%LE]B:6(7$-B6*LI>5GO_=&"K;,4 M,=62S\T3'A_!=+3$YV;*OW?2W% )G;2#OHMOB6Z9K[L!OJYRHQ_!=IQ,Z;8: M?90N#=1Q#-KHB+XHZVM0,==2HK6%2G"D9#ZKX18U;VWI'H.X9H+2*!1X3NM9U$4^1 MIH]52'BR+-U&OZU#@.\&N$2SL"RLX5%8:R 9KFEKP0*^&$EF;6$J:R.8O&/K MKXG_W7OT$>[ 'U QPV92[6]:M_X!?R(RHUL/'^0GF^)P7YFPM(:&C(N>% M90]!DR5I5%+*"^^PR<*=J M=5F/-%COP;+,0PFIR-@\R6\EDF>H_IV$W$5X)XPOZO_7!+.OH3^K+#S(5\-_ M._B*BPNLY\H&16ZD!6TPU3*Q&D+*"IBT+-B0@VWNG6V.[EE0I"-E- P.81)XT.9H+?&UM@*,GX"Y#7<-R:[!C M^GZ$N3>IHZ9GO)K2!,#QN'Y[H%3=/9 =*:FWE2P;I?_>8^_UI-!%:E:PEJ^M M&>E>D-M=.VC*ZA NT,Q.@" MZ%K[2MMBL+DW=H)9&BV4O45^QC9"/_#A^R;0ON=G;*G"+4[A=Y'_@2D2>6;, M9@$L%'(2:_MEGXH!IVR.V3)1=.?7!$XX/Z,K9FPC]BX8,1U/AI?KR6EG5D3D MR,$R2_NH,QJ>9[HD[A2U"E;MM%"%[W? M%MTBJ*YFVNME'S;)$OF#%KPK9+VE$B&D$$ 'P[BT7(F[J7B/*.WU,U/: M+H(Z1$#M9GY.<"D+$6DS,*H0-JXA.)& Z6QRB+HX[9]U0M2A\@%V%?K:I?>$ MDJ+>CX9YFB8+_^[6T ^>!K4!EJ,G/FTKK^Y3G81.,2HR AE7&50I"$ZIVOI" MH\J<&\]:-Y0[>*J3="I(7:,6UN2ZK2-OC=, M==I&O">Z@CF/0)I(SD5/18+/TH*SR-'N*!!11\LA"L*'SQ.*G M<139)5NVT4(7%^]7'HF@=BGI6*]>"@E*L$P^AR_ %+DBR3$>??/.OD_D_&DK M?6UT_K2-L ^3"'65%IA28"A-+=/(#!EHVH G4,"*DDI[):Q[N8G6C6V.G81^ MX$)XFT#[GFB]I0JW2*?=1?X'3K1VB5FM"%@H-#5H-9/@2_;@F;(R!\RJ^[L9 M)YQHW14SMA%[!XQ8Q)+6Y?I*$20/B==V9!%4I%4R>"TAH>(BN)S1M^^+\Q"B M$S L=E7>L#/)=V!<_!6'GT?ART4OK0.(!M'0'T*2LWH?)8$WG(PALHFXU4(H MV?HN]*.@G@\[VLJ_<8+$@KKO1HLZ0_,J4X5 :A*A%&9QC9 II!TDQRZW$R/1&2:ZGI?4'LJ .I/1M MY-H\.V/T;?B1?K]$M[SK%9%GF1.(XAFH$#)XI01HG7T,)7''-JN8M_KYA\W5 M:"3Y85NQM4Z.^N]?WOP\0OPWCNIYW;)S@RN.*51$5EGO Q*6Z##7?MM!&58\ M&KN1'E<]_6T%AOY\T6$)67 :5&*U7T_T$*-/8+BU MB:=B<;.&>X\LO6L!/!-+JXV UQ8'JJC-,;TY\_#KS\N MGCC7\.*;:P5?O^^P.W8CP0_WDEH',;(WO[Y99L.;HI/26H"H&9XJ: W!FP@I M:19E[4KM6]?!NG[[4];FGK)L[09=C^K=Y.*JPC73&))Q!I@7NM:UKK%8^BKD M)+@49%V*1]-1US_^*:NOD= .G;8NHT0I<@:-N9:5U 4B!@7<.2Y,X/3[SO-5 M3S5MO6ENYZY"/VS:^NOA:(2S*OG#TKN\),-CU M]'(V&HQMIUV](%&DR+&?Y M?Z:+$L:3X<^]01@D^O25O3+>(V>]&R -$]8/(*E&V>IO*J9KN#5<\'[4&XZ( MD;UAOH'L XZ7@*XG08D\AE@,V)F-:9@&;Y6#%(7@B=$48*U3[/8"O'#I/[4> _GB@B7(GFL>>;9%-"]]L#?J0^72'XZ-]U+7 M#JO98Z?F5Q/GQ@#F3:YYYLB]!B0A@HJL5A2/M;\X!.'SP;"]UK%;K'K+L7,&T$!I.'@N$5--Q MD2S-*+0!$5P,/OOH[U[=/V7%/A :ZTZOVXBP=>B3_(1 Z]+[$7[M#:?C_K=Y MDQG,RS93G+P02YZI";%6.C7DE\C@P0CFN$[.%6T;J/(A<"[\1I75MMB\[T!XJAIO)=4. MLDY?A3[Y@OCQ I&LCSZAS#_UQM4^G(YP?!;'DU%($[)[@_/2:##1D-UKA8,: M*@"N0SV9-2HVO^BT&;+#!VR.YT!TH*L.8O%G.<\T$/KO0R^_';P.7WJ3T#]7 MECN,M5J&(XXKG0(XP1DXEXMG(LG@6&,*K8%R>,YTH;F[U1D;B+V#]>5##2P- M,+\)HT%O\'E\EM+TT1Z-WINP\#M M]N-H%(>M+_Y[??'9>(RSK*U?>B'V^C06'/\Z!Y/?#3Y@FHY&1(]Y(]O1\MM7 M8=P;U[^?'2E\PG0QZ/UKBN/KO*)Y&STJ)U78ZN MQ[3O\M<1OGEPR!N=M-0,#) X5 3ZI>7!W MB3X9PAP[?'RU+2[:QYVE?TU[XSDA9K< %;=%1D;;4TWZ3D@F#;.)#&F;E,Y2 ML=RZM\0:*,<*+Y\.5>[Z*0U4UH6KNP)6_7*$5W>#-P#8T=WL1\$=YX9V$U5N M0(_]]7 4PD1RIS2CI=W6.P4J2P,!R2(/5FG-N=!E$?N:Q^')]N(OW5^ MVL?4^Q@*_M>PGZLK]7:0E@$]H8.WWH"/M0,OUJX;+"5@+E=(VK&X6375=6\X M@FO:5A/#UF+L((KUZ[5S]G;P93JYJCY@LV-*6P:%\WH9)7@(+$7(RLO"!+G- M+#>>\NNP?#<\AATHK8,,R%6X%A-G$V0=F1SK41W'UFBCO0THL8?H.[ R'D#( M+&I;BUE%5PO\TPY1*Q9(X-%)A];[7%H7@CDT*1ZQ*P[-B6TD?@ NU !PO63Q M(4R6ER%SD*DP%2&J6CA>U+A"H-$+492+#A77K8M]/([J\"9)*QT^0HT]%7 MPZ3F=ME*S5R;U6$(MT)2H5K6L=C]T7% )7,& M,/J M5#;S9#=\X?,D00OI-BPG=->G?SV\C+W!S!5[/9RU.2#@]-6X1^\)\V/.N7/W M[>[(SJTRM)PYK"?0M!66),%[,L(BF6:)%ULOG744_MH#]N%I=M(G3H!+F5:=F?U@I1-B>8W*A#H44G+G>"M?:L=8'[GZD$5W>$APN.0ST:C M0#^=Y0Z^OJA?OAV<75;OXUUY;)3\G)P1129%!$RS+G">09A792!7V"66A6IM M[!]H:-_GP,D3ZOB98-=77B<72*+Y$@;?QE<77>=Z#"OU&"97ZAX.PH=;2FR< M5M8MR(YSU XHX1-*>+N>LU'*F*WQP!S*VDW9UA[7!;!(GHU%YVQK8[?I $XA ME6U^Q*-+=#HY <76^RTR%8@I(8DS"8]"%[U9!:4#2_+)):GMQMTN,M*VU_NI MI)]=C?[53:_GYQ'2ACY(WV9G$85\'9E$!+(MZT[I$H08%?B@5+!>L\Q:M][< M -93/AW>@2_K6-M(;QUX!E<05P%<1*$V@=C1\? &\(YS3MQNHTU@O1Z*0 M$=8F@@7!8TVH< 9B"1K(6!59EBP,;G1;]RE0YY'3Y%-@SC;J.!!CQE=K\2(T MK>H=]J0D%!D,*.4SH94%4F'!6]1,A(UN^NY)F;NXCA@(:*70#0BSES8Z"*[> MF#177_Y7#T?TDHMOO^!7G-<")8TRCMZ!%M*"0A*(5]K5XQ,;D@V1\1 M?;>#&FNO@P2YE?/@/M[%C-L$[ &-HK5 CVX>-=/X)LM64W4=:N=;"]JZ9+RT M%CBKZ<>L>/"\-BSE2CAE9+&N=9KO"7!K<_OI-*BUC9:ZI-3L%'0\DP!?-BW MC#ZX".A++>+"-+B:JBAX#B$KF[+L['+F?3BG83HU4N0ZRNRIA2YMIQO0Q-*L MT]Y%AAJTI0U=:1,@*&10E*0A!V]T;EU2Y0$X+XT@NVCA0"N(7)9MQH0*LP=7 M?0J5/$$KV4 RS+(<>41L73#E 3@OC2"[:*&+XMEA?$&>0?W/FW]->U]#OTIA MMLTZYE7T,4,QO#:]]J96HT)@QFG/O4",K?FQ'LW+]K(:::F#-+]:A&K42Q/, MJS&N_NF"^YM@[\C1V@?WD9I9-^+ O9H]!U9@)T6@]AA#](PY9SW-1K+>5%8T M+YGE8,C%X")GAZYUHM[ID>^Q=MDGR+UM]-;%5:KA +_]&D;_Q,G/TT%>HD)K M-3-8H-3;8HH7!L&X ,(DQKU/06#K]C"KD1S>GCJ<-N_>D-E?%5WX9LO4I;<# MDLOTJH8OLF2B21(82@?*$#:/AM?TTX6!!F>F'8[V F; MCHE6^N*]U,!5KHLV;0'.Z )6%&>US33DUL=\I\_4Q\+FIT[4;93: 4'_]O&O MPZ\X&LP$\QD))(Y_PCCY6'>4Q:8S[T=')H-1CD/"VE98DU5;C0^0SF1G69#6 MM4YEV13;X #U=6#PO1Z.O@Q'88(KP2'/1=D0R$^RMN;]U"L9#LER M23QG[DHJK)*8%8)$VN;R<7DC1& 0J7:;U5"J(UD!+E1 ML99#DZ9U(OFCH)[F[;M?FEQ]:*NQ+K:TE2&;%8#/HRY9"J?!%XWU&*N JYU, M)"]9*%5;RK3.9]D8W.$IUEBQ&YT&[:N5#O:RLZ^AUZ^!FI^'HX^$\GK%O+U^ M$D[O16T8BUCO]V>,Q_INO;L;OJX-[B^)OS8_?39 M=.CP;O9>B YZ$;N=[%K?NG[8:IN9:7\;#..8G(6ZWBV*):4A^03]W@+Q=<$$ MF1QS$:*-@NQWGVG+3.0?2)$D*Y'6P,Z2Y1J.HUFZV/Z8Y@0RDY9VFX0-ZZFF3K,1S\1O:Q>+TV:^T89#C!^]E7M4M>]\-XGOP0 M,DKNF8. RI!X2P"O:L!=$%? MJZ*3Q\[N%#\MNF]^">O)L7T;$K0N@/RX5W1UP&1J,69RS3'0/S%8$J9WP*(J MG.>"QFY6_GC3-QXQQ'X:FAYVK:8NKW;M+\+7H9]J%U;Z\L.PW_]Y./H]C/)Y M<44I6VAL7).-A63JN5R//(/.B;OB6>KL"FI7@WK25#\YMZT!<;J<&3?N;?VC M-[FX-YCQ[=&,/]PYPELL*[-GG7M?5+8D,EMR<"-(^%K)\"1(H 5SX,P@<;>64G*3D?V?9*S6C#=ED'E?4I =<6:4Z&H:A]$KT+H)*)$!13 M0&Y1$L'RS+'U5K 5P'W7AMO)#W=?. ]*9^:+1>DALUCSZ9FI/74RZ* EBIP$ M;Y["NP&L0YU/=<>7N[M1:UV1/_>;4)F/Y?M=OG7G>@B!=7J':1;NGSEC.N<+$ M#7!;.X"XY"'2/*XIJBZY%&II@1?'U!WO^IT,4;=1ZC'O^DDL228G(9A9:C2/ M9)L$3U(K)+/@F?&MC;D7M=O&_4=_*Y?\E)&GQ%F/>M48@*B4QX" MALA84#PJ^?VNWT$(U4Y1![WKY[(L5@0).7$%R@=RI'C)(+1P"9UWWO#O=_TZ M9T\;!740RGS883J['(XFO7]C?CT<3UY/1R,2QSFY2*AX(J_)U 1^722X(CF@ M<"X&IH4LY:#1BU4H#\^U4PEK[*VSAKO<+%%B#=PR'(T)[M\&(PS]BK<&_)=X ML]9*%J^!1('UY,'27)O9H]X:897)\DX^[)K4EAU>_ARIICGUWCK M*=$2+Z*T(9M$>%DAX0CZRO$$F%31WLOLD]V'. ^]_*41IYDBNKCUM^'MQ"5< MJ0L6H77MNTO;<,X*0F86DK%!Q')DTQV;=.#-H)Z',F6O>::UC);^M-^P;DB.B2 M4%@SJR,)267P&!/PP%!B2F0.IN8&U//FT*'4<9]!^F!FU W(%K61/&F@C9J! MBB:0Y:<3483@L^ #ILVRRW=[_TMC4$MUW&>0Z7C+2VDTK2E:$QSA>')6Z+]G M_?[P]S!(]3.O1YA[DSLCTMQ'C<$ 4W5B\&3!"0R0I#7*H-/"MW/YGB6WG*>B>7ZYA?*4TO:\(MF0WK857U8C 3^&/<\%!%KPI= R!W%@TFT&_ 4SL0/-WJ>G/Q8]ZR)^/0AD,3JGJB4RN\]F&#A+ MFVTH_*XBT]WGXPU[Z+;OANMH9VNR$5%!\)-,T>H2H8SYE>76MM!=..<7YNN->1%P':U XU1B;P!2,MM5HF48S MTKI/U+[GYX<*D;/DG+2.08F*@W*DR.!U N9Y]@$-F4^MJZ.E:RGQ_:802 MN8WIOZ,YO:.BCIA5<1XX"T@Θ:;^2A689"PY*"2:C0LM]\P8!6SEH75]/ M_BV,:CV@K]CFYO&]QW5SJ?AAU,WO"W\:A=P;?+XQK09YEBF[^,6\B/3U5F9S M"262G>^QM@@E:Q^<\AX$3;84A>(AMDZ'WQGLOE-MVQ?/[S;*[+.V1@/'6.:M M*J.@&1C(>.:(RJ3CA[QIWR;6["WOWNCN5F\@?)V$R>^*LI-J[\G$R M3/^>AM/_(#=R#*7\;$;?.X?^(H[K:<5KOSL1[TA^2(Y-GZ);- MSNJAJ),>F"X<%#E-M@XP#?U/M!3.K7>-2=1+CT[2.!06 R'7]59KY,)PQ[#U/K8.R[$" M'\UT?8]##63>@=&S"M?2\]X 64=1CO6HCA/M:*.]#2BQA^@/2XXDM.+16_"F MEA3QNH"OS2=0IT#_5Z+-K<]=#TV*1X(@A^;$-A)O'0LAJ[G_9ERC/C. "W_- MQU)R$@@X*RN#A?Q LC#!!;(T!9++%C7R[T[N8!*%2B\FG=$<_;Z&\FR]]@LK;66:=.*%U M7W_W9=:E' 8\A>_Y\V5,;!UI;/N ?Y^[A^?*^K?HX MJG;)]6O?-0]Y."RI,N#%'UN?* M-U3%J9P1KQW2JV^UWOS,K=?6"F.Y@2(BN?7<,J !9SKX>67Z>3^":UD61H;"]"_-94])G#%19 ARX)*ZWPWL5 7\=D""^#S"\557O6BY]9$6 M*UGS!9*(M5Z1AF)$B=(9YWCKCIP/X7E^Q&@F_0[:8ZP=^ZSXY+DHFB A!ZX" M&5'H:K44): D6\BGBVA9ZW#PPXA.B!UM8BH-%=#!$=.-:J0_X9<1IEZHTJ:O M^S@3^R OJHO-?KYV,.><3")4W@#Z7"_*.P\Q) ,N:!M=1B%E\ZI%C; _.\H= M1:F'=)I_P\FY"L($&3A8AC7FI"P98CY T3$Z-*J#\H0/X7EV)&HF_,.>8OUU M.,R_]_H$.I-E]G+1,6'YI?U=SC3*O5JQN> M<'4BC4;G70^\]IK!W$C&/-E,W.>:J<,X;8\%@9/Q%+AQF&1KVW437.W.O!YX MVSRV3@P3M9\QF)Q*[7=5('HM2""%9Y^\$:IU38[-T1WJW*LY5]:??#55R*F< M?3TPJ%???@W_,QS-BB+,XJHJ2UF"%&"YC[2VRT"N+#DL-CL3LBG&B=9AA"W@ M'?\LK"U!AH=15 ?6V0-0KX'^%BZ7'O8F<#LZ(=L2ZG%.RSI3_>84:Z:W$Z ; M%](9FPFGX30+I2;'.B0)+J6H1*V\POESI-DC)VNGRK)MU-5%,;3I>#*\Q-$' M[,]\XO%%[\LR@JA@@\LJH<;2F!=W,3QO,NPE M\0X6B4^8+@;#_O#SMU=AO&+\6V68*82@$::6 Y.YU"Z\#4 M1L">.5>:ZZ:#8[I:/'YX^04G>/9YA+?2"C@!4XPK\+S4BO*U IU2'*22GH<0 MD,#\M\L(5G[T Q'HA*0L:<;$)BI#*1_(Z6?/C MNL%E;@7/0S(ZL%D7'L5 6>5H([4&@BQ!,^0RNM:^ MT2:X7A19=E1'!W;-REWTS1^I/ZTU'E.)HUH3AY:_^QB=R^@5)C !B=RUNG(H]7*M2;E$KY3P MK5VG37"] -+LK8[[E-%=%IL>#C[7(MD9XZ1)R>F'GM>R\/3&N!NE9M0F;6]G M.:VW\XE\8C$7SL!RVD'([[$0-'G=2.9'X,Z@R:U[?JV!TJ(E[O5CY^>VEB-# M2YP5WM=K_[4-L$J*%CSF:GC1A]#Z?O$*&(=*J6BAXU5-H_>1ZJFD2RPG7!W/ MU7VSVBA195U .-H :8&+$+/VH'-ARJD@4W,7>A6.8R5 [*W;NW>L]I5Q%W?N M[F!:GH!O@*JKLM$K$1VI9/3>&GN$ GN(^W!DX%X*[[! EJ46N@T*PJR[3R'2 M\V"=,JU/@P])@L=*1!^( ]M(N75IZ-^&$QR_#]_J$K'"/68MKGGV$A7-AS"9,S1'"[[]EZR[2 <>1//@LF;(.IHO[Z/YCA[ M]7Y:>D#E>XBX@SUZ!;*HE*37&T">9Z'.!"ZG "4'Z;TV0?/6530.I?1']N:N M=;Z-9%OOR;1GY7JYEO:M& ;_?%<*CC!7<+^\??7N U^FB!6E/19"ES#/BR]Z ME.3+:F>43BFI[#?:IS=[W^'W[GW5,NQ6IAWLY>]'- $JJ 4<#$9QKABD'#B1 MNN: &26 ; J+V2G?/J_W#H0GJ_46(NU@$;]MHY " M>PJ\\R7@!CZG(V9=,KF/)=#F0ZM2$"Q"=-*@#"Y$TSJ/X+!$>,2F.Q0/MI%S M:]ON+'\-@TGX/*N?78,)2\O#QMI:3'#:V50D\T-YH)VJ@!4RFYR%8W&S;N3K MWG#XG;R- H:MI=>Z4-F;P448D+FXQ+2 Y+BP5@D)1=6N5%9JB!@5.%9*+%R8 MB&$CA:Y^_G-09P/)M9Z?GRZP+I(5T2_#,%@BBEG+G"T8H MU@U+ 'GPIN9L)-IT&F^T:Z \%[.[A:0[2*E: 6OI4FX K"/C>RVHXUC?353W M.!WVD'L'-OAZ@!:%1Y,U\!)J"3OKP9EH(&GMDDE&8OO"^X1Z9%^XRL9**5N'U5<".;QAT$A1#ZM_!RFW MMME_FU8([\K2\AR?C<>T%>9S'20-*TL@]Y(L%I8C!"EJ\5NR6XQ6M8+A9H?? M:]YP;&/OE[V2W]H)KX/H^>V!O@ZCT;?>X//9Y7 ZF)QCH64KV )><[)L-3<0 M0PWO2\<99R(6T=KF>PC/TZ9!#F$0,_SYQ'+7@D MNY<\3>5T(I\G*[ L"\]M,"9TF^B['MMS9$DC373@+M[&^7-(N&!R)-^6"1^ ML!&N0GL6F3X:D#.3:]$8X5HWJ%R'Y3DR8D=)=W!6\^:/VL=NVAM?5%SO2L6Y M0&954-F%#(B"AFLL ^=JEA=75HD2HG"M]X_U:)X'"QI)NV'<8&;>W![JHIGN MJ^%H-/R=X+X.7T+J3;Z=%Q8\U@,)PVL?**Y*(W^(TD\^MP,+D8GY4)CJ[0 MVYJE4@)X5ELN*$.N$&\NRHT[4Z[I/)=D^FOWT9#E[C M:$+R_;77Q_%D.,"S=-'#18.F)Y3HEUN2GWCB-9ET1WI5?ZMW9T;D1A4F%&2SB[#J+@%@#?-8: M<[ ?$$?@BCMST77HWG:[&@L[17QL?T"X+?'.LN+IM5LEB<[I^[' M22W6]!Y'"6<9-S\/1V]"NO@THA%7X5>CWA\/!\D?# M5_@^]/(YTT%C\ $T[::@="W%[)4!F73R03MM4^M;I[MB?=IT.ZBF5E"L<<3V MYE2Y.T?.K?68DD=@F*K%KPW4]J50N+!%Y910=!O#?0C=L?FA')70V&$''=72RM5;6SEF85*@](35X*S-PQY#XA;1-M>[? M?, Z.C2>;+/7H"3/H(I4X&LK3Y-D$ MUTN]V;65SC:]T;.+P ]*"!&2\RP"9S5YS@D.T1A#UD]V0BD,PK0NR7'J-[NZ MX<$64](Z6V-JX^W:2E2A!)=% EK\ M"H\I*M2;7?+:X&7']BEV5J#_W!K-;9S3 :0V9X?L17O:FETMHM:IX2%CO M+-F:YR[ "YT!?0Y*;2C)ANE\ M%R$@I5C[XN0(!*WV<]8*#;$PE\T6X?7O>!;*;2/!AEEZ,UB_AL&TA#29CFA+ MN 5NN2$4U!@<4Y#K?4,5L#8/,!:2)R?51\LSVZPNSJ.O>@YJ;BO/UKEX"Q+6 M(8?^O$O>#1[&:(2-DGCH0Z*M/Q@(:%+MF8>JI!S%W<8+#\_DU:]Y#EIN)\?6 M&7?O)A25NNL MN$]#(E,=X[)XEF..>Y@N'UDU3 ! M;9>CFNB*X+4$2Y"T.*2D:/E/ D((*'@IPC9/"GF*!V?M0N#-M''H*W9..1\" M6091U/XI4CGP.AHH+CHADTGR;DKB"[EBUXX;>TB\DWAGP=$(\\(/?#T-%X04!#:NU."/Q$X,&@F2]8SEEUOY0;"64Y\*!_>7L[\:5%;^SS4 MEJ3,([A8^_?)8L'3^R$%QK6Q.L>[9EN34O'+]S\/1>\LT0[NPMW$\GI*]*/U M1CJ141+-.%=D;6JMR=HDJT5X19 [R+>#$(H5(=:OT;R_!2_HY37.N&=9$1]P*\XF.)U M*M&KWO#+:)BGJ7[PTW#8'X=!_HBCK[V$BP^/]TB6VNM]#?.HVHV[58I5;QP^ M?Q[AYS"_4+!XYS4M57:>C$ $IFOEO*@X^.I?:NE%E,RJHIN7$GX$T]XVYNKG MS_-)HO6U(G<&QD4!962!F!FG15,4+Z/42C3/%'X S\'2L%KRX)ZQV4K@QT[, M&H\F]?I%G:[O1HM9.DL]"-$+:Y(#7E(M4Q,,Q)(1+\G@1MML$U#8)69MI_CZ0PV9AM='1 M?84W$O#!M&^]#YX+!T6[2):5#.!SYA!1<_3,.N0;[1*GI?4U*5<'5/HV$] MS3UD/^Q <*V3KA:X7F._/[L2.ZYE&)95HJ7@09/WK&5=F;B1$)Q34(J.!4MA M*6UV!_V!ESQUA>XMN-8)5A_I=^$SU@5H_M5R'5H 7EB8RUJ?SHJD8H22D@25 M,ZNQ3 7H;7+$RJ++9BK>ZK5/5NG=";>#0/$"VP),LDK''&NYIEKY,Q4#(4D! M6B@71!9!W$UQWK]V[DT SV$?WEVBK9?MM41<)E]SE9Q*"-S5+'[C:ZL 04Q4 MR6:-V@NS62[E(R\Z0B7DW76PT4S>08#-E3N'LM)6L,G8FO4'VM5F (H6EJ@L M@Z"U,9J+>D]W,\6N?\G356HCP;7>DS_4))'^[SWYK)L>LJ[X:NZ/.#=9;2-SG876!Y& M\.:/+Y@F1*+>)7WD7?E(/QW7VQMS$2SH'*/VN28IAUIY4,50K]8&!Z@B&2?" M9*U;=PUNA[[1PKD[DOF96)$JR,@X9"4M^=3* 7U'ZX*2AG'E0VK>%* -\D.= M01^)KVN6WT.J^]CGVLV&_G$21I.?PF1^/H3)&(4Q@Y6%M!!"[>_D+)"=4[@. M(GK=ND9!VQ$T()&TZ=O(M758>E4TAJ=8DE,>7"D% ME+<(SM2RE*6P*'S2&C<[\S_A*.96,G\LBKF-P%HG;]S.B+XZ"V5.*Q8@Y%H8 M/]#HHG02;!22$QYC]*,A@[5/?_(JW%MDW84@'S9!R%94,?,BH7@G"*2@M4=[ M6H5HU4@@U R!]OZ1EHK[-\9>DCEKUT@3RF.?G['?^HTDG[.3R"6?G?$WZ/I MWZ/IIR'#[]'T%Q%-_QYT?,Y!QX["3M^#CM^#CM^#CM^#CM^#CM^#CD]7A=^# MCM^#CM^#CM^#CM\9^CR"CA\GP_3/&,AEIA]](;MN-J;?PFA$7WS%/7)U-WQR MPW#B+F-I%#O\>!%&^*J^^O6-5Y_1FP>?9S&'5]^N/[+HB'GV>QCE:Z)Z46PF M"4*1H;9XMA&\M H2"A=-"D:8C2K,;',)]\#781^:=H\AF6\#LP\@( B M)VZ5!:TPDD5C.,28"ABII#7629IIK<77"ORA(H8'9NF]*ZI'4?:Q@X7+T<_A MTX=GGC 7&I/(M!F1=0Q*L0Q!.0-.).DQ9IUPKLO=4!738N\ M$EXJ<)Z1JVAKZ16!M<$XR<_YQ(QOW>Y]+9@CU#DXNJZ'72BJDYC0>#+J59]_ M!FU9*P!HHWYG31$FM"WS\&D;_ MQ,DLKK6:V#)+9KT1D)2M92>"@TAX(#-:'S/+2H0[MS#7-B]\^$TOF"#M-=&P MJEH]Z_O4FU2O^NT@][[V\C3T9\9?EK5''\'(1=!0+4'S466(2FFT+"D=-SKT M>B3M8.7+7V:(H8TN&E^%O >HEAOY@/.FCN.+WI=/PS>#26_R;3%#-H':,%=I M2WB'SV!JH-"'Z-&!-AHG-FT+67N=<[ !?.&AUEN*9&LA@QR"4SFEJ-)&W;R> M G$>2((Z+F^V44)COKSY ].T'KJ]*Z67<'2U/QK#8TZ PM#($3U$C@6TRX5& MKD)1&T5U'J'%ZKF4V4-FTJZH8M<$7VHN^N,Z-I'DQT96B;5L_<2#00" M Y]E%Z1OY4WJNOZB+JO7OAR+8[=9-[8!)V!6#K;&\!H:$'<>/7AK8,=A7]7 M?7M(KO'J?1,.E[1>F!@@*Z;(64JU_;!V$(*U*+7D"5LD+G>NP =VZ;;ZVT9@ MC?7V*TGJ!UGRL%0H#[0,QJP"!96Z<4\F*%K[?K9<>=H_=6>S# M%C)KO&W^&OZX 81%JZU0A99_,@^5R@J\>T+MG_V MD'_#IJAWH"S]]PW M+2%[@(X@D6TCSI6JW4/678WUQ>@D$LO;2$[01@+M- @ M>,\ED!/&4[$%Q6:YAZ>AV(A#!^ M-YW0V :U0O?;P634HWF3_A[Z4SR7QB4R7B0X7W-MG*6OBLB0#,N.!Z95:)Z$ MW-5@3O"PK^/TY).@10=\/^O//H-Y]0CK!9;!&,]]#"'G;&OG*4>+>48(G@4H MW =&UGC1J77*W6;(7AP3.U#8,?(^'YDO?Z4/3L9O%Y>D_CH:CL?G,CJ796+ MC2ZU$XX SR*G(5D6&2\:\T;1I@,NH"N&\>((>VPJ-#PNOS6D^/B0XN.[P3^P M]_F"9O/95ZP=9*ZN$RY[?TQ#_Q..+L6Y,T';6.]1O_&?,ZXX+Q$!=)J5V^!:W!+0K7H]8R",\P@Z1-CAQL1@XVXP&X9Z8PQU0LS1L('V6D+V;Z M/"%"W9]&YF3-I\5R,1PM?E0_Q\]CR(87A6!5-J L*G!H-80LR7+T/I;FY6H/ M.\(7-VU.F$#WIXL]W5WG]C9[SED.7B '.3OORHJ#B[4%M!^GPG)56,B@&9>T0#@-D4L/19// MEHSA29U,7+?AN+]/JE,GV_T)YY]$+.!LT9SZQK MRHA):.#(+"A5:O"O:$!M MF#5)"JO2204%[H_AQ'QTO!V-*M.\\Q\J!%A*1JH5NF]#R1)45/ MHT[>JLT2>$YBX[D]MA)8%/]#7MB>_*W*,[S\F7$(P# M[J,&16.JB2<&6';H/2S[_DONX'YYV0BUI[MG-CRVP^[=5P4N"5LQM.@E)<_X[S=! M2FU=*+&*1!6+E+HC9-F4JA*9!T!F GERO9C^[6))K[I(8?:_\UKN.J.U]R-Y M'^>%6R]E"&#RJKJ*.7"I<$A&""5=*"R&85>C/N*^+#!.#P$;0+[S,>W>&MXT MREOB[[_6 F^\S*L19AX5HQB3#("T1F?ZXA@ZB%&9R%CT,D\F0]AU4"]F)DP3 M)ALFPN'.:3>-\./%\I^_+1#_?GF%"_*D5R-TTNGD&0>GR'U6*!"BYPJX- :] M#MIU*V \U$38-*C7B7!0F&R8"#N?M+;?]&[G^?TM[R:B5$P7+G4"=-R!$M:0 M$2K/!_+LD]3Z$0_7&*[/#P-:FV0";-J>( MN]QAWII[^S,[?;]H:IV2.T_9^FA4J/?9.*A8?23! NABL@Y<&Q;D6UZBREE-3660\A>HJHT04(F"1M+-(&JZ)W M=C('ZQOD?YF@/X3Q-Y1(L='[BMT2AK'\T;DK43:?!.9@-I;SHMT&QP);.<0>1*6E@OW,:@-7BC)//&R>0FLYB] MG6 +M!B=\K2Q&5URY7RT$*524- 8F@6U^7+SL^X7V *M#TH';('6P]C3;(&6 MA7#2Q@3<83T,P% 93^N&JH-RD:G4C2.X#]_ B;5 ZX.!9UN@];'%L;20ZC*F MUQ9HO5J@]8+)&+VD=K'QT>!7.U>X=2!,"% O %0ZPU0Y$D5(RF>F6G>,/A[< M]FJ!-CW8]C#M '#=W+S$*7IMC@R"5YQTDQDX5@G)943I6':9MVY_=LI=9GK9 MN%,#JSX&:D@CU:WU#4;+LS8T2(,*5"H.?')(KG$0@3.7(NMVN>>%-"':!1[M M+3$E6JCN)2 ?Y[/9;_-%_:7SE*+0T1>PHF9S,7!P*6FP6LKHA(JH1V\4VG2$ M$\3[P#'R= $T)3+*[J-=7S0]1VF5CME TLC71;HA20G"83'6T 9RC#-E/;@C MFB0CH'3\";4#Q(YJZWE0TFN%\\PR 8P+"B.REA"E-R"TXE%@R#I.)E%]NG7@ MIS23]@#84.2'8U1:45"N@B7'0.;*+JU9[;6B$S!:-@JG@(:'U_*\UXDT#L & MX$$<;IQDA8(7=X<:332L% M.(H+RP8"W6D%D41168DC6'LU<>C2\U^ETD.FT M'\P:,BT>P)DM*)G2#B23F98.*X&B6@98;-%%\Y"[-:NLYM,,=GJSXJ.*+U\6C21(-!\*ABWU[, M.X+1DBE 9J3>4@,'V,&[WJ!R^U:D"BT MYEZ!J0N9!*DC,\?C6?<9^>LTGN8T'@R]QYDSW*Z#PJ-3IM;\ MRT)?8J0((R<#.ABCLTE0F-/<37F -8!^4#E<#V,?84ZD!7/.:?+KM#?ZV_D(==*W3((T& M%G4"&0R-)Y"[0P%\ ,908"JLI*@;@_<9<8Z_/K 7/N;#V&F 9.D3HMUY1-])+D-P4@;'W/$# M9$NAW&'PT4?U ^"B-K:BU37,<'E;6I6]P^1J_71MFU@TA==1&PA:%LEB(DVT M[BK[2(CQ,QT-C?2(RFP?#0]09O$[7E* .CN[S&?Y*RF6(EL:ZW>\"8INA,RJ M!)&\ \PVU!B=W#IK"WEY3GAF.2;?^CIJ)\%."1KM+3'$>2S.Z*//9[>D.O3] M??E*R5IS'D%[Z^N]4D>B20F))60E)!*P^<7E+3*=$DB:ZG^ ([Z/N$1ZX!<2 M\*_X'6?S;U4!]T5,**30(M#VR1EMGTF ,TH"_2-3SJ2:#FQ?3[U-K%-"26LK M#'!\=#9;_0SFS;' MC,M?_YUFUQES-4<=[O75:K3S\FM87-+BN_R BY5"]LB=CR-8PPS[ 339* __ MO&B_W1?M_2/1?LXD89+B7B7:9BD.5";2)&)>0ZIT[4))S5WKFI)6LK?+R>\I MT3H7Y]%JFX*$**K#(CU"1(:UT$-H)0.%1B#(.0-E,P5VZ#)I)@6=B@_,M+Z7-N!P#G]0,#Y( M'WI-$P'+ *F S9+=8?+I(M] !P[;9#L09^!4P- )I'M:\A"(RP*%,-J"\$[3 MSB8$1.LEA*+0!Z$TJM8G%X=!VC:6OV,%6A\#-@38@U8WM\'SS]!Z?;OK[/(1 M?_BJ >E-1L5X(;./%KQV#,B5\N MC4#8C)(9JQGM)LGXN8FVAMW< M@&@$JPQPOK+G5#S[.K^^O#KWR04A70"65 252X+ #0,I;=%,A<7ZK&J?&Z3;GMGRBF@O^5O= M ?WSI;_6E_Y$FHK1"N4="%E9>!6GMV?3.W<0&Q): ?%P]]U#T\#F[O*R01 \_U8HM$\L=SAIBL)?$*>9'::6N: M,QEM$N0 !_]M#/6\^7?0\@#1\E\Q7OVLKEM!/*48H_<12 *22"#6N_I8;[VQ M@,G0\%L?B3R6XF1\@CT5/,"-L?L2W4D9=9%K(&_@*9D.XPSL:[-G(;"GP@=8 M_I^4SPLGK#0*DA*U0[ADX)3P$!1GSJ02?&J] XP+A"U.P%@XZ*/GYDEXI+@S MGY%$N4KU!RZ^OIV'RYO=R7M#FYI.X(VA"-J9#"ZPFI.+Q7!3C,T/@L2G,NS/ MO6;\';Z-*>:#Z'&(7?YB^6V^#+/?%_/K;V]F8;F\*!=WZFL\VI#K'4+!#8>: MA840R2?!K%,,UF+*S2?Z\R*=SO[?4/4#W I^1KS;&=%!P*&\@FW"'<@]:&G2 M[G#9PQY#. U;!;6,:RV2!Y.2HE!9.G"&XF7,47.9,@# 6:;&W%0O/0Q MP] X^1O.;WM$:OI+X]1?8J695% 9Z0-F+O*\V0 MS)"YRSE+Q8/W0Z*GNZ@'\%[:&OTY2 UDL88^SG)Q=?ZF'M_BXEM87/VHSMRZ MUV8Q@A?KP=4K,XJF49U6"-:Y7'21(L=.74OI!7?00W_[B9RGWGWTWDL3I3;D MSZKR?,1OUXOT)2SQ[/,"5X=D#T6\O?O20<@^+LL6!'06;%QWI8T-YV,9H.'> MTT]81&Z11 *FM*'8C,(R5U 2Y&58&DA5>KX4?*$CW) D/31>^NLQ^^S>0RS M-_,Y??KY9O]B7(F<% )?D4QP&GNP8E5-)VUT4J:'V:XGCS"@#>8- M%=BZ*_#O;_[^M_DLUTM=-])8(SQ7M6V-$32T1..+T5HH!AVJ[%GV'ZZEN(%H%SDZ>&;; MC7KWK>.Z77NK?]Y0=XWGYCUY,.D0:VT6,[10J*1LO0I!JW_2J%211KKGSHFG M8,,GG*+!3-A'96.X/"**0K$YB>)KFJ (&A3C%B1)(Q4RKQ]2G$[1Y=E/S=N\ MFCXZ&N#H9E5I<9VNKAJ "\8,S< M.'2^-5/E%I&.?@,=0O6/D6'V14:]EO2^W!/R!O]=!!OHR.9)H0YS5-/4A/,A M]3] ZOUI 3.+RBOE0*/EH()9%6O5 PAI&(G.?',*B)&!L>5(YC"XZ*/VYO<\ MGB!AO]WEK/9!Z@1H+%+LCA%JXR+@RLG(>4X\ATZ>P//O&?^LI)$UYL.HLG4: MY$U8?EE)D]<-,6XS,]IF65NW:]H+" QWV_2VP#:![]ZD M[2#V&)>4NHL\"1+V2:#HN>L' T-@Z/LN?<3G,8J0%(2D=:61%>!\$N0ZH.,^ M>I2F=1P_*>3V8X<_*>#VL/P82<%D4B17U8 )]>0WH 'O' -I5*:8R+#LN[&J M'#0I.*I5MN40^ZBT=4AP3P'/C[^ZORM.ES7G]8?%1<);BHQSSS6*Z@-;2]ZU M"EZ#+XY#80F3]:(@ZQ9#-!+HX&6!;_?B&3B8;0Z(KQIB?20-7BSH'R_?T#I= M?Y*6]'.1ZGU!X8"'6E;#C8*H&:W *&SP.>=D2FMP/2G-"T-6&ZNTWIE:#."W MZ\HB\\N/]>'0N7=::F8YN.A,W=P=;>Y, VWKC E:CYU3HX'LOFROD-O;8@TK M9?L.IU:3?<1O:[JTFDT^3\H:7IG/E!*"OEAR'$A_$(I).7$I'>M6-[>/%"\, M5/M988#:JGOIR=4!PZS2^5?1;G?S=]=5H>_+!YH!*P_TU]G%UXO+^F/G/LM, M3J,EF3T-(2@D\*\2FR)I&[)VO'4=_GX2'SG>#F"VAC?D.TC_C-0TLW#%[?C' MO"[#Y%@FTN=YDJ3$(@IH7>.6B('B'V5 J.ADYB(QW9H%L:7\IP_(84W:\";@ MYH-7"EX^X_)#+>1 A(05D=0SE+4ZVF/%P9+, D5L\T[3 \PCA.! MW<%-W/ X:N5ZTHIY,<_ORQ\T@O7J^@D7WR\2S:;"E%>F:(A22])3I:J5E1 * M:^&E0R$P=W+OGW['D:.BI08?&];M%]G=)_^87W[$0G%G/:*MM!UU^R11?\-; M6F!M$%,B$#HF-"A1HU *'\ 6KEG6V?&.-.,]7WP*$!A2UX]QX1OBXC>2[3)= MU%0^Z2)02!F67]Y?7Y79_%_DA/W/Y;+R3%<_*]/O8;[$Y?(M.5]KCNF;X1B> MI32TSRI92_N#+4 ;<8)2E)"<\V1TQ[QF<]E.#UVC6VQ#SG-,$O!>1UL-B<)W M>N^ 9.+[ZV%HPO'"N#3H!5!P5:GM44#T+$'P14>O4N2^=1P]*N$X$Z'D*"5P M5EL^.*T@.(OUD).GQ!C'TCJ FR3A>!\[=R(<[Z/8J1..H_">"XP@=";E)-K: M8R(-98%2^) M'JWVI120*M(LX$I29.@LH)#)VN)9,2^3<'P8//11]VB$XTXIU-HX0(.RDFM[ M" 1)0"ELPN!DSF)8#$R/<+R7H3H1CO?1\@&H2'56RCHOH?""H&C_ Y=5@E20 M_N>.9&R]$!P3%>D^WD)+U0_!2[Z5U:Z+@*]4I#N;M#>UY"[V. P5J8]9Z9"! M C!:\PI]YT6]TB:Y3HH'%<.@E^N/AHIT6+ST,<.$J$@-%B53R;3I)@.*1@!! M&P')2\.2%<%B:[_DE*A(^QB]$15I'XN-044JT;N(18..-'R%/$,(KJJ$Z52, M9$)TXE<_=BK27;R7)DIM>+NO'R=;%R%?,!5I+QONQ#*YBP$.1D5*:Z63MBY4 MW!50GGMPM#R"C8Z%8EP1#VMLCA$E?:E(AP=)'[TW+\%[1+ZH4<;(8PW)=;VV M',@)\UF"9L$I*U"'KD2DQ\)PZU_$V6I'W'*=9'C!)DK>ZG_*=K#770W)'.E M=\QXL;H,6SEBA$@0R000N-111V'#0]K#R=FP!W-E$Q/V4=DH9-W19:-DKITW M*T$7"O#!.S N2699$4%MO==R^"+U_=2\E8^[AXX&R/2/1-D076(\A0!&U]KG M;"+$B!YX]-:Y*)24K7N7O4#JHGW.'28(A $J6W8EFN@B]BMUT311U(@!9A<( M3(BZ2%LIG2@1Y*JDS' !T90 5OML:E?LF%O7X4P*N=.@+CH$R8DQ.3/L1FY[>M1%N]Q8/IAM)H:O<^]%9M)[8'R5:W04J$5M0<>2 M(B+%+(^ JRH8S&6($E+$RQD53ZR/KT;D+ 4VBKZ]<1:.@ M;0B+'9"KZ.S;M\7\WQ=?:0"UPGKYQ[Q.H_-0G. V2O E2%"5,=M5 FTC5% Y M.6%#MS.GO45Y8?!J8(^&EQM6TK_#SR3:=[RWOE)0@5&5#*DH#I58J7)7._(L M%982@O6)=P+(IJ>?@LWWUEK#TZO^:]QB\8,^_"4L*9(4BN#EF06C3 #E(JN+ M&.VGM-QI(UC1#V\KM=A[[DAP"G 81?L-TYB[.F&_DWK?SI?+]Y>WOWR>$_.> M>03K)8U L$@N/8_ N7'.(-?1=%LJFHCSPL#4R"Y/<@"-4MG^*7W!?#W#>?F9 M'EOMCC3VZP4Y8@VKV3N_:\ *]MW&.W35NE+,&5-W*\?)![&LO\2J]5XF[EBUWD?5HQ8G=Q'L95>M M]S)=YRKE7?0^*C!\)K?-VP**UX9.P2EPAF?(Y+MS\M6],0/SNDRT:GT8//11 M]VA5ZY[V1Q-4(:=>:A(J!/ Y&,C>1E^$D9C+L!B87M5Z+T-UJEKOH^4#5*U; MQ*1-+) X!50*68:H:$^D0,LXM"FY/&*!Z4EY"RU5?Y"J]2X"OE:M[VS2_E7( M.]CC(%7KGA6>,2K@SF?:20V"0UY ERQ%RM;JYCO+<5:M#XN7/F:84-5Z5D6) M)"1IH6[$2M&:ZR+MF"8+X;EA4:@AT7/<5>N]C-ZH:KV/Q<:H6BM[^*]-%'JP:K6NPCY@JO6>]EPIX+D70QP ML*IUSFCO98E#%J:R;=3>-YX9*(9"_:@50]FI4=&T4=*W:GUXD/31^P".R?T^ M(_/EU:HUS1(7W]<*T DY2T4 EX:V4.LB;6S.@E>.2155S0,T=D"VB'3TN\H0 MJA^@!U7-!+TO]X2\O9K>0;"!8N$GA3I,#-S4A/,A]3_ TO&T@)X'*[(58((@ M'S@A6Z]I$C,/2NO =.M:HI&!L276/0PN^JB]]>WI3U?S],^[G7_J%9;+)=Y$ M186;;*1)$%'A>A_U3A=@HF:2->U]KELKS>??,WX0VL@:\V%4V;K6HEZC7DF3 M+ZYJB=N-2-)08!N2H 735=](9'"A1+#(;0C>%V6[=17?_/R3L&H#U0VPAH]4 MUBACS($,1VXT?5&9%XC2<_#",B^*S>I9$IW7\O[!G=$) F%"Y?U=Q'XM[Y\F MBAI52>\"@0F5]SLCLXN:@Y:!O 9R$R"FY"%S1W^B*L6VOB8Y*>1.H[S_$,#M M8_DQRONU=KQD"G9*3/4".T=PT4L00N84C*.]JUL=]U&7]_>RRK;R_CXJ/6#Y M=6WT]Q&_K;O&KCK#\J)83-( SUACF=IF73 )-C"++EE??,>FG'M(S,@TN#Q;+J^_8CZ7H:B2C 9I+$5/M16MEYF49IA*PJ6( MO'F1VV,Q7AB ]K3#X(<8-\W2F3 IET"1>M&NTM$:\"@Y)(Q2FR CNM9)R*GW MH]^C1&1O%0]P:^]LMOH9S)N[EM^DSNVIZS)$7QE;6< MTR[((@3%- 3M!">'7QC6Z0I%GX5FNUA'CIRA##! =I%$7!"&[_A'&Z6,UB)6 M"C;M;:V"2-59HOU3!)&CB"%RC>UATD&RTT%*:S.T+J2_QT".*?_E[%]AD5>G M3I>S'_??NJD@?B.3>7W.&@LI_X3 _2?W*G_O(V6K,O:-+L398A$N/Z\R<\M? M?OS\F0_K('8EUI^RD94_S,+EG81BV[DTB(@M J"+%9U:/3S^Q[UIUS*X>?2. M\9>, 1&R,>AY2JT#.!D?<%'FBZ_KU'/X>?[=UI!/O>6D3;E%M:TY>/X1%O_$ MJUCEW@BB<\]3\2$5<*%>+"W(:(.S'ISU//L0);>N4U"Q[4VG:=;V2AY\BU^I M\.^7^>+[1;X.LV7SG?[AL_?;Z[>+N^>63R^IJ8,[K]BZVCT__BKJ"_[KS[:4ULD2.>AL&2AI=#VY"9!018Y*>JVZT5,_>O1X4W6;[N]- ML_U4\&3>[XEY=?//]4N=V?_U'_\/4$L#!!0 ( &J)JE@S-Q7KC#, %,U M 4 8FQF]NWD\5.'[-WYLR1Y9LDY%*"%1 MLDXJ6](DU4B8) F5D'W,A%"V"2&D212R)5NVF>PA38BQ;R/[9,8R#K,]T^?Y M/L_S>EZO[Q^_W^^/WSWG_N!O9=M+"V +BXN(#; MG!_ '@/. SS?D$^?GW[!46%!86$A02$A&5V"I_X?DDI*2EA,9D#TI(')"2E)/\-PL7#N8:73X"/3T!21$A$\O]U8W\# MQ/<"U[BM>+@. ]SB7#SB7.PV ( 7'Q<_VG ?S4N;HZ->_CW"@@*<4ZHW@=P M<_'P>3.*1CMF>_G2O_85_)DQ')N7N5SU4T2UWMHZCH MWO&+%!"4ECD@*W=$54W]Z#&]4Z?USQ@8GK]@;F%I97W1_MKU&W"'FXYN=]WO M>=SW]/)_$A 8%!P2&O4L.B;V^8NXE-17:>D9KS.SWN?E?_A84%CTZ4ME575- M[=>Z^I;6MO:.SN]=W?T#OP>'B,,CHS.SI+D_\PN+2\O4]8W-+=HVN+/[SR\N M@(?K?[7_UB]QCE_B64!9]RI%ZHY?GZ"TBM[,$>H_U_[CV?\SQR+_/WGVOQW[/WZ- L(\7)S@ M\8@#4(!I=Z!7^^5^D;+D*A&Y9G-B,')WE_W M,CTT>/MSM*60LLAZV+$MM24$/S* #41&>K&.)9%L*,<4(9>1G3R<[4A!^+M]UZ#9SH&K,%Y$/3B& M]"[8;P],1R:E@/:*HM;>KO'>*UYQ>L4CZ/D?1F44N!^!R?I8%%;BTA."#M#\ M\[M36^_G34CW%F9TA?_N7NB66Q(?R9'U\>N,!/%UNLU-&^ M*@R(83!?5W]61OVV?\HH>CKGYP\K%S<=5:HI#H^]VG]5EV\Y[%[F^<*/101D M_R_N/FO;J67?GX:_>!8_QG1M;DD^^JG.]=N>R]A_"'N63]*.TZ\JQ3R5CL/X M/C+[S@;NQ=PQX(=V/U5Y_]Y37^S5 G;F<-KK!=F%)<8B]\5CFKV1L#,+?Q8] M;YR;@GD!*7$>/RS\,2UIMTQV%.]S_;8S!R3_TVWOC>J>%7W_?N-RR+>U*-M; M^0^B ]Q87;T S/S\O,X=0V&/CT>IJ3^MH!>!\/_8\!\[3@=2?,\*F5O\\,=T M;A6I ^_C_JOG;? 7*M85<+RQU214\QA5_ []Q5/X/@Y0_V][5F?!&:4J8/GH M.\:X N:/.6 ^S_BAD[ ?<03U&U$3/=72,(87!='GO\J]UY)C[9[\7!969KH] MK[$(B6=IU8-HRK8S<964Y)VM?NG[%P_/9@6YG>UF;)5,"WHT[P*F=5+W2\U M=9 \K_XPXO5VW.6IL_X(RU>N/MIE@WGDHY86Z:R"J-=#\^CK>? 46-'.&@GS MW.40^*+$NLA[]\UH=%LL5%>QF+6XJI'3R?=4^3,I%7&7@>!D=*AWO>W"*(// MK[[Z6;^O]^/E+VUBX3\L+$E9F_@(+ 66H]SZT+,87"(-G>+CBL'*FEY4PNMO M8^8UMA!;\1HM,VD7+[.!B554D$(&)*YLJ0M)2&))H'IQ^F#/8VC%$Y)4!A4Q M\>>0TDB'->/HE S^7KD\XT #&WC1D;/@N?!W:C1*18W:8<;0H/'8]JUNAIMJ MV,@[K):ZRE]5OW*L<-?ND^>-T>J$FHQ ZN2MBX*-]NH!M\/V>9/@LG=0%;VK MQ$KR\&[(X_:]OSQ[IBQG/'[4*2S4O^5[8BH 1LU"8D-+#&,B"F&N>I8&%D9B M)H+;4MOX3ABH-I0X&_AU$"FB%VKQ<23HZ9#T2LAA>9O_ZZJNW?$.TM#MEY"^_EW__,?>;DM16'6 I M@7%_1V_$S K)OC78-QTC^-B[$%&OD0S6L0&5SG8$313+!LZ>VB@8TB2T-A!& M:V='72X5DTJO :O<)5\/$"[&L^1:9XDJP1LW.GVF I@:/=I?<:\3$HS\0>(R M<56#?I*A!R;23X/^+E2QZ ?5FE=G_MZP>9%QI,*HD,G'Y\#8@53'MO>.P9*V M'K !HHM&(05#_D,M:-FO4A%<$WY.G9H=-C5Y: %_>:1\L YZ!QTE87$%E(<- MMWY)1NQA \WGV( ;6ABYOW^3< TE*X8*"O#]?H6I!^1BJODQF\35LYBBJ%N MZ+$&6V8NEB5.#APR46OO*SO7L1.WY+N=<::9-E_,&>82ZA"8.D-H=E:^2ADJ M]LV;["HQ%[)],(9P3;H*7[2"I*%NH@@X51P%TX'A]TH_:5796736K^#3FJR+ M22B<3.A8$V;H4S,B5V^#.:=SI!,J+8^A/2[J.6])&KYF//@>FPD:Q^K>]X*72&&;5 JR46_"#6!Y7V2W5&#[:#U'GN#FI>]RTN7NBK";;*> M&O!8B0]D4K9G;[13UN*?-)WS6'I4>^P+&YCBC6%J-&[LL6*]XJ+@&5+RL[%Q M+-E@=+-N,,*IH>_MX3YCB&2[_569U!;CQY/5?ALK76=Z*T@Q[S(?&=\A-+:/JJ$]:%:.!MJ:AG< M+$WZ$*@Y\*/SC$J2;]SZ6BP;V,NI'(IJ'5G7IZ++D*=9!V-N#^'O#5ZU%IHF M"2K0?YT;WDU&-P8KE_W5060A:F08DFCGOD;GHF";F9Y6=]&W'1J)-\SJ1CHG M]_)?"IW'4<$,JEN+BUA_@#/T!M4B]8-7KYM&NX]_F,)5G>' &8=(V$4&#]5\ M:@QI7>PLBV02_3XGXVY/UQDH?655228O0RF#D ,!3OO0+ M!\K'T3%!O=B1]\ M.W227NVM%]$,022A/=E ])3(7R61H(Y0YZ86!>-]/U23Q?*.W<5T?&;HT[V0 MLM3KRXXCP?,M!DXSJ)'Z"1CI(/=3DY:XHH+EFM#2$O@-^!4.O)Y,-3OXQ'75 M#DE$_7Z*&8(?PVI M^EH0&,058C5^%D' M36/;(Z11_E;'Y;,]O-U&RAY126S@ RH3]0-:1>!DBR>,YV/IA_D!^UKF! VK MS/T+7_&WH-!TJX!NSI#MPYU&'A^JTKSQ4R/SF8AFR0^\\=7"[C3EY#=N&$?& M#^;31XTW*6&T]%B;AOY3%P9.":@._.UQ_'YH7(CO >F 2%(X'X!J+FEXG1#8 M:Q1P07?^[F:GTN M^% 5&Q ;[@DKFKJU1/--))C\+I93WU:9C9"I#;M*?!H< M2UL%C\[DF*W^97@^VCC4?)K2=0PE_,F,L9('HND.R*-@YLE;BRB=S^E_D@9C M9GZ(PMZ)); DN5:J-XADTFPOHAE:&=-0?#]HP[,^X6J'Q.R>5N&8\G?I=P.^ M/[;0)0[A[G)*?,(9] BBS<& N8KN*A2?0U-L$'$H33##DW2/:M$44EI=E1RB MNK3]@#>P'*:F#KS'=X]=>& M"R\EN'@\#1;->8R6C[[\D;$O/[F^2UZDN]MO[U:!+A\OMC^"[Y#!@3+Y-JQ" M(]^,HN=FHD=[J$MF4=GXZ(3S86O"98%2;6FD#:4VXLF*#1O8YSTD9YXVP!L9 MUC6D]_*E V"]N2<"*\M!6(J=2-@TNL,6UIR.DJG^K?D062TCX?3*K>[ZBX[6 M%<23Q>W>PJ7309<:'._?./=N\_L>O#CZ$4SZ/NL$\V/U!-SB=VFUXFG+9YJ# MC1%Y9Q)U-T0UM@J:V4"51ZM&HH;E9TRGG+R+L4['Y_ :DS\U$0D>I4#( D/2 MIGU2A8)8W0HI#'9DK5S^W3XNJ%KYDXF[L_!NL]<70;F$A8!X#G!0S3OC XS( M%X-]KKN&KMI<3*WB79%470HSNU2\6]6V@)4''^_/!8J: V3 M &MM!PH4LM%GK$]LZY0YH*[MW8QSW"':,O$X?J^,+J^W)U\HCGE5U50>9JD4 M\E#+?2CX1#V([-)*>*ZW=&A3GM^1+SGN/"M5;Z[L&51=MDB^[@=3:BI^YI,T M)9;1!GN'/7"?Y&"-3/6@M6WH+\@'+A@0O( U?;OZKX3GD .-LI0: ME4G:H8 M\_+U=^MY[G,FYP*4%S5Z'D)],!'$C.*'D$17T4ZN_)I,^+)#&?#.XU=#X83# MI"PU*9:D>5KS_+G!!UO>1TU7A_R/QX,O@TL3?AT*LJMO')OE)\M2QF:0&)D7 MQHB/#DX%D]7[7Z@B2KS3(6F^YI&+4S\\7UBJD[&0GAJB>2K<2QUI&5>7_G *X-C5JFI9&3;6JKJU_ZZW1W MU4&*V3M+-;H1JN\\Z7AM(/R&AF>XL%"0Y&?/:UWJE=]K+?FI)X][*GB_L933DK*P40*ZW,P!2-4"A,?XCB&V MHH)ICCICKITRUM=MF#.6<3 AC+B*(1MQ:)EV!V1K;NH'G&0?3D)\?NQ\ID?@ MJO8._@+*M5V3>4?H.Y.7LX*#&=>HT/BR@"8AA\$C^(&2VV*/*AD_WD2TAH9[ MDQ=-I#S"I0NOZQ<^BN M;IJ3L+N]\P_M_<$]5I2'V-& ^,62Z=7^TT=Q,M3T5)*-:GW?VDQC]&7]"R/E M.6CO-:$5QVA:9N&M,5A0P;F$A)<)T0^2\J8PW1DT#BC4%BP;EN4&/-3\F*WB MXI@?Q?7FA-%3AHA]]XGRH^GZHZR-BHV^684[!.5T.C]GOE[O)DH%*85(;4#( MOJ1P;[/Z ;T)0VKI0RWEH(SNZ9J]!YC>2X.=ODF#ZVKD#YTO]+C8P"45EK=] MJUW"QC'?K+I:^1M%EFI%9[K[FZI,GVP(Z1RWUNRZ9W#'>]-H.H0-Q-O/E".^ M1.QF,?5#P3C*=28_?T..W.2$OA94 MO&WN!Y&!SKT&BUG- VQ@<4_]%OU]G5@\=OT2\CH;N,V9UDT>! ;2U^._0\*S M =H&)8T&0^T#Y]\$V3C6_[_XNF;R'KFQ_M?/'@T3Q8JSA M'R!LDQK&%#R:PCTI_"R!L5DH!BM<19!=FE0>*#F^EG7=2HLWHJ/S[H,9V-6" MC7Z#<\P1Q+I9JPNG#$SVT?S M#[$T/?PT?,3GTXAB7_I*4IL"#U&2ZR_Z,W;5?A8F%4RWI-;&58WH30EYKG\8 M_)HI6#U6)-Q@N>W/]%XD@!J'G^.X%EW1BP:B9\A_;"(0.JA.1&W!"Y8\6&E# MF4H(N+F%YI^P2N_1'(^>_*$@TFHNVQX#=0 MNM;(XE#G7KI.!1N(>0JB-SP,)PJZT2M?B*OEY)MT2T]T95"KYU97WZ,M[X3. M@N'4J..OE\-C++RI!;3;;" U$N0P;=<&&%.I^N\4Y9KV\R"7P\QW23']^]UR M'8]9RM ?6+OM/'P7:,P_"^^ *B)#J7-JI@F+)8DQ5Z*:)?HR=*X74G1$M (8S((;>\U:!E 3@V.U\P M:W)9_2^\E4:?MMX3^*,-:*5H(LINDLYT*?R2@6*A2HQ35"(GOV>_EVSUV*R) M><5OF.M=MO_1^>01LW@-/RQ&6\!18XH\*/19OF58H=77@8"CESO\^'?KH*.K M4,%M'U!=OR4<.JNV2BY']'*;%N2^PU5G0\XTC\)-Z?B+#"?*9)W_#%K=7M-:''708I/JO^ZYB0+=G"?+159#GP78J MC"6!%QZ^!B_HNQ3P M$ED7)L)8C8^@F[?@&[6SF!W94^A=>@8;.*\GJE:/U&#&FAYCV%'>9LXV\< J MLZWK#LVFW&I* )15$G%I9$CU OE#Z=*N:0:EO#FC\W)M_Q-ZF CB:C7ZK77* MJ9L2NLQ?9HC"4YNUJQNS7<9BG%A366/Q+\AZ10D/%W]P8P:+U_FOX+*O_=;6 M5DO^4/\U,*U[:[)3A:6FQ_U[<^T9&ZCL;$./2BR'-!KD.RUGBZKBZ^Z(PQ[@ M45M]C&O,%S@-AF(? CZT>4@K![+;DV-HKP[STQG%?04Y4>$3!,THL)E'L3,V MMF*.$/=GLG,QZE25SC5][2GNAD0$2S"'$N\XH+6Y0N9QR>I?5HVY?J(],F&O M,M,C]]U^4PUF"AMX@-F/W$--^X#+19]B \\>J=B%%(P;^,LMR)/J#Q_^*VLU?=3C)7@;I)M$]6ETC^O]4A9VJF>'F^% MYO-[A^?$7F4Q(SDPXA',0LNR?@8&PGWF87D_:4\7\MV>,?FX/89*Q]X$E?<0 M0/7:5=#:2_><*+7CRU&X/']*?FF MOE)W*[(@5VE3 F7)(F I]F*2C*/]I<9&),6CC38?;QWN%&E^V>XOP87)/AA# M&H83740X-KQ!*E%/O-#^6UXE.U;8\.Q )T-,>0>>B[S$C&=)(*^E>^?8MPS5 M$/NQ6>O-%T[JF'39]2+_D-"@2E!TN?&(LV#C>=5W*ASK%>B"\-O M]X(+T]HO[(Y2%N*JR+#@[U;WY''/X*[2F(+\(L.;MTKJQE4<,@[N+DB!S=0H MFBA82>'_02RYPQH=((NBJ_2"C&9Y!0P3A$;;_V):?JMA?J1HE0D MF-HY>TUNSRT*A"$1]BU=[@*4\FK%\..'HB_S]ZJ2W1+T/Q\;Y AT)38PG>$/ M6IK7465:-;V69^>[+G7"Z@UROLVM)@=N;HX12E$Y@G'FPOGB+R]#.R)AO5!0 M;8V<45+^(@]T)='KM!0GW@VL/0)3CG(I=Z%=4'93R0@K=+.Y&.,.X<4>,Z4' MP2:[IU AJ'$7*R)#L_3'NDKT]R*1_J^>)S"09SP>=P:LZK1C T(P%=/ M[];1B8&T?FS1#<+*V=$*$IIBN092P8BQA2@V8%:>S08>M4!GRAO//KYNVXL+ M7$.%7;O%!G01%2@. M_"5;U%P:>'F.4S53J%7Y-/M)W4>$)H"E^A ML &6@$?N_>U=F>>I'?J/*%7Z*/NS!LHB"?,X>\[P''3I&@F.9]+13.DTNL$, M;$?Z2?GN%H8S%Y):71RQQ!PPW>#$ )C&E^JB,F%Z%&4:'?.VL\6Z&>HB!:OCG*%,'M42L^C"=97$J=%.@L+8/: M,Y.>,]NK3KY5V-V[!SUX$1@OV(!$2(%=U-HV(DZ$66I\J\SS^Y?ETRZ'OV;M MS3QI_&T5Z A9&1C%57+N8 &N+]^C=CYS3WO;K1='FX"=)=&M6K-MG"2Y>J8NVC4?F=ON:OF(2)?PG;.M9&#S6,;JUV,^@O;C *U"0:N"367M;.#2HO!!I MRZFE1:!SH:>/:&I8B2) O!YNT^J_CT>H)WP)6^*. M=P1 :5NW6?Y59>JZLY+)#7A2;]];*4)JR*,VTAP!J11;C?J)U*,V9;1A>.[C M5 >>TY4*O!6[U0V.UID=@R$]I.9T[T]Q0DHV*5$M5V,H3QX?Y#VL%W)Z9\8P MHOK;HX7J,-@S8XU\4*.5EJ45ZRZ-_3!ZT$HSU_E3_"(?;_8K^QMQO"$^9 .. MK-#@B+;Y?Z+-AHJ]R/P ;N5.!F?/0.*>-*@GU-J/X-H1LYUGE!APDE;>QW%/ M_8V1R?-'JG]HUECE7Q5,7N'(O NSBS]EB-F;EO/(Z[)AP=::Q\/].3,W357- MSF.<):[^7;M34U=?S2V5&;EV*+;;!%9;C<+$+ ;Q].,%-,O5!OZFS$[Z"R\' MJ217"(L5FA0O$R(XE/PY@_](3=HL5:GY8/)&0^LGD>]M_@J MU23>*&8A-PA^^CN"J\2UVV-#M.*O/*H&]K MK.-=$6/']2N1$YC&HKC6@7SJR2P[A#=+H,]J;"]):8M*("<6CWHI'>\_6/O6 MX$.DC,3SGQ=3X%$[UR!2:*_$6^TBI["QS?TEGZ_T-IS\S 9&T-S>+5IE'YHR M_V1F67HD/W7X-I>ZA'C/J3B;(YO0V%#%Q/X0 M__./N.Q76+;>'8.NQTW.J'U"YV;$/%G8ZJY^^'=]E!5D>0__!'Z(ZL^RQL3A M5Q6AK*?>9?]YG=+PG]=0PDN+ZR&=>R(>/#XVA@C12&MV8WU?P88RU9A?/];5,9^Q9&R" M?Q U_>\[U76I=664(C/I&JP>UF%FKG&(JU>Z_:W@0%FI\BU9M[8[IOG:VR\@ M%^G%',*:/[8(J83'Z*V8"SST+AYKE]O\)GY170B;,U4IQG@CT\H&Z"*CZ,6M M[?&2\8Q5M''EL9="GEB*"-7?93/5ZP!,#U,7@% MW2*M?&D 79P<6&,I7*8[4!J^,0,#-5K.YYHKX:>+5 >5,6*G2G^MS_DX[=O+ MO"^%*<$_1!RX"1K1/*D?)L:[<>'E(W<@4\G/O^U.RS&.5=:DTV;W'K8(N>>> M=,(H_0PDR:H8MRW&3CDU.[AB]R+="A+D,S)XMIF-&T_1U6==01U M:1QD2WT#AG 4]A&.E'3$;7!&J^>>$F)( P3&I3^&_*\R8VL. !+K!\C7NHRS+B5\ M:DRM*A;?T419A+C>3.XYR)]N+-4Y"?V)]X'>;K#R80-WV8#@V*6&Z:S)"P'0 MMKT YCMQGDBNH&MXL0%NE/*R_E!@BNV,R>5[=37U%W;<)OW[C\*U28GU![,(7 M2L&SRUBT\:5(VO(<1#TYX1,IQ?1]A/)-]/0KE.2-HVQ 2/KA]Q&GDA#"8XO1 MW3R:-3/[./[>E.#RZ(V<*JQ+42[">IK-T.CLM1BR]6\_S]6NO>;^MG]8 MCBL'W_;BU'T4!$QZ*.@F^B5]?_6;IWL.N\H.GS4.:$=YL+K1M?QMX3ZT9WV; M8HI@[II>?%=^Y7V5&)7KJ8FLM5[/+&! P/H!4 M+N!HJQ:K74"_XFU^A'R$7V6?H1BZE!=;KD&84([ZCEBQAR] 5PF<96O6A_Y, MUH.^H#HY(LSD.K*JA.95W@7YOC3;O8#^(/^O0\ MY*E8W;[Q>:+UN&['E];#K^X^.L_S6XZAQBQ"0@M (5HN5?-M=,UDOXBY^_.S MCY7]I+XKO;[CO7F>5,"0[)PA1FX:-?CP.UG/)OI=<(\F$^^*IYANZ"Q@SFK, M3(U@IK%Q>"]"4L^LH@O_0V4R!Q_M<0]UQ'FX>;>DOR9GD7(AIG3"W_]YR%U$[^6%M@ MHY6C'/YV?<)/>EZ8\<4"QDL155?^[]K'\\NU4.OR D?>6T[]$V[_T62/ MF8W0N;7&"U8+/Y\^-6*1=1"6G,L@44(02&K$QC>H CP=W7S%5-(+)P[VB24> MC,!:#[DF,#]<(\<]V;E86\ %(YW%#,&$V<#WAH^/+7>-PT.9?8['PZD()58O MA'(%'>NB1U'*<)]M>@05!9.&^.*"UW@>OHI([/ZF5/V+<>_?G[606F#8S%A& M7_5KAEU9XP7'80<-R*3X^IJ*L##I(ZR:&VH"]>DI_(M_H.G6\WA&I3:!5,F3 M K7;(:[&1G($I5T?>F6(HQ;ATT%M.>?;1A?:BTZAI6_9>)9X!>E,-OJ1'L-] M,O"7N';@:YA(E __(@Y_-X$3Y_=/H?+0Z=PWJ"&7PVP -<4&S#^@>D$8RSQ1 MC=7DQL%1E00D6[T>N;M'N/C3P\G\*RDG=HFMJS]>R:( M$/\GVM7'.M1;D:,SHXY_N2V\/XLK$T&YAMDY+4_890,U;*"OR,6;DY_I M";V4V@YJ^6184Q[UXF8Y>$R_EWYB4@'=LU7'$?U-E^ YG @<_H(70[KDN\D4 M6A/"J\1RJ6S@:1!2G?FU=/\U;L@J&Q#OX6WX>N .-6KG<_G8\%V)@P'AB^-1 M6TL@?![-D,RCW1HL85S#2AFKW=O>=_&\E_4CO+&6@03&)93H3U?EW,"B4;LP M^$9K"QN0*$N*+AYNT1RX^EHZ9L92T"$B[Z6F6*HY3+B*?!G\A MMD(J^>-8?0=O-%F1\R"3FH>C,-_FZYU]:-]!HW=+B2&^I!Q3A\&@Z%A_7;IZ M)Z(4YPI[2I,O5R MQGL76_?]G3[A3Y*-M,;W &](43OP.0^R1P-+WO^:D1@CYGAG;P(D1V,9 1X- M^E9JWSXEAM0A-4E,>G?I9>O5-L;LL]E;$YDO=M;FBE,.H01YDR(SH]^9J&H" MNT*93RL=FU0/WA+2KGQL/&>EJ5A"DFV*>-:+]=KV'4_29-,*?A%_\?\3(_/3C()UF-*C']"/>3''6NEES:YEVY+TZ\]Q7 M O()K;R_?!A&&F0#G83(&_5)GY&]/K:IJW#_VV)G$LBI2B5[T'(@@24H3G<# MO4DWD@N"]S=?&JU^%G1G/MS,GFONRKEC/ 3JJ7!SCO5]H'TQ\C3(3\NY-U&J M55V,J2F1$#;\N/Q5Q_NN3H^TSGQ.*L>>AAW M&M6%TP,-]&KW.YXNRBUV]R';^T4L?_/#)P:G3PM2K%!19:@T>FV(I\BFMDB; MC?'E$]3O#:\PE^#=4XK0VP21X*U' =H"]6#03>3WOD_SLC 7RP>[<4R;HZ0# MUUQ:=1+QC:BPUX\',&LGDE8^F;HPG_[]@!C=TZ\^'Y!D(W#I>=GCQW @HA.U M]1=:_:3Z6LU*W=6R:DOO!9X@,,#'P^&4(/0"^X/0F&WOT MC6O%J2]2,1^"U$ZY_]Z9"#RYOK>+/L4,W?2)P7,C+:D2[BGR014#_AO.3EHG MH2/\I>%"E ;:K7[D"==&(H96]NX=1%WX7.S 9-/LSR'Y,Q)GW!SR[)X6?N59 M69-A,LQ(;QV$SY-X0HTC!149,U54BMGR?- M/Z![%,RX9%:%C_N9& IFW%^QZEE_*:JQOFIQN.Q8056IZ@@]78PGIJ?HTQDK M]78);;.;K$-]MZFJ\6$?)A[13\W9"F=?%ATZ<"H\^(KA0/&;-5/=5): &R7= M,S_%.N!E0.[!MM M*Q2K^S;'](X!=^@F8! MCE):%C%[[^LM^;"T!OM']%NAQ5R$CP>(179G,2D, MF7]D%D1,(Z27E X-S/U._)L=H#CNN;/-V#_9!!,*!/.T;%R[)-TWF<)XX#DV;![F6O1T"BGDC<*"!Y7/&@+O;E_?51Y@CL.XSRD][3"&0#[U;&H7'.?YY6'+/DT0_'BTZ"ZR \ RD"<=\?Z0.Z$.R M56X;O>7%?Z5_?F-Z0^U(D)O"1F^X_<4JT3^V-I=MX;"ZRM?BBFW:0FEG9EY% M,5;F; C@D!EI1R:U!WVD2_)50V MV,HG)'Z*51EX:/H\OU3[IO6&F]ESA*J("4/N@["Y%@ M<-(@\CKC-/7Z7(:A:FXAZ!TF33=I>*'L1)-?]W4*Y!0#WFA*6]#%74QB@,US MR86>./7?R4O;WIM:F-Z]4B6E/V56]'_TYJ%'MFW'WY(Z*O\ZNQ7)-5 MZ!7E/Y X",5VZAE6W$>MJ?K+5\K@W)2N:<:A:Q/+^QAY%*DY?0C%"B92A:VG M_OQ4L?"TKP/&BD+D7KMBA)4"A5@"<$IGJ[Z.D[=^?<8+67ETJJ]VFJSIK$GU M5N>S1J'<8+$+L=:_]!JQH297KF/F($I]67^_OT0G==Q\A[-A#0(;;BDF@.(+EFM4$56)2/MHNM_07.!)T?I>6DK:^SSOE^ \[@1#I1]U"I3>;JE? M>N5)O*![X):W[QM_D!A@#@1WKN[0-4 ;VD-G9^-CC^*6'Y3JCZI,?-\LV^Z< M$MD4>X%3J.\SMOYXOMAS ),E^UM!P>U8F-QRX3NQ*(8])X9I(+K82\+V XAQ MZ+_MG_PH6D'M\W$!IG<3J,LY.@.Z4PK@L0X--AA)KYVEXT.S BW.!V)8<[XI=_/RZ^_\GW MS<33HQW[D-G!;=9?Y\@\W&6:AA%*,&HKS9,"(W,5M#Z<;=)\="26>7U<[6ZA M+K;1H%R.$LO8KS^#CD+:N)8ZPC[9^+L;$B2Z'OM^?;+6CVMZ_]1X@13TC2E& M6H@\0JE](><^D)]V!.KA5YIVVQ+ZM 0[LLU1*)VK4^^GEMX>T-?T"5'/@E5U M-A$\R5RXI*""OQ291PUB"113&F:=F3_S M"BQ]9YS/3?]-KAIBCD%VYT?L0,'=R3B L3W ">A+E&02U78A8I M(_S]PRMJN\&=2W]'3X;\5'^?TW[7-#WNJ/!__V' _[^=/?(_ %!+ P04 M" !JB:I8R,(A;YA& 0!/=@P %0 &)L9G,M,C R-# S,S%?;&%B+GAM;-2] M^7/C.+(@_/O[*[#S-G:K(XQN'N U[]AP73T545WVYW+/[$3'A@*GS=>RZ"$I M=_G]]1\ 4A(E2R1 @73-VYWJ*IM$'F F,A-Y_/O_^?:P!$^\K/)B]1]_\G_T M_@3XBA8L7]W]QY]^O?T(TS_]G__\EW_Y]_\!X?]]>_,9O"_H^H&O:O"NY+CF M#/R1U_>@ON?@;T7Y>_Z$P?42UZ(H'R#\3_W:N^+QN ':/+;Y;?EG ME/@(12B#@@D!481C2$2,H(^C)(BPG](LN[C[,R<1]CS&89B$#"(O#2%&E$ D M$&<8\2B)J%YTF:]^_[/Z@^"* TG>JM+__(\_W=?UXY]_^NF//_[X\1LIES\6 MY=U/@>>%/VV>_E/[^+<7S_\1ZJ?]+,M^TK_=/EKEQQZ4R_H__=]?/G^E]_P! MPWQ5U7A%%8 J_W.E?_BYH+C67!_$"YQ\0OT+;AZ#ZD?0#V#H__BM8G_ZSW\! MH&%'62SY#1= _??7FT\G068_J2=^6O$[M;?7O,P+]K7&9?T9$[Z4V.O5ZN=' M_A]_JO*'QR7?_.R^Y.+XLLNRW%M589DI+/U88?FOIX#]= ;ZCO"M7^+J #E- M[A=7./;Q](LS=&^EAN#3(]P!9:KAM*J[@RK_5O,5XXVVW%L:Y.P__B3_MB!+42T^ M\ZKB_.J1EU)KK^X^8Y,N\?K[&S^I0K-ZO^:6H>?EWCLN/Q;IL&08W%N2C\R8([]0DI M+WDE5Z+-^2C14K9!@^E_WMYS:0@H@/_^TP[I27BY_ XXM+1B3H,.V.(#-$)@ MBQ'8H 0D3D C!1160*$U.3]9:\II*^25^;J'BS%_+Q^*M31%"P&6&L'_78'U MBN4553^6MFE!EOF=7A)(BU0^I+C_V*"K?U)L=Z;Y'9/;H#]F^=MU*0U;(1?# M2_"L-D44RV7QAWJ8KLM2+['[[8_@PS>Z7#->@5S"+O,'@%=,_F^UED\\Z@.B M G_<\]7V]YL?XI*#DC\6I4)9E,7#=GUI--9<(RM)%/E*FI"Y6JVH__#CR4^GH'NL72H3M"@/=[V@#G:]4?IJ':CL?B]LC-)_ M/6/EGUZ(P66Y(0B7=. [:Y_XB1;2$'^LX9XH*[:[HKPN7$E.LTL2\3^!HF2\ ME [:$29L=<&Z@G<8/RZ^U@7]_5)^#5Q^+NI#N5'N5_7U\N;K+_R!\-+DQ#%> M;.(#1L,'701 @P%X(W&H?C!3D^:LZ3]E)N&*W:$RQ!#P6X/!_SM?"UA3N[/T M*DFN)E7@BFAZV\4DW4'X$U_6U>8G2C^$6C>8PYM%%5B3OY%\^Q?'"?I?<2E5 MB33X/]8YX_*<+&3RCZFF8FG(U;8R>D^%S90)SAE#:AS)+E] MD&8580.2#V79Y!4[H>:4+:0E_M?JFI?JXD(%ZM]+SVY95.M2&NLK_DEZ8=7 M-VJXRG3?J00.GBK0 0]V\,%O"@.@47#PR5H2>^2SK3C]\:YX^DFNU'ZQE.T^ M5-/U9_E8+8G=?+"VKXT[B:[+@G+.JH\2W:]XR:_$Y1/.E^JT^UB4ZB=?.96R M4N>\>L])O> \B%,18A@F.('()R',>,J@P#R)$>;*63/<[&B;DHV6>F2/@U];#BJ88(?"!;C<8ZEZ MS-U).)89CHY':_"SGIECF7-XD(Y>9YRBNJ2T7'.VB7W)1=\U4$)@ M1ED*D40*9JG\)TNI0(0$ 6.AC48Z"6EBU=/"!?S;(U]5MGKE-'_,%(@3JNTT MQ8;@#LP+T$)UIPP&"7,D]:?AS"K>@^0>RO'P"W8"J\/6[W!U_T%]QRR7EC:O M6C3/>Y>T'R3[2[$^NGIO?$Z\>I\5UK]N._= M60T\:J=.JK)>W,C-X>WG$_@B88QZ$-. 0)2F&*8>I3 1*"8!BAGS,A,5[UK-^_N7W M^KK,*7]WO[J[IK6)T ZO,K'$2N!<0E>7(1L$P"^X_)W70&,!WMTK/6@FP 8\ M&0Z[NV.'G>@:2I$Y_8G-I1(?>!I6>+MIN1V VT&[XQ,I^*WG.V5A&R M#ZM:KOZWG/%/*QW3UTD=4D&LUES%T3Y\DP*UPLMWZZHN'J1LO7V^+@NVIG4E M-:;-Y+__ )=-_W$JH$JMK*6!? M\,,F$\U/2>1+1TUJ>B^!**84$IP@Z/E12*D?AY199>A-@>34-R4*,%"01R;X M3;(QACK]E=EM>45CP6E[M3PA*UQIY"E0G%<93\CD%WIX2ECVSK)>]&<)O'Z/ M:_X1Y^5?\7+-3;WD$Z]/K-L4'* ! 5PI>U9C !0*YB[Q**'S012RH-;8*IU0=?"]: L!;2/> MCO;/-#@^_ZZ,\Z"]([0 MFCF>[Y:9+T/_CM8I23TCO,88)\4.(L$\@ M3GP.F82>^7'*"&;&*3BGX4SM 6K X%Y"UH78O2EC5OSIUV<.J;8TDQJ"%5 @ MH8(;?<%N$BVSHMXB.<<-%\8EZ-S>?9CBWA2> MGM?G2^,9IF$OE73VJ):HO MQ>J)5ZI[T5HGR>"01G'(4ZGPL%1X?N3#E-(0IEE DU BYT5\\7C0/>K\,(XK M_&V$Z9 *8WFZ6M>JP1C3=7K:ZR3\+E^M6NNF61>\R5>@4D195\W/MMD!%7$4 MI@A&5)4OA\B#A(^Q@]J!$&7"-"A0MVG=9]K*0&:%.FI:&) AQJ@R0&UI >T!%V +4GR MKYJH&6.\KO=AKL"O,[R_KVBPZ^VP#A$[1V"[R:D'" MR%=>"22I)ZW7%$M7)1(4>LSW,TJBF-)D\:+5:;^;/A89(_$Q:_+:(TH_+PNB M\H.*8JD;X[48 *)0:"W4]YSJG'@0^A>J!W3X)C T3L_;#8-(T*3,':6;-A@! MC=(%V"(%NEB!+5H78(,8T)C-P5B+(-,<#!X7@IJ,T78QJ7,9U!NQ&KWX?/&L M<^G?BW:=O=BY^<&W)580=X7SERO6V+G-+YIPW.=M2QDO"]*(13[DU L@BK,$ M8LP]2 5/6!*F.,96EZ>C,9G8(M7=(U2Z:.O0=AM)?/PK_/+)K#^-8^X;1B+F MX*GE(>&&G6?DX8YDA?,\6UL\7BF/=B2[3N?)CEUP;$/9M@_QE= M+>^+I7RY M:KZ^2R)=>DSK18P#QC(40YS(/Q"C2ID)#R+N)7Z,8A2E1C>35E G5EQ?NQV8 MNUC\[XWL_;;!Q%9M&?'44$6YYI1EH-,%DT8TI;4@VEEC6A.8,S>GM6##RP:U M-B^/4QZ?=%BOZ7,MSRVIJ)KE.[K+[FLW7W"Z3[Z#PP4X?1Q/\N';T^_HZ[< M/*L(V#/D4 Y&K#!.&-YS(<]D]D[Z(V5.UCI=2'Y8'QX>E\4S+Y6K4G+U4UP^ M=Q]J)ATLF)=&* I#2+*4R8,5<9BRT(,9#ZF'1!20C-H>A,[G3H)$#M ,8 M/,I'+@!O$=39(UL,]Y_$&D>[0_G,[3'37_,QW=:K:/C=A:FFN:F,R0V_]Y#; M?_*RG]_6:LX-FQRIOC.1F54=NF'R%PJJF;@#>](I/0PZT22^TN=6%">E']('1:_9E7[^L M'G.E3F[S!Z[2%E6BP5_Q\N,2WYF6?O4L,;'L_O+E^E.W[[;&0&>R[J4 ]==' M6;&D7XX=H8%EM^TC8":6SPU0-3Z]=K*Y);4%.$V'[1Z2W+77/@9D[M[:/80>::S=]_28KMHZ#>%. MKB+_5N6LS47H6,Z;)KFQSW@L#U":JCA?S#!,,Y)!DHD 9RGUPLRHPZ<5U(EE M=H<&V,.CZ]79=*IERRZ>H] ;?&Y7!U>D2I IBZ M3=ZM"T!W_*1[_.R$4UR5%=KRH[]/N.EB,W8.MZ1OOY>X[P"'6NI4F*(JEYO(^U(-K95:P) MS)EO82W8\/("UN9E^YCB#=_.4E==="Z_Y95I+/'(JQ.+= ,]5L4Z^:DXO MA<"?S<.&QZ@>#A>>2;"=R/;3"GY3T!T%!GOH&A40/+;>;(' 'F*Z <"^Q\:= MM.^*\K$HU2!=3NI=?D1K1@H/>8E*^N,8^1"E80937ZB*_0!S3B-AF=#<"VUR MAZ6%#9A*\!D[,+"?86;GJC,VV'HE&PXE MV4OCY/M+L2HVM77-W=YFC$;,(A2D80 )YE3*-@E@ED8!##,/$X1"$@?>HBYJ MO#23[9.0K.1Z"\_XJ[Y5K[2CK//F9#<0S$>?F&<"'\0@M,Z?^+;NWDU^/Z& M*SJDT]U4[-"WW\7GOX46*I4R+A,&(^IG*-(S5C*$0!ED6\DAD M:1(D-@>Y YPF/NZW&&Z4@LJ^T8=?N8?E!< U$ VBH-I@>OB2[NK8._1CLJTS M4SLS;XB=@MKM12?[1X$$-R_WHL41;)$\?,GA )8)N.=(";K :%9UZ9"%AXK5 MY=)CO:2'A[Q)*+]V!=NDF#M#ES MDDY#FME%&B3YI8,T_,HXP=[O.]*YQFA['57OUWQ;ST23)(ZIZM4:2M,)4>Q# MPK '0Q(E"0F"(/&M]J:FK?^>X!+_(BK#G;)%Z&28330,!8MTG-A%!#Y6+H2[Y$B*6" M>,ATKO(0L*FSNRKIP@@@U(AR%6&]K.&,D\"&*V M.%*(8ICZ4KG*4^%T%*X\2N]9%K#*?.VU']%D#1 =\ M!UV%M%Z[J?/)73.SQ5]U+^P4FX,FS=LVS!VTOZ-&S$,\?>V&RR?Q^^=HK#S$ M7F<-E DG:RYCJ?W*D^20/'>@^D>8_G89)?'+0&KXSL1B*/ MW[N[DC>CX*Y$.S%NY\R3V LY2U-( BQ]&R],898*!"F-1<03C+S(LVI',@!P M8KG>!Z\_.78M7V)N-2_SSEE%>WTEZKFLF0TK1?/SXN?.""F<0[#S^,$H9%XI6' .XTY'!LY:];SBJ()77XKZAO]CG9'0?F*:&8]=Y=&>21S["'H\$) D1$'D15X,:4\@C MDOF$9ZD?6MVT] &;6" _;:O-;%.O>SED9A>XHMM.+CM%79VVLFY=$QL*W75R M.0UJ[@8N@T0?Z=LR_,Z(3GG-7-%VK.BE5!1,CR=]4"5%F]8)!),@4G/SO(0P MB'S.8$9B E'*8D\P[!%LWB3/ .#49^S^*-46!WW'#S06%FW?3-C7+^M3,,7R M'![BQYA^>":,L6B%YYA!X[K@C?]P[/K<61#;V^+.9)WYNMM94+77V,[FO9$M MMLN"K6G]-ZPR?NIGW1 ++S=E)0N&XRQ.F&JM'6*(*$IARI@'L1=E(HIY0E-_ M,VS:S)[I!VCT(>\/E+:\(>)UO>2-TUX(\$>+!J!+G#_8-N#NYYV9G>. 'V/G MZ:T8+EDS4^Q;WJNOT'/8>-N(S:XZM_=#VS>-MY& MA+_HYFWVULQY^!]Q7NI9"Y=5M7[8I)(^ MM*KD'\2C#"8$"1&&(O-CJ\CMY!A/GOS2@ +/.5\R\*9MZS%7)K[QOIFIM.]J M-RRUXOF9^HJ(=N)(APR5N-\0 K:;K4CY#G+W;;G^VKG\QOC^<^3VV[+?6:Z_ M-> 1+O97^2)M?O;O*@:'$#5(F'A35JQT,#?GHHQMN9GPQ!E?6[^OD$$ M-)CL?AQP;*AI]E@YVKEO1C>-'K MLULM.)_S/H;./2]^U (NW?GVGSFO/DE5S]E"\A[[82@-[DCX;50S0#'T!4Y] MP:GG^;'5 "TCL!.K68G$4UXI8TVYJ']L@;MPZE]P\!SG_AR^3.OD;WO;*P[N MT 0-GE-[^Z?X,JG7_P+H=^#]GV*$613@Y-LCHP&JI*59Z?VZ5*7_.LNA&2*F M$AS*7%F,^C%M5W[A]97X6)2"Y[7JU[ 0 GM1JD9@)$) E! *<99QF%)5>Y:) M(*9&76.<832Q(FI*LG*-((! *B0U^%W^_>;K975&H?W9&V'HOL_)7FNK47*V MP0TTR+796!?M3,$+L,.PK8UK_7*)I8KX=O!TZ'N[8IDKW_IL?.;UG5VQ[X5O M[&SAL1TZ5RJ.UXPCNLFKWS]OLR/3(& ACB@D#&&(,IK!+(Y32%#$TS!(D">L MQ@2=!C6QMML##!3D,S).>QAFIKS1+0S%TYAPA^ MV91S\(TQF2(X7WTNJNIJ]3ZO'HLJ;RK]+JN*U]5?^%*-/5;.W"**PC"B?@JQ M4(GH?AA [*4>C%!,"4L%S\+([+[4"N[DUZ8*"67(,(V&FFP@ -98@'MU8Z'\ M!15EL!AM8,=8@\"64V:-RR:1&( W"H MV>263,"S<;&LRP:BTO-13%.,8)Q@ MST]X*! +3;/;7RX_M7W4PK).:3_"B'XM>#YYEG:/(656">RG"3@C<_W(HK.E MK)\FJ)NKWO/4.->CTR2X'2J][75-!,$T3A/H94D"$1(,RK\(2 +5.B1 6!"K MKHBG04TN6AI:=]ZNX>!" RZ9^1MN:+>3NP[,[:#V2?IY#Q/GR-_H 32KOS%, M\*&_8?#&R/X_>U/7+I]POE3M^*2UHPPB:2V5=?[?ZLZ_VGVR0DC1]@B&+/"I M]#X\#(D\&V%&TE3^?\1Q9G1.GH'#Q!*_A0D44,MN0",X:J8$)N:3G78XF*)X M ;;X0(D05*.>04_:+A!Q+A4'P1PF.$I$PH/0RZPN2([ F%M+_$_O1\_S=\KBWX!_X7F> M^E][)0SPNKXO2J6J+T#;[?/R J"+(-H^PGB5W^F&O!5 MROU0%Z185[K\(C?E_G_]JQ][_Q;Z%T"%JO23[SG5B4=[OPK/T5?-]HU13M:; M_G?RR>N$O9^5@DU:K;]-F?Z1A[Q'XM2K;I( MT@"EA'!(>>A!A,)0#9@@T!,D%?(749KA6:I9IJ%O8BWYMYK]*'V4NQ^!Q@(H M-#I%%#.5P$ST:9AIP>\,ZPGS=\XOKVE(!AV:@28:U)+JW9B,+>$78$,Z:&D_ M_IU-X@-_IQO[VA4\$U'WSU'O,^W6.JL.FAC-D2?_FE3\'VN)SHM7.5] M\8#SU4(PG& O#"!-!(.((0%Q$(0012C"R/935$[@NU,?C". 'NUAQR M/3>YJMP^[6MVH2*;*UVSZ$Y>;?THME5>W*K"Y$*$GL(2(W=8*RCEK'"DT=WC-J@"=L_-08;H',+*C,BY7D. LI)T%@U5GZ?%Z-."ITTJYB#2T> M'HJVZN@"L!D8:*;_';#%3IMO .[NFRY "]1AI^9^JESU8#X!9=[NROVDONB; M//#XB,S\$_?>TMU4B0Z_2@V+E^HV1AC>-ZO$"9EX719-+_N^ MU&5;=)+K0),. JLC2^U,U=#T#!Y:TTH-M!;*5F^R,/[(ZWM [U602[W3^8TT MN8J[E5Y?_J+0H6-Y/CZ6_)ZOJOQ)/:][ +_!>SNNTFA^<%5C<,:V])8;C%EW MOLJ#,ZC>*T(X9QW[P477O+@M:M6%\^'Q\J$VG4YT\-K4J08?KH &=W"MHL7* M?/30(:W]6OM,,NT4\C@*K>8%G:!EU%"@P[5FF_QS@HCN>)]3CXR,R=-[SM9+ M?B6NRT+Z$?7SM=RX6CJXZ@KA4:GM)B8424LKS40&XY1*%Q1C!M-48!B1$$99/ _P":/!-JY4- N/B<,8L-8SC3\ H2^$]BT?VT7U+@ET% M^TW!SAO[MV3&BZL V_?'M F\SQ_ETI5H%TENCBUJI,P,O[30<*R6QA69SKZ7?LFEA=YHG!LZ4&TKM MI'P#$S1 P:?5IJ6?[K[BAG:;9GU.>##.Q[F]YX#BLGQ6MP.-YR&=FVK#H<>& M0ZH5T(9#JZ8_#:82W+KIZ\>X=$MHKB$[Z]HWR)3^'GVG7Y^Q(]\@#?O]]X8? M'V?Z7%*JK,_JAE.>/RDE*-?<>.D1"K,$QQ$,$?76Z7I\*CWRO-8./-?9Q__3OTA0 MI,]]]5??&Y65?"$1J%2#6NFF+PTGJAKME9D=Y6H'[+3JEODW'>9C(;<17.XQ M_5W#=+-(E+5-94*\(SNJ%]2LMI,)T8?VDM$[]F&(6RENZMZP+-\^?UJQQOXW MC$4<>W=BE=&"["9VRJ^2J,1-IGI+KTUMH9.T#\1THQ>]SXV\-/]6RQ77>76O=NU*J !C$UA:T""AW(\%Y"(*((I# M#^(D1C##/")^E&)!K$JJ3X.:6"#W :NS5P72+]K(N^6M[VE^F9VD;KA@)Y\O M&?!>,\!5!-&<-E2%, D(A2A(.GVL,1-:1P3;26TW M_ZZ!>P%:^H?G HS/NCM-HNL\NB.07BEYQ%P2\7+&/^3?.7O08 MT]$@FH@P3BAD82:/9YK$D&3J;P1'<<@#DJ7DW.A@'P(3APUOW<0,>UDX/ICH MBC&NHHQ (@0T1FVOQ?U6BXZ"D/W?X]G125=,'3M1Y%'^5E?5G8Y5Z@B-T'RV M[P'J)%IIPJ0Q8=5\]OFE"M4G@TVB=F4NSVZ*RJUW?@B]K;9L$#$D#+8JA M8%@E+L<,2L@<^E$8I(E'PU30Q6/3UKO&96UFO#G'TT8T#[$UELZK%UT="+_+ M5RJG4OVC6?>, 0/.-P\E$8U1I)H@\P0B''DJ!NY#G@J,>4*2)/7:S?NP,AP@ M^QULW0;7,S9.S?_[+K?,S!=XU4VPM1?.KCG?5I5WT);6A$;\.R@6'^+I:Y=[ MG\3OGZ-@>XB]SDJN!P'-?"9?4LJ7O%17T=TW50^YA2^/9!S'/B2"2\QAB M&DC-'F4QY3C(.+%JZS8%DM/?BFX@ VK=C7*279E8>3OB]7C]O=7+.UPO0'KN"SJ>1#1CUVDJY#\5_#KULP&1GJMD$EM/Q:CJ^IG]WM9G,RTN:2[06V ^X MEQ$.T\S7E>\,DCA#,(X0\C(_CKS8KM6%+083Z]5F:E>A@0+> K6/-*B!+8X33[W;)@=T\XYZX'_/9^_>OS RFD0. D"=/0AS3P&$11Y$L[CT90T(P'G!"/^L1$V;Q8>:;\DP:8 MF?)X27V_4CB+)CMA-R3'6(!/HMZ3."+?:612_F4GBB]7FD7$3A*P$9W3#XP[ MIW_]^G/QQ,N5-@GN^(KFO-HO1&LO4P7!7AP)(ETAED'D^1AFU MA2K'O1X%' MJ&^5,6(*>&*!^O7'KS^"NRTFFPI,Z_G*QGPT.Y"GX(Z=:/[Z%>Q0 !LM3:,N/PA+5^WSZ#\TNQNN;%%UY?_SL*3-!'%6E#9,9W\Z1\_[,Z9M#%.Q MGYYA\/PX9T4J/M73A-?\\DZNKFL1VJ]/.NVIASB#%%'IGF0^@EE(/!@KS13Y M ?685;/ZTZ!FL$1:R !O0=LY(SU\,G,_W%!O;6ALZ-X!G<"_&*;-D4?1 VA6 M'V*8X$.OP>"-D0+,ZT^Z#9&JYENHJ>$>3C",.(D@PID/"8\(%$D4",9(I.?Z M#6>Y'EW=2DSM4U@E+%T':BF8>_1G)$61%X?7*,;)>J)*C M#YW;DN>PXZ+J,TO?/K_3#4'?+7%5W?)O]5N)[>\+7] H]5(!?:[Z\ZA.&VD6 M!-*+P2'QL]3WDI']>2RPF/INL<5)Y=X=:P:J,6LJT)O>E!?@]H\":!S!+[R^ M+T[?GCG<"C.!GYS!E@Z4"6]U16R#5\-55=9#EVM]NW'(ZK9>%BCD@<9^DB9! M([CGO&.0#0ZOU#YH!)M.]Q(:LYBK0>B+Q//#*$QCR-,PE?84CV&*0@Z)3[F7 M>A1Y?F1C3[T$,;%1U33"VW1P[8P_/W?Z^>BIY].IE6/3SJ<<<>Y8Q(\ >.61 MYJ>$L^?),ZMQW^<5E3;P6NZRY63MOB6F^^0Z4\$Z<">9$&9"H.N2TV.@7J?F MM(?HDT6G?>^,_$[SE6JB\YEC:4ZV0O#<9O]5[]?\[QR7TC19",R%"/30!($@ M8CB%./ S& ?4]S"+21#%5A7D9G G-HGE=Q);EI(;\LM0Q-USP5+:&P2 QN " M;'&X '4!"-?7=1= H:$,5(>B;T>X*RU@"'5>A6#'BA>ZP?+UD6JB*'E^MVK. M1OI\6^)5)96/RKM3L7OUSZ6^8:FNBV4N']BZ;5346DZEO#!N\6L.4/JL><1M4+%7,:%X;*ITY.&BIAEKF;7 " M7:2:F[<.6J#!"_S6_G<2%_EL+KG26:/QF%>+GZ:$)[)KS M\N>R6#]^7.UDRS!#J6>)B150"QDHT$##O@ ?BZ)>%;7A(.DA%O2K%X?4VRF/ M/L+!;TZ5@R&-HY*-^M:=+='(@+ANDI')XR/$L/C*EYS6G+7#X[[@!^-^CT=? MGEKTBH='O'H&&\B@!0T4; O9.TJW@=2=2[*EO(VBUD[&^B@:)UU'5YQ/KOH( MVI.HW@='1H%Y57%^]:AJ^/+5G785.A F%L4&FF4HN)\_AF%A9U1;AH@U7-6GH87<^/*5XY//CDQ7\>-^ M8//&DHT(?Q%7-GMKG%Q_6M7R2\C)LAV\JL?=??C6WBC^7!3LCWRY7/A^B#@- MN1I_RB$2(H%I%&=0\" 3OD^)GW";&Q\SL!/? NV0:/MP78"[TCK5Q)"#9AK M/5_L-$&')9 G_P8:A$9?)O?SU="6F(!;EE;% :,:N)/< MH2 MZ_YNNA_L:]U8&S&CYQ[;[/W1MX9YS3_G3ZJSXK[>^IRO^*>:/U2+D'#$,".0 M!"R6.H00F/&4P9!G,?8 )TZR*]1@!H'\.*\!;\I/(!&Q'+JG1%# MC>\4G;+)^D+Q; Z-N4TT)MG=5>(PR+GO$8V9<.02T?S=<2JC?W#MY8.:A_S? MJL-0M9U,Q'SEMI 1EY*(*)J5KE(*8PR/_%3DC&2&O7?&(_"Q.ID"U+W[AHY MEOP,!E-&291X$0PB$4)$P@"F&"4P2@.1I3Z17,:+)UZ2XOM@<1<58R:_7^LQ MV(74.\\JCZ$HP9+;.HHCF&NFK:=EF)WN-IK[?OC-.L]*',\11ZI]! *S*OKQ M##I4^V>L-.X0N.'2_,Q5=/L=KNZEA:K^HRS3)PEO55?'?]I6)?K,#TA 5 =E M'JDI!_(X8-)%133S"$]I0*A5V\USD)GZ0DG"U'Z7_DL'.OCM??& \Y6E>7D6 MW\T4V5S T[W1FEVQ\,<;9Z>+C%.\[ MQ8=57>HWO+Y_MZ[JXH&7VS*G18B%CTCHP8CX%*(T\6#JQ_*4\S.> ML#!%,3/J-F@$;6(%\)X+7I;R["WY$U^M#?.&S?AD+.ANJ+>6<@T6_"'A@@W@ M3C&B4PD?IM"=>/? FENVA\D^(M@&+SD=_*$C"]7Q&15!BM(@#C.8IE+>$9(' M?X:R& HNG:>,Q-CCPL'DCQX4I@ZK'!W]<<9X/'L>XY!Y),/2ADI5Q@82,20X MRB!A'*&,9F'(R-9-?756'_BD]AS?@IN5R1:AKPU7H)+0 MP1NN\H&K_$GW&]IH:CRZ89FLY-OSZ>(*H__LJK>JN=_ 4*?1XJAU&$E$/$10A) MA"*8A;Y/(QR$TJ:<9W3G2^0F5BXML.W8994,-=?$Y6-;86@'O1*#9[>0]'_ M9I.<6T83L/'5IW@>0>V?9'KG:::ZF]K9 V/$S(]F&O.54*7^U2)*(B%(',%0 MI %$Q(L@#E3)L(@ISQ*./+.F/B^7GE@)-K":Z?/R;8NI%OL,Z%=>YY%EIWI: MBJZ$[G\QGB*+R1RC*1LWB\.40KNQ&T>)Z!VTL?_&?*,UCF*Z-TSC^!-CI%RB M@ZM[7:;\X9M2-WQ!O(#&82Q@2+Q8=?[S8(HID:(?LCAA'@\RH\Y_IP!,+?%J M5(9*_ELJF. -X2LN\OH'P!OP-@)SA#LFBN \FBW5P3ZY;HBTT0WG$3M.0S3S MQ)167S7@]ZEW-:FGA[9^Q7'DO1G5QVFL]Y5(SW/V/7P^?.-T7>=/_!VN^5U1 M/E]^RRO3'CY'7YY83VQA@@U0PVS&T]3VZP8GA-HIAY=L7JI&=6U MY_B*LW7MZ26HV[6G_\&Q!7./197755.&IZ1S4Q;'0IIEG, H\1!$(HA@JJ*? M-.,X(((%06)5FW\*T,0"][E8W4'YW@-@+0(Z@E?4]VK8FL;%MD;K!,/,(@TN MV& GCAN(VW8=.Z NRZGZR7)6-'4"S,RE4?W$OBR &GA^S'1,N1_XCC?E]^IO MFUAH6TX31D% E/C&*$LA2D0",T(SF'C<]U,>4YPB\PF9_< F%N&W>5$U8+<7 M%39S(@<896!:.R3?,N#7DJWO'-J_;^\>QLS,'."%S=Q,=SP9.SNS22JN"U!U MV'3XI3B;GVE&;_\,S8$U9IRC:4;-_BQ-PW?&V2$?A."TOA(?OE'=[?-&;N[5 M2A5/'110O2B[VO]!Y\GMU*/W>245,%[JYJ'R#37?H%C5^6K-6=LTK5A5"X%" MADF$(4E)"!%"(90:E,,T"J.0IQXES*J'^.N3-+4SHPFLE$=\K!\YD/]?^7H7 M^D]=O-62<:%%M=Q2J1^P,\->G[F&!M_K(SJAIZ=IT]/(6NJ (D]M_#N]\8?U ML!=@1U3[B/H2#GZX_\9N>-F&W*;]BJ9W\M))4:,NONE+N^*WD0IO.)7VD)TDC9S?%NU/G$E:.\ M^?VU/+/Y(J8A%5X00$(CZ68&2!YC) M@D@D1>

]*>_'^L42S"Y MQ[BL5#)A4SCA.I/0[;;_<'W#5&04;%V!#%V@)VSX%-&DSGF:3;,E< MIYE;Y+^OTVR2C;$^S:;!XLR1P)]6C^NZ^LR?^-)OX_N(TQC%-(4LC3*(:*(2 M*D,?)CY"*(J(EPK?JE?R:5A37^LJ4,"W;'_V(8#M%NYN5K()A"NX% M:.D?O@0:/R[Y-(FNIR4?@?0ZPY)/DWQR5G+/*^/D]^Q:EYDM-MVGNX.OH[4M!F"'PB2=S.RH=O0U&P*=]<.V8\3A-V[Y MMGWVWHBY>_--V[,;JF_J.S]!X/ G?SYMED93 P]L "K3B>5/.5OCI4.1Z"=K ME'2<6'(V0>DGJ2LS T^ZS&IKCY^;IFE1:[,'(?4H3P+(:4 @XJ%T9T(6P QY M"'DI"S VKP^S OW/F?%VE(G]HCLM:RP#3GW9PR3/I^K@Q+J_NZ(K?099='Z5F.7>]*XQT/#=S*!%)2(+C#&:> MNF>G*8%IQ%2\B),LC0A%PBKS?]2L3GNEN0%C%Q.RG+XY_7S-03+LW>%IAF.^ MSOC+H0&7CD982OEZY&7]?"WWII;BI^XE'Y6JW0UL3N.0H"1CD&2JC5D2$IAE MA$&*,D()$8E 5F(R#'+J%!)ZS]EZJ;O^;)#9CF74F-B)E@$/S83.+6?LQ'$# M^P)HZ/O\ +_=ZB[CD\S -J?:D4 ; )Q5U,T9<*@$+-XZ(C/EL4=#$L*$I@@B'\40!PQ#+\0AH9$7QHG52,I>:%-?R#6F<4-^JT@4A M163;62Q?W5V)C_D*KVB.EYVLI%L)H3K^J[;IN?!QG&29@ 'A6(VV9C#%:@:B M$'Z:1()P9*4#7"(WL:?H![' POS\99L?P58I33MAIG3XF2&?(I1MD1>FHBY;AU6>[JE1OWP+F!/+>8,$V&(!6C2:RL8W&I,?3#//;%AI6%,K2 U9I:!*V!>@ [T-AUJZ>'U<,_/8'/'"4A>.9X.U$V9 H".?J@_2 MK"Z2 TVK52;U@JL*-JB3D#TM_#8 M?@M8CR@@S\=^Z2P':6Z.]^26%J$&INA+79;ZB^:,*ROY='G"W?Q0++Z912#&27H0J(!=1"E/"8AAS M(K(PB_TTMII1. :)B0]]*2.QI1;J-]0*?VGE+S=C5"MSI MNKIS!H).L&EFRO"5MV*$2^)HI&B#>+<]A4;^.VBI-,S9U^Z;U(/A]]5.8CR+ MG75 ,@ UXA9>K?SKBI7+Y[NOG+;GRN5#;7S[?FJ!B?6H!,DE3*4\=V MKMM/ MTFUPS>Z"9,OK=>WZ'J49---G'-VK#Y$V[C[]Y*KSW:,/$;9W?S[XL)V@,9XO M/JQJ:8M_?<#+Y=MUE:^X/%@S2DCJTPPB+U7U-)F Q.A&(0'@) MXM CL?1":.3!5%VGH(Q&621(AM)T\<1+4ACW.QJ%B,V7VT7')EJ26G9"&L=1 M,Q=A>B[9R7>##]0(@1U&S3R1LRG<6H M%[V:SEO-W@CX++^$Y?5]L>)-/]X%)4&0TM"#5!73HBB6%H!* ^$!%@GU/1\G M1L-XCBT^>3J\T7)\[O5NW:4B$Y@QU2)YL\X7WV6'O"OJY+C9?[?G"TR+TZB M( T@0S&&*/!BF*:!@ A[)(PX)]S/K%H96@"?W.?= )W$G;3.FTI,9!>H!JI M*, _W !6NS !CW0P>\"$"[D[\$M_N;P MJ!_!#U<'O WH>8_U$4QY<9B/66. MB6I!@G(+\T(I'";_L^*6C0",&&FF9YPQ9Y1^V4 ';S;P?U 7 EMF[7!PITEL M*':D08Q SJHY;)APJ#&LWK4/K6^ZGUV)#V6I8OV[0IS/^8I_JOF#R8QFDV6F M^[ WT/4HK[*4%EVQKI;/S278X>59M^1+X08TY/G)MUP524JEU9%I)5T"I03OBE5]KPY.A4*^NK.\VC^;[68'Z9S,M'7,3R4X;1%1 M:JI!18?I7B7AJ9TV$ZF7>&4E1_>N.TX,OK85-+6*69HD7)9"S M,((H9!QF49A $=,X\+TL\P*K$,0I0!/K+1OKU8Y!9IK(!=EV&N8(Q1,,4ABB MRY&.. EF5MD?(O90I@>?'R>K>EJ8,H=*?B_MU?Q)6ONT>."[F,!?BJ6:C[D) M%ERM.C?_95ZIT9GRGZN[)N_F"Z^OQ"W^M@APDHD8"QB+Q(>(9!',*(D@"4G* M,R0E75@-[9H*T?E"DV]41/('':%444G\A/.EVD*D:R6X0UC$#=6C7 M/3&V>3?43#=]#]MDI]NNWGVZT(93)W?H ESN[G'DO]C MK6+*NBJ!^#KSM899<'+.EL&K(TW&9AKZZDXW M#OB<8Z)+_+Y(TO0=4[T0"0[],"50^#R3?IY4"AA'J50%B>\Q&J5<8"O;;PCB MU"D=^@ICV<+5]D&Q0>D"+%7X1:[Z8&FH#;+1T.)RR1Q+TVD#>M/38PM=S]AN MX3LT?4Q)=67##,*;UQ@Q)?^%56'\XLB*N+8/^I70%1KDL(CCAE=UF:N4P:]U M07^_7+&#G_RZRNOJDM;YDT1+]Q_9M?<+$B2-B2"5/F1,I%W!$,0"QS!*0AX1 M03FU+(V;$-F)]5"WW_RF7NZO3:5<6XNE$E]^P>7OTGEL?K##'6CDP09QR_*Y M*7?83,]]+_MFIR*/%LKM:IHN7FZ0VL(7/U2X7VSW;M(N^G/PV55YW92HSEMG M-P/37Q3U?B+](;?J7S9_R'14&>[;H3Z_+# M<7N K;D:,+5%22EYA11HL0(2K8NAHK;SN3F<>#$E(^V4ZS0\/&>[Z=JLYC&W3>T;CA/-0FIG8"R'*/ 933GT8 MBMCW/$PRDE@9G*< 3:Q@=$A[!_="S_ <.53@)*_,3#<7'+#3#".)MS:6ABAS M9.BKS$ 9^@D48 MH(QY5BE3W<4G%M"]B6%\,W#I K ."KHGW*JRS"_8XY"IB(ZCVU8L=U!<"N%+ MW)T)7F?IF87M)5$O!>S(,V?>\+1E?BOV>1?N; /)[$KZ!"IBE*_NY -?BE6Y M^:=T7T?I7_8\VKIBEQ(/\O9/(<];@OA=0//)BF?@I#S^+!4R([M=F_:]C9O4WYM'I-A:GIA M9;'B="*^@PK>\A47N1Y3V()U*,(CB'4DD3:09Q6P$2PYE)7=-U$,VZ*Y?)C4:I:H46*$DY"0:!@D9 > MC)="',4^3+U(T)@&3,1V==E38SR;A;2[3U;MO#8TJ-S)+15 DZ%2\W:$-.:Q]]>I;/-XFFYKMK@VSR?!]'>ML M:O:?--$F!SRZ]KYXX-MIOZK3B#X=56JA/$0B$N% NMY"'C$9"2'A\IQ)Y=^R M@ L_C:Q&*?7 FOAP:""#+6BP@3TJ+;./9V9*V!$G[-3G:":,*:4?(L]=!?U) M2',7S@^1?*1>?O"5<^:CG4C?VI1Y'F33$(II'&4$,J*$G:B+K#1)840I,>OYVPME8L74@-5E>ZH:?Z4@ M ]R MABY=9)'_1K&&>5V.J0E^DH W8) P67[HBV& OF@OAQ4[Q&,<%N M<0 M<;T#LTZ^/-]\JR'\]\91#3X\NC-!N59-397!=HN_\>I=6VOA8^YG/(Y@G*EI MLRDE,&,T@%[B^T%*(N:;J9]!2!.KH!:NJANVM7E.,\?,LG%"LIWNV5#;>D0: MZ$7;M-!AWXZ$YR ,W=K@GYRC_0F&'C!53_!K9W27I1M;IYP'/LB"E2K M\DAU%E$9!HE/8"HHST*/>'X<6D8XS"!/+,[O[E6E@&J9MRTX4P8%;Z^A]TK2 MVHX!7 A.:^T.8?J/=5[E>CS*N0T(3W'>.$[BGI_649-CK0AWKD^#R"2W@-;D M3]:7\!3<5VY..,".X0Z%0PN,4T"=[(\FCIM7OW\LN80G99E7M1IKV;;NB8B? M9@D-(<%> )%(5-9P%D"6Z:1A/R$LLM% YJ G5D$*L*KV5I.XWR(C?H IQ@U@3-DNP9X$BG6 ">5:G8,^10JXQ8X=63"MX^;X,U M[Y;2,FCS\GF:L=AG/B2$4HB2.(/2!DI@E#*!N,]HR*SW@\ /K>! MPN6JSEF^7-?Y$]]U=OKPC2[7C+./DJ4J]VU=MT5Q'W"I.N96U[S41;R[VR@1 MD@BA#$$2>RE$,4TA\3T?,I3&//.S.+;KM>D>Q1EO";LH=T=$;I &ZEL%';1U M6^\6<36^MAEX.[9G@K---3L07G>K[$Z "79IINX(KGGKO">",P1?J1.":P:? M[G_@'-*X4Z#;H%DW NSV<5ZDA-$X%0&,,D]5.D8$8A;Y,(P0$<@/:,(2N[DI MO?",1/Z<@2EM-Q0]H6E;_0B6!;:-5?:SS4QEGL^*D54(CULN"* !@_UN[NXT MEQ&)CI10/ZQ9]8D1V8>JP>PE.RFORGIQ719L376!3]N_:>/J"8K\E&0!]"+I MJZ,TX$V)I+35TDS=/X8Q,S'7>J%,;'&U1CC-'K9O.*0%7)[EHO4(+7H*'7EU M8AEKS@@%LB@?L&3NIFC"OC70,;K[1E=C-WHQG,C[H^RH>//$=$ MVXG>;8GUA(F]9J&=H-@1?C@]$PV('G4V]JT[VQEI0%SWK#1Y?&R!#Z[XNZ*J M#YL><_E_<<1@&%#I#GH^@CAC#!(OB#PL2!P+RR*>HW!F#,$W!3D?QK2S.L4D MLS/3 >EVDMN6T"B0$]?)]!+FK!;F.)29ZUUZ27U9T]+_N*MLU$^K)ZF6BU*J MA$60!#CU0@)]E6>!!(E@2GT,8\P#/\E8ZN/TW+'6'7B3AV<[L,Y-'>VRR4QF MSR?=98JH"2L(7&R-- NK%=._3Q"]G"ZY[&7QEZZ5%R^='^Y8N_Y$U\6 M^AZB/:?:E,0P0(01[D%*0PI1S"C$@<\A3ST<\HR0*+'J7V< <^*3>8.!#ENR M'0Z 2JUI??\RS$'36QBG?+&]B^FPI -^8[-,D,-I0:^SBYEAB#-?SQBSX.4E MC?FKXW3#%UZ_P]7]=5D\Y8RSM\^_5JK*12D?/72C[7VO/()-.03R Q(*2J ( MA0=1(J3A[J<BOF3%HS3^=UZS8:3/>,&)]4V+ M!]C$PS;8Z&-:H<396KZN2JY!BYIY7-"<:\-1PDD89NN_6/,*_.8T-C&*$:/B MB.909HLJ6A/>C3':OSRB^\;'_!MG387<7_B2?2S*&U7?G4G+!+,L@S@6$40I M03!EB8 D34(_]:(H3)!Q[XWC,";6$AKHIC+V7H(%HBA!;Q6X,7?Z1=\1S7:" MWI#;%JPJB*K1(;AQ0JY%OXWSR1[7;>-&];VO=-I7JH/:6N[" M\][#?\OK^V*M._N6O&XN0:^Y_##4H%G&<8I\"K%JV(%TV]R0I#"*/$[C+ @P M-F\:-"VN$RO +?+2G="],&K\#93J>K \:)**:R :&D"U(>+PI0OP1T,)8"TI M(%>T@,>&& LM,_$78*"#>VQW&L[#]=Y3=6(4YCN=Y^'EWBD_ M$\AQ(=>WZRI?\:IZ5SR0?-7@LNMB<\.7ZB937>U6BSB- Y3% F+JR\-?!!AF MG#-($X*Y[_& )59=CA<-[6GOB'05*+0#/&B"U9\AA8'3$"B/;_9U7U]>DTRV2+$B\A$8P\Y6> M\1&%A <)3"/,XSA&PL?4JC6@"ZRF5D'=4MQJEW7(]TIQZ7XI+M^4XDHO 50* M5VFW:&S!FWS5_*3ZP;(IH9,M---SLV^,G0IT5![MKG1B$KZY:J7H!*=YVRZZ M9..+%HU.%Q^ICM68BUOYKAZP(*3BE!J50Q[ZJN$SCR"A$841"I- Q$DX]75H^X1 M^K-1ZFZAY(&CZ)%T+BQQRJUC(1CYF(/*-KH;D1GUCX M-3!YW(ZV:6;;0#/-\CUNBYW2TNA!C1_HTM MGE'Y-MWG6D* IN0"-+1T1L97 M;3N&6I(#6GHN0$.12@IN:')9!#?O+C@KJYL)[9D+]>;=C)>E?S/#MSN)&,\7 M[]N ]_^WQJ54HLOG&_Y8E/6"9&D29(FOQ@^%J@X"PQ1Y'DR"0%I\2< \8G1H M],"86+]OH((M6-# -=/R?KNLO1?UW7JN)30N. M0B_P0@\R+XPAHE(N<1Q2*8VAYR6!T:2:V*&CSS&CQ*;.S,,V/FFIE74[#,3L1;#$ 7!;#! 9!UK1,"%;.N M^YAE/_O:DG)7@Z]-P6FF:J)2%"*(<)1 W0,_(C3,8I;$3"X]ILVT"?2I4PIWO8FW@+6.^7+YUW,[ M1ALQUTR]3,8R.QUS'K?&-W*VH=IU4V8CV*_38-F&+2>;)5LM,D[=_,Q7*LO@ M__GLJBJA9\([(D$04PR#%$@W9V4X@QZE"4> MBS(_Y'SQQ$M2F*J*?H V4M %:Q[97).ZD&:?G388X)*9&G!'N9W\;^!> U9 MZX$M;!6!E=#=";X9E8XD?@#8K*)N1OBAC!N^=<;%%AF.>I+#J&<;V[Q:UU4M M/Y=\=?(!R@X@T5+:8@&4N.'CSS'$Y MYC9LYEVWN!C[?O=R]CNR[2U8A[ +L/T^6MK ECC0H4[/179\6_8Z6^/RXFQF M"N:_0WN=+3IZG?9*J(P,P\E%:_Y96L_LTTJ"OLO)DK>C+1^*LL[_6Y/0FM8- M%DP-S/Z85Q0O_R[5\,+//!['&8$!)QY$F%"8(2^! J?41XFTA7UJ9PP[P&IR MBUG5BH W&7B0&W)?[0XKRU/)Q088!O#F9:IE6$\C!S5V8(=>4WI\H1URJG5_ M!],+L$52W<\T: *%I\/XGSNFN8H*.L!HWEBA.Q:^B" Z7'I,FV/=_4*J=YU> M:=S9N/O6Q#;UD>:^?[;I9KQ'8+^:.8\V.VUQA"QG6:2GZ1C9AGAOJ1D[#Q\C M8;_9\-$GQO87EE+'M\.Q=6/4[?S"7U>JNELE=G/VX1N5C[;E$F$64IQQ D/N M,15O3R'A/H=,,.XAPI+(8W:]3$?A8?2AGM/C5&'U9Y"WXWUMFQ*/X:R923 = MMT8V-%;H*/^O10BT+8ZW.%V +E:@02?#R0)%_TXV2](^WF!R.[EYX >,A"CR81FD@G1^>J9:M 62(",%C M7T1V?1@=X#2Q3;%#1\7E=OA<@.5.3!\Z(^MSA=39I<76.V.F F?FMYU"/%Z, MW-F =_L;T-&3'23!I]X-<%&I/)9ETY4P6V/TVK7-8UEH4/0\>NEQ:O77BE^) M#U6=/TA+J5J06)IQ*%&9V=(X1E&(U,1! A/!$Y1E.!+82D/N+S^QLONUR?WD M&W!V:NR $V8::3Q]=LJE)6T+Z:)IX_@,?FO_.\DPB>/4.=(#!XO/*M+'"3N4 MSA-/V05C:GBS1;CE8Z_/;$L77^X ANH.@/XX'[( LNJT"%_VDC0I@G%ARMD!&/TG=@,; D^<$-C[*DU1BJKV2:M>L MEP2($(^$T(]%"A%A"&9!2J!T!5*$J0A99C6OH0_8Q,+90!L3FCC!&YL(Q/D4 MCPLTM'";,$/EN$6Q#8E.@P8G0+U";*"?Z.,A@(%W1DIQL;JKVPF'JCJ^S7Q/ M>(HB'"#H^8F 2.F^C&8I3)A/@\"+D6]7>'XB_(J7G08RVXD< M/N,I$X& Q,\H1+Y*T6NSO#N#%;MHH%$4)%3J3S"DQI]E5!YEA@/.VE3%FP(M>,^9OVI?] M?UC5>?W\,5_R+VM=4Q)CE,8X"*'P,@)1BCDD22P@3:,D"-*8>X%1=[QCBT\M MXAH<4/! ]"\PO\%'_I%^5SJ[(36@C"K8OY3%(RJXG^QV&SE^Z?(Z-;MGWQF M9&I[.PGW2IS9B$U/-%T($H8B00F,&(\A"D4(<W^1=@CR435"J;D^M(#1D G%6U MF#/@4%U8O#E.!9Q(DWJGNK2LZ@5F7A;'B,-,8"G^E'J0^,B#21+X-/!\%'C< M1OS[PKKL1UF:]H_HB7 MGU:JQ.%6[@M?I%$0AEDH]8$?"OF')UVY*!40^S@,8A^E46)E$XQ#8V)E(;^E MQ/[*8P0WS:]$IN71>5W,RGGJ'-RLCD)C]YF4\HX[=S)RQ MVHCABZ.[R+:CG/"=\JS4#ZI%0#*/)CZ"OE#9@IZOABWY,0P2D62Q5&!I8!1Q M$@KZJUW)9<"@BE4E'I-!XU2U0/ZGV4*P%< :R;MC:N@5JHV-77 ZSI<#6X M=P+6]LXE= EOOB&$$W!I;^+@%.N?>P_3EEEV+D=7K&F6WM9?ZG+E)C(?H(![ M62 @#VD,49)&,$L#>19B'B!BVX"K?M[[_<>_ MPB^?SKTXL=D%V_N1B7AK=ZA-Q-8S;CI&L,7YA88-#J]T;S&"3:>O)\8L-KI! M(EO3^F]8*=?Z^9+2F2J:@"=VRJ=% &S9TJ(P0232DE9W M#16-H,[=6=&&%4=:+%J]/C*ED^JKCTI:6TKKM(M*M?2E6+7!^T6:44[3C$.! M0]4&@A"8)1Z&/,E0&(38SS)AE=,Y#'-B_;#! #PV*%@F=!KPS$PS..:$G5;8 M,N%Z@ GV29OF9+G*VC2 .&_:ICD+7N1M6KPZ(AK83'S2MLBJF;3\E9=/.>75 M(F*IAE$&HS0WYEN=\0_F5 #NHX*M3RBW"66XX,#HZ-8(3=C&E8?IZ0T0]K\\7 M\1FF82^ 8_#XF>-F/N\2"=HT#7:UNE'^4BG]H[>XRJM?5P51XJR4H\[?D+^6 MI,JWVK8)*_ZIY@_5(L,1]U*"(:51"E&<")B&(8%R([PH0$'J^5;C(J9 UN,2Q=<9ZC,!DT_._ID"UDA/M=,Q]$H<]A-=>#X1 M"$O;U0LIAT@:KQ '"$.-FQW.3S$CT96WWP]L7D??B/ 7/K[96V/K,K_>\^52W;'B MU?,"4\9QZ'DPR#QI_/(PA5A-8L:)GZ1!%E$:6U9F=I>?6!.V)8P:(FA!VE9G M[G&C7V+/I]%.0JW(&U&C>8R*,ZHT]Y:;N4[S&"DO*S6//C5!S^0V.Z%ZO^:[ MK%.6Q-A+> RI'P00A8&O9IZK/S"-D!3#C%HE]EMC,+$PCDC?M>:AV8DZ*6?L M1-BD*W)=J*0HU?5JHE3>L>R8HQOR4?C?3R?D/O98=4'N7#PP)!0SK[)%\NT9%Z M^:^=Q ^M/HM<&Y*XD5[3Q\_K4GY)_['.FZ"X_JN4_DT;,Q2GON]G4*1$F@54 M^!#S-(8\$(@F'DZ%71QZ$.+$]U!X )L4!C9VVR8C6:6@5/FV GZN7P9 MW>E[D%;'?;Q/PWN5+MV#Y)_JP3W\HO.I;5]XO2#$1Y'G"TB(:I6$A?3%69C! M($0AR3P6(95&K"I.#.^E>L%9*8,M4../_M9^+/$ >PQO(>Q$).<,1LTRF'0 Y=2I-WPSN,VZ!#7AII@7<?7N00U9X#QR/*7;XY3$%_X'VWJ7KZZD]!6\J]4>QQ5,[&A^7/7@MNC*?=B M02".I F LB"&&?5#F HO2#,O00&QRJNU16!BY7'#=8$@WJ*DJOTZ.-FI#&ON MFBF0*7EFITXD)F"'"MC'99[A'V.9X4C76(.?5?.,9 MH51@YD.$,8*;A_4-H4XLQ%V@0$&UC _:<=#D"F " MOMB)]@B66$;_+4D\ZR[ %-:,-P.6Y._?$]B^/,Y9^+2BI;H]?,^;_WY:Z3K@ MW=7B+N]RD7J,I7'D01XG*41IA""._0S&.&(A34*"66J7HVB7PU*YX5CS5G'Y?XSMC"/_[ZU,:]Z@FNP$)_K[%3BX&% M=7^">@/#_GS"+6WZ?IK!;PJ\ R/ @+AQ9OV)->>SZ/N)VC/F!QX==VR_P]6] M^I\*'C[AI7+:E==0YE2NKWYQN6+[/^@\N4AC$6;4XU#P#$.4> *2)* 0A6DB M/")PA(+%HTX.^?^Y>]"7-!:#R3\#WI-O2-_6.L_:!__T_\R@,_QT0?E^N57%V ME3;34K9S$JZ;*DSD_PO2 $:H*" J$()YRF(8B3".4R2X2.-NJMZOV4\Y43U? MDTX37[/7F2 SOVXVR"UW@!II]2=X/T1ZSPIH'U'0O_CA\ U__I\7H#QYA-?Q M,JN/Z 6VEUZCGT&]IZ[<4+I]W*Y4+[SA]95EB 4C.6*0TIQ!1/($YBS/8)J$ M/)._P$D1+=?\7KUH9BCMF3!2U:)5U2$KQAH[H MNG"_C.:!K9N1>]A[.'YJI;.(-A'(IE?=C6TKYM:RY=KK9S&*]WB4/=M1.1A@%' M&9*3(3*(U"XQIQF&62BB@@32%PJ,TGA,"4YL4G8WP M6_R$J;3 RXQ@%"",81*KX":*(U50L(!!1!$F 689,[KO9$%S8INHJW>7.RX6 MX+'E Y">$4 [3BS,@"&8T(S';H:R/N\ 38ZCVW8-3?<%VJLG=Z"_JV:C9+PDF> MIB&#M$A2B/(T@CB)$,2XP 'F.2;"J#_:60H3:WE/#ZQT)A*5%"TO:AQC8A9" MNDI2.[W="=G%AA0U?P&@LX)X"O$L>"_#-.HYLN^==@[U?^=,]75>56IBI7Z%0 MI'$!4<8"F%/!89J+. NCD.1A8*.A?MB:? .SKG0Z>U7_FYTZ>T+=S ;,CZ6= MX>CY QV#H.5094"T/((!DT>E=WO^/-[8\@N8)P/EB:E9K9I?(%^:0L^C^^A* MWWHK*"4LCG.89EFLTM!B2%"0PX)$08%0(>(D=^]$/X.[LC_F&]^"V?,,KW>?M_0]:-OP._QAK&Q0E MB4C"C,,"%12BA&!89#2 -,MHEHP4TH;XU/$#Q8H^#>":&;#!/]SZ+UDA M:J;+4^%D&4_80=3R 20C_KLSNEY&SXZ@'+4Y]%E#,<\].KQL5KK M^%/K1'S4#9>7!4\3' D":1[+!3U+D#J+CB FTIXD>9X%@=$-T@MT)C85+570 M*+*+OKUTUU+Z3;GN?F+89_T29&8&P@,0=K:@P^!;BT%+X;*O*FZXZ(>)>%>>-S1&7#M@-UV"-Z?5S1MV]@'O/[RI(9H_L:;CB-% =T\BQ -_5RYF_'KQ[9 MN\>C".7?F[ZKMN!M8X0_KW[C-B^67F4 MLHR0D$B7@ 008;E!4'E:,"]2SED2I3&U.IHT(3KYL8;@M6J&5_/O?*U:Y=$+ M#.[C<3>]A,&)&?>7)B#<+S3L'C7 M)6NS;)ZJ!J]^JZOMT\.+J3N$WOEKIZG0E MY=) :1.W# F)$H82B'*<0Q0*#'/5.8YRGO B)DQD1EL*GTQ-';-L28(GG>(C M&6K]3.UQLFJUPG6S_ZFA\^EU3L:-TFLA;6>T>@:!YG !=CR"(9-@QZ7T$3L^ M03\_FM.%<@5;U_(59L(F"W7^&7%+4YUS9BQS6OU".)[TZHG6C%FQ?M$Y3)OU M/+9]B\-OJONL7!K?_Z /R@U7-=F6A$8Q3G+5N!3)Q2D6 A9(4(AIA O$PYSP MU+3)X2D"DR\T+4G0T]1U 12& M:6[3JF0XN)5*.38F 4P2LKP@/93?;-/G*I6=^B@J4)$![\:$LK^P?()[7[>1 MAT//>]7XA%!']XA//>/8G%Q7/-AU3=\G<"T3&J9(%4;A<:0"^2*#18X%%'&* M$LI0E*JHB[D&G:4TL3I=:!AMB8J97GF1U4[)^B(EBBC05,&>K,=VV99MD7Q+WJ#_VQ1<< B&[F[!=LR_VUS4;%N-4"5_-,L\RE+$HAG%:@9?%0_QC8Q$L\(Z16RC@[H'O+^]?^I;4L1P&:VD;5+VZ-U4- M5/'L_@>_M*^W???^ CYWCY6-=-9$N9:C8C6"J.KN(ATFU5;27$FHU]]YHPFI M)#GY,%Y3_2^Z*;_K,KHJ%1^O =<5NVN50\>D@ZP>Z6H4JG-$.9@0N^HAZ M0I5!:&G^!?R/VP$ _T.^)Z0>JT(T>O G51VI;1"K7MK4>-THD>2/]D25$+9T M/45;K+[!T5B*V4CS14JL)#N(@]B]>?U6[!/>J)V>_"B_\GZVOXA;^6W3\@FO M/JY5M9L/4GV7:91'. P*F$H?$Z*H$! SN7%CE#*!$H:+%%M5O'+A8N(U37Y9 MN?NVSAQ+^_W?) A=LU%4Q1@T2\]=M2M%?)K=H[7L$VPSS7EXM?VH-4QC&U?[ MP1QWN/MJ?CJ50>5#U/R!KYOR._^XIM4C_[UJ5)_-+^(._UBFLDPM-QE#^!KL[L.6 $M+^"-XN87W5-7X2A9\K@#=\/"U[[98=974[02KHL-]]QN5)7I.1FO\$K_M=US?%*[<=_ MP^6ZS[PC6,0D8P*R6+75+A+I2C">P#S(-T7[+.0 MG2-6%ZO:V8X[;XD[1ZF/ZMVYCC-_UNDR"C@J5!M4FA<,(FGJ84'D)I*&A'"6 MYBP51G7;?3 S>?+/(,OTW\#_"N=+7YPA@73")N*,<,^7)3K]*C$Y_+.F MA)JM%%?2^)=) 3V]@G@:\\H-/J^_R]%.W\SZ7.D30L[T):Q&YX -?Z_JN7RN M-O_)-U]W1W_M#:P/5=W]2#T7+H.8%S'+U(W;/(,HP7*_P4,!N1 H$#&CA%M5 M8IF7_8E7K)8FD+Y#?X2J]^AOGCFN+>_@SCRMEE&/GVZR[%;(D_=L]Y<7%V G M0W_]5C$M?[H!SWP#]GPOP&#*![Q/$(V9%7+?(9YYF'^=N-&L$W,VO%Z[7 M<9M-6PA(D>;-,DW4WB7+8$337&YF< "+0MVD$_+_2)[0(DAMDD!?$I@X][-- MI=YG^?".K.TMVQ>HF-GB:V2ULY::4E=^ZX* #K=D3TOA[4;LB^%GOOUZ6KCC MFZYGGG-3L]NZHIRSYH-DJ&_[)!59'S9]Z'/#;G:I8%^7# M_-(=.^_X 7N&_"F](Q*>;((M]5E-AB,T+RV*ZS!V!J>I-\NN04AW>!J+@*$H M)#!(.5*[0P%S%L0PB(G(@R!@68Q,3,G1R!,;B8Z6F9DX%GO< %PEC)UJ]_V% M_)T*GV5^3!OE2P--E/_::^'Q>+/HUUDQ>LTY_X!S)(,DZ%Y 2 MDDJWEW"8!P6&7*1(H"(.><;MW-ZSM";V@-\>97=9%Y\\BY) *$(%9S!*U843 MQ"G,P[2 28$%B3"G(;*MV>D%):>ZG9.A9+I9\"*[[;[!*'=M 6XVF[HDVXWN M/;*IP"WV78KGHO3^*GJ>I31W5<]+(I^H['GQ%8<#3SE2K9+^W_'VOQ_7MS5_ MPF6_VVESX+I2P&V#[#7;9_(^54VYD7N4C$GO(680\2"3>Q2A3"9/88%8(H3T M,7(4+8<=[,@[=IM=CBVJG':3 X%IT/6B>C MU+,'WO0,_B)-$^BA[IA<].FW7:Y1?_U5L@KT-8)->XV@Y7;V:; X+IU].MP. M36\>J^U:KPCE;H+8;H+*-7AZH0N+/K^\FZ'NGIK2D-5N@EC'?W_9S?\5,*_P MCIZQ^J$TWTFK5V0.SEO]COR3G;HNB1 HXFD,";5[A8J'1;-U!?X&STW^58]+_)B>BLQ]^.BX.JO+4N\[]N9.ORA]$N=RX)%"$ MJFU1&@6PD L[)#S$.,$%$F8AC)<#3VQZ>U) T3(OMG8@^KB]NT8@._-D)HM5 M3;53C#O54CL8:+8::J?8']9.._E[-R_I-U[=U_CIH:1O%5^JGJ]2N:]E\X\N MI#BQZGQM"VZK8OZTJUG< M_!]PO^,*Z$_+WC&YC*29@^$5'SM-W),&![2!(C[!/39C43VMXI?IS;H:&XO_ M)S",$4((D0+6*0LA"BBL1"\4 5+ MK78^9PA-'NWO*>IPQN,CEH.4> 6XXL=V0W(.+,/]A <([+1<4P0##/Y01(&F MZO.2Z@7!?'GFY\C,ZUA?$/;(+[[TO)WBJ>/T[QJGY%<(ZZP?+_3.LKV MRC8^ZBR:9B18KV9F#U_1"(]<;JQ#K!OKW-S?U_H0ZJ-//+,;$QV=$&0M5!_:[KH';5 MZ1YQ_0^^Z4*06,<:VBIV;?3!H0/;*WP&9E[%O\#DNL&[:]WBSY[-_V"E+,W\[M]:;J9'>W5V3'=>FLZHTZXMMUJ%^F>8CEWI'# M6" ,48 2J!HR09'$-$VUW?WF!A&:IPDM8S-2!I3% P[8MU7]&4_\+SQEB.!CB(LQT_8 M'Q6^7V_D:GG#F)RRIOO/[^6:ATN6Y%G.:2HA"1!$<9K"@N&9ZE,K5&:+N@H+OJ_ $4;?%E;G"N>Q^GR(:,7Z2VUS%5PJT/(BX(YG4B> M'W6VX\F+@@W/*B\_[)"Q_%5E+ZZZD[S.B(=!R 1)X'*MLUTK4!_,NZ^DUQ%Y1U-83[TW7T+J"-<' MZ:5CS[DYR.V-2Z[][5T'X_Y:YKLM5Z7([R1R?)D441"&&8>J@1Q$ZA:V] /4 M)A#3.;/QG8\H3VQ_Y+61V#K0Y9F;^]21(V-FICH5^@SMH/BXUE7!P MBTO6]2+0G/CST*V%]^3 F].=U;^WAN.E^V\_@&-S >G>L'*UW93?^;Y&I6IF M^:YZE%9^R8,(XQ 1F&81ARC$"<0(2=]$Q('(69@%B56R^"6"4Y^O#,@?%+%5 M'( _6AX,%W9C#,WLAT]D[,S&E:#8=P PE-17R?]+Y.:M\6\H_%%1?]/W'&/; M6]+P_]I*\_+^NTK-5$?.RR21JD_#&'(<$^DLA$CN29(8IE$49M)78&EDY2R< M(C)U?'M'$FB:7=:"I8J?1,/<(_+XBG2?(C%OK'M$R*-H M]]BS;LJX[[KY10P/R+YRW=1#5W/:WT7HW8)][A#BN:"JYP]":0"1X!DD-"0P M1%&.19K2@%JU +J2GZE57-W&ZM(BAM>X[%3\6LS-K,&,2%H:CO%+5A,E67J" MPY/=N9:;64V4)^A>6C-?P[H9OD_5=_VY?5Q_V^ UPS731>LV?,TDL;IB6[KY M.U:?I4H".+RD^[5:K3Y4M+3TF M7S-I9E9?87[LS.LK38VU0?8,I"?#[(NK60VT9RA?&FK?PSL<8WWCM6IH$DK" M-]&M;JU<Z( ^<(B8()B)*\+3 <^6-QB3">11B$C)F?*AUD=S4?J:F M#VY@J#7W!D8+L&.C[9EF<2)T&3R#4S"OD%@ZC)?1<#DHNPR+Q;&95WC<#M$^ MGCTY:XX 5"5H.OQTA0E?IVG&,(R>K5T>9;Z3-F.)#L[=S-]RK,B(FP?U/Y6D M^AVOE&/\E3>;NE0-.=0O).'#'PR>;,NAO[34[W]TS3[D7Q[49NRK],+?"\'I M9AGAB.,8)3"*$@Y1EB!8$)'",$0H3@0/LX)8%7F:MGC7U)W@_G+4][Z!] M1$WCBQ\>OM%UT3CA2ZON2'W_I%XVH(0#K70>JT2^RJSX*CPY+_/SUK)\E8DY M*H_Y.EPXY:_AU?M&>D+M 76?FIT$3!4>AHRG*4241[ (&(%IG)&8HC3(B%%I M[O,D)L]APRO0$FU3**P2O$Y!8N#"7RVHG44]DM$MF^V4L%;Y;%<*[>:,:V*- M7.]U++--7U-E$S0G_G+71F2[D+UVZLTY\]=&.'^1P3;VI)OW_"MNRN:+N*%4 MU6A3O>NJ54F?VS_WYRP9(RG%J30K!2T@0H3"(DVPA+-(LC1 8909A13LR$YL M>303ZIYOEW'I<'YE")^9_^@?%#LKM<-CSX%TX31U\$?WWTD.I.P$]^1:&1*= MU26R ^*E*V/YMF,7HO[PJ;JATA&J^:ZU\H>J5FW(]VDRJ@7S,HD"%',>0HK4 MG1=<%##G@L*0IE&,>%+$46I6X=N1 R-]N:JF[MBOK^1-(AZ%@!!EWN/;8KGQJ)+RR"8,8;B%,:YNA: @P(6H72M.*-Q0&G.6$ZMJSG-*L+$)N_O M&_87Z3/<_P7T# #-@4.5IGEGULR0_MSS97F2?7UMIEWUI8%<"]!+!CK17GP* MX(\;TFQJ3#<^T[-?;6)\EF.:5X#Y*S&]R@2=+,+T.IPX1@BW3;E6U_"5"]_H MAN$W/\IFB6A1"!*&L"!R"4)<]?&C>0Y3EB5QQD4@A%59WS-TIHX!=E3!@*PT M$9*P9>KE.9@,0W_7"V\9ZW.0VSZN-RZ5KT#>&2KS1N[&13T*U5UXW$U5[_ / MWDB;H7;87:.D9821RD\)($>J=2^)I<*F2$ 2)P0A%L8H,SH?'*$Q=08@7O$& M;!1=\-02ME/-4["8J>65PMJII"8&.FJ+OD>=/VT<$<:3)IZB,*L6CHCX4@/' M'G6,/^&RUF4/^\UGR9M/*W;[ M(JH#CD'/,E ])GJF@>9Z 89\ \TX..3<[2JJ][DUC)R]XHQ91M9>9[+L(W$3 M(>HK4N>;O7DC>1.!>Q3IFXJ.0U;6\1F';DWY'WS%/E2U*CJT3*.$R*T1@3A ML;3C+((%HR&D/ J3*$J%_ PLFAQ?ICCSD6?;HO5!TM?=&T>]%B< QXVE3U"N M.\F\VY]D]IV%%0/JQACXZAT5B\POO^BXI8'=/? V$[S:;L2J^E-_*T^#0V#< M07?J>_*5)F8.Q&C.F,$P\R60FU=MR49L5UUN M2B.-,"^_#S=D*"J*.$T)C(M0&DF>"5@4 8%1D>4935E!B-5AK!7UB3W9'2_Z M>V8=-_*#;]FQ+'QD!:N9GSD96':&M"<)]C07X!"\MW*)+S?@]TJ58/6^17;" MP5?!)"O:\U9/YB+E16;64<"5@8D-D,ZK*G,04>6ZX W@"VXTOY=2O-F87/X@*\@6LW,9QV)DHC^7& Y)X?T#$$;C;@ MW0&2O\^!I(4[.#&B;OYAVR5<;RB./TY2U77UIPH=R,]4M64Z_%353]K/U9>C M> 5$HYZCR[CSN9)72'W@6UXSCI=*>MWE&$)9G&08P0*I#+^09S 7$84AS@A% M(@CRT"YAYA25J8\_7A27NZJ&GE7OBJNEM3.MQU7TO+>T&)5HFCIZK]'H8E3, M"Y7TKKI5U%[X?RB?GN1W?KO"E+./ZV^\_EY2+GV][>-6WP%[IVJ!1 M38"18PY8RP=H&9%^%>A8 4/ %Q E40@+IKJ\$UR$.2GDQMG*P;I ;V)7 MJZ<.#L@#1=^R/,D%V,S\+X]@V-GE$1PF<,H,Q?154>,"M7E+8)B)?E2SPO U MQZT4?>!LN^)?Q(=R76[X[W)-D79F([^0DJRZ8X(7?=-Q49"HH#&,<::203,F MMUP1@H+$(28!2W.:6VVT['F8>AO6<:26U98GJ)D">ZZZ0S_+#9H#VH;;MVDQ MM'3UC.&;I,.]!TQ\;0\=.)AW\^@.T='6\HJAW&S7WW!=JO%4Q1V=?HU)$:0( M%U P'$%4!!'$41)!$@I.DH2E61C8&*:7!":V.CVYMC262U[Z$2)FQN,:.>TL M@Y6(U@I_3@Y/VGPT_*RJ>DZXEWIX]CDW)?NXIM+[^*8*T>CP;G>?:DE0D=.( M")@2W268,YBSF,$D95$NU*UJ9-3>] *=B56NI0IV9$TNC%G!9*: 'H2WTT,7 MN:W5\8)4GK3R')59E?."J"]U]-+CKJJJ8KI5_?P5__E)#BWMP*KYS#=?Q%>N MHCR\618LC0.2"UC04!4T+1#$*LL\X0*CD 9IB*QZC5TF.;$"2[K@L2=LJ[(7 MX3+57I\@V"IR1WL!%!0[\@N@RK-*_[MGP:=:FXKK3<,O$IQ9V4T!.-9[XS?= M3$#7\?2#Y/EMM=9&Y>_EYJ&/(4B[TQ:K5-ZX_/_L#O]8\H CFJ8)#&,5S!,< M0RQ8"A.J&I,10CBQ*O?FP,/$1N).%3<&3VW%_D774+>M:-M'OZVZ*E^#MIE) MF1A#.QO3-V56F@!Z=L"?DA_0,Z1;:'05?GN>@&3*G]6Y A%/9LB%@UGMTA40 MO314UPSE*$&?5+ MM",[8[BQBXNY7B4P1W+<$$V'CULH\04RHD/&)GYX#5@VY\53@.9X5(S)=H5K MG3_7=AP[=X7'V_&NK?#C)[O&H\UXJ&LKX>%YKO7;=M:4\7+9U=E[#B-R5VY6 M?)GQ+.,\YU @E70C4@9QINY=9&$>YVDL@0]-;.:IP:?VW!0-]=&&T1OR2U\M M\ME,QT^",6[VKA71SKC92F>LBV-BG/"&&D[_7-;5_2&54\;SCZL\+V)HA@--'ED M4],'=S767GG/A=[U*%:D':I5T1'Y3C=9H6RO8Z:C3Z+TEH)VFNQW4ONO:-NUB^[>NRNE^_;LBY)C!B+4 8S M1N6"6? 0XKQ0I?"C$(LPS4*.E]]Y32KC5"=3VC8?_I #\W2?%_V9[%LQF6%H M%N>8!!<[@Z !4(L@*CE/=?>P&L/WJI;Z;MC_HR1(D(I@2&.,$2B7>K#&T7Q%W"SV=0EV6YT%'%3 M@5M<3Y4.,2JKIZ7]-(U9E_%1,5\NV>,/SURK73D-JI-W?Y6U^;)YD/N1![SN MRO%^KM;?>2-W(R^*\?ZF6H"_DVO$SM=8? M7T1.DIPCN95D+(TA$@&%1(0<4A:C @4DCTFV?-(])K]M<+WY[_E=O!30^.L8 ME,(&6)R_E5Z\*[X4+G?W_PV_$3,7ZV=@=<+SX>L[2[1R#NJ\ M-$!+"C92U'W?B9VT)[I.M$N7$GD0,_H).DY,,(6OW8/"ITC_&ETI)IA$;WTJ MIN#-(7_H]VI]?R\T8>!-T+ZH*J[UP=I.Y89RE5[; ;3/,TA(FJ# MGF4)Y(G@*:&,"$2,\X8NDIOZ5%QBS+$B:)'L,;%(_/&*C5O"SU?>=3=N!G4A5@HX%08#3-4S>^Q84\O; M!FSP/WA7#0+H+PH\*QR%I. K)\@8E]%Z/^5O7W-2ZPS_V M!QU.UY!.CC#E@;R.QTFJ@T.V">\CC8KG]4[2:4JO<"]I5.33=Y/&7[$_-_L@ M):C67-5CEP[ \[LMOZO>_U"N!O\BWJ]%)3\.[54\;DR/SRR&G'@][C@!/2N M;74PN>-&&>$!/W+!TK;9_"#-!KS+YVD3X6:G]9XALSI,=UO.#LM*WNK834F[S8=:1YM?\6I55>O^1]6O7+7T7:*(H;#(&O;<6^MU6S:73@A0P"+[9G[-<1F2=TNPO)#J*V4VP!_&#A2]6N M8V9>A?,"W)':^1G5_H[,^_5&[K[E)NMKM@7AHSB-(DA"0F& MB!4(YCB(88X*R@7#21(;W8B^2&EB%Z&EK;?6A]1!2][\<X7N-VR"L*=B;& M&0"KFS9&PCE=NQD?>;8[.$8"#B_DF+UP9963SWRS3) (4X92&.!(0!1G.<0X MS.4_@SC*<%YDJ57>W7#PB96S)U6.U.:X#$ 1)7&(,@*+4.49!5R=:Q0,)CPM MBH!'/,WPH'!-+[I)IQM0'-7DD72F:#NRH![WQ56 MU-"O4TME(-39JBG#9]R,Q^]<.A+*K5B*0J[E05# /"!"-0&2RSOC C*>!#SC M.(P#8:,XNY%GT9J5H@:H\H_LM&8/@)G*.(EE>;"G2"R (N)/68[X]J0I^W%G M59,C<5[JR/$#$S33TC%850>D7'\NU_Q3M=X\-/H(ZZWTXLOU_3(B'$<)D>L/ MRJA)?BH*-!NF61QZ9/EZ$>U]_Y ;PR M]':JM59[A-TR"!2'H&6Q._'OF)P5=8^-M[RB[]Y+8M<2[J E5[51,['OQ$7Q M$Z9J+_5G.QL%>&RG0CY/6W;GZL9EC-M5O;DN4_EY.G49(V+5M\M\5+NEIJDW MRZ\JRJ%.\MF M(W>UJ[[G?1>Q-"_9?(C"N#%WELTR(.LFEK%VGQ1CS"^3+PQ\,OFOO3]V.-8L MJGB2_5ZC3O_R:A_LLXJ%BNV:M<6!U%5&;>$_<-[JYS*.:)07"8=IQF.($A1! MC.(")FF:"4H1I8%K,].+Q"=6LP%)(+C<(F"+O DG,*U]*J\07>E!25[@GADP M1.^#0L\FZ\0)/6??R"N*;IZ0;S2O<7F,X;!P<"Z/^5KNC+&T(\Z+^1@N%KEL MGJH&KWZKJ^W3KO*E.KJ2'E&YWG+VY8FW;7E^+S$I5]*/XLU-TTC6V)+B,(LB M%,.4JV8Y$L04T7\/2ND/6P(ZW!1AP!SKV9L/9QNK/A;?C&C I M[I8K@@^HQM>'JRC,N%KX0.)P[? RHML!Q >Y,JUIB5>#G;?: !+&4,8I@9F( M([D-3N4V. V$:K$6\%3N>F)J=9!YAL[$:\".ZL"5F XQR568\[+HCZ\O#CTN.N^4$?UU(',%5]=M_A#7Z[K55QF&6, M2"S"C$ D(@Y12&.(28YAD&4!1F& &49VZ4&G"<*@B%$(49*D$+,H@UE1T%A@)J+8JLC622H3*_3O![>S+9-Y3J)B MIK97RVJGKX>W]SU7R#22R5<"T$D:\R8#C8EYE!@T^K#[U;RNYK[:&'_'Y4KI M^(>J_H97W>)1H$0$E'%("XJA7'UC6&",8<*3()9_HZG MK?P+M"<>NE5'^Z> MA078,0%%54/%AN,B; "GX5KL%R2' ZDK\7&Z-6 M3%^=]N3DYNFIKGZ4JI6GOO5S5WWCJ]62Y2*.XDB:#:&Z##/"(9;V W*:$Y02 M%N4D7ZYU?69VY_\0Y3171BI4M"ITQ)OY>=IOHJ_(,&TE^E@.5,_/A]U#E M"GAG.E@93H)F$=Q50#$Y*^K3'+%@726V*O\R+I13I9,YQ+IZO,X@H[2 ".)LLNA@QC[?W?5 M+:]4O9,/:_NF8:=?GUAC)=5MLVE+8E7@]OV7@V+K"_"AJC;K:F.X8([!<-DI M]8" G7*:"C]%WZ]Q6=U:?9T9<[[N7N-"'33TNO"H0U#R_?H!2Q952.[QLYRU MSEVC81Z%:9C".,-4-=FK-9;7(M)VO=Q7U_@N5;W-QS8#HFY+9JD@L3Y-U@9I M56'5CY \@QUJ;_%3*;> OB[KCJ,P&@\[\^I\0:YQW@\B5Q<>=3!#+_HAM*61 MOHC6T_C8-%O.WI6KK7QB6>0!IP5.81X+58XL$3 /T@C2%.412I,$X]#8-)G3 MG=A<[9JHX*Z)"FV=WZ;U>DO-R@*PEAG=M:?]E6&K'EN4#4S=--C9F;^CWC,M M%RH#JMLO?.R0ZUB9!BT+0SD-:F[&TQ]Z=F;2'H-1TVDQW'SFU%[& Q/K\+I[ M'_@/J^K/SU(F^=>/ND&-W-/=K%F72"[_KM)3]:'XB68*!0\3&O$(A@CE$(49 MA5BZCI 1GF0L2F*66 4XKV5H8D.M;L(JOG2I-LV8;IM8 WO%FWTS^JHDP M"['.":^=+=<=YQ5K^KJQQOCC <8[_L">P:F[9/B"RV.S^JO8F;V'O0_P3K6V M]S+NE34WKV@MZ!*YC4 MUNQWN=_M=O)9E-&,!@0&:1Q %%$!54HJC%@:Q#GGA,5&B_1Y$E.?_C]PH(BV M<0Y%UL*3/XV)P1;G:DGM-/182)=@SFEI+;8H5TM]=2AGTP.A@SE&]QFGWYQO2S'*^<'N8?S)F1O)_UZN^<<-?VR6N2B"! >%Q+8@$+$TA446 M45C$JC 31SC%5C?/KF=I8JMU=3]>\(=B%6A>+?/H/B&'T/X%^?=W_]CY+7GO5>D>A/2 M#6>_X7+]>]4T7];]RTLAS49 &88AEQX9R@6'.6,I%$51I!GC628BDPX _EBR M,C7VK0/>-QN=4,_ FF_D'J-I@/0+6$=\FALM(_@;[$9G1]7..MG?9.FY!(I- M\$8Q^@OXL@;O7FL2IKE:Y&Y#PID]TRNHR?KYM&(Y1^RMM&EY%QO7%D M,+*;=_N5;^20G+W']5H2;VZH_*RW.EOG'1K %H68!CD:NJ/IC(]3O <0LCF' M1(B*0N0A3I;?>4VJUX%M2/JG L[,]?<+AMW"VM,&/7'P9@A,1_]\(I"UZV\N MK">WWX#@K"Z_.0 OW7V+-^V3Y;LV!'K':I@@/WAE8B/74?HW\Z3WH3CC6GB% M)':JUA'QMID^P[A3IOIPG-FRTT\P/\Q(/_5KQSRDZO&QW+0=;=?LK79([OF: M7I7K8C/FA(DM>S9TM.: D2+*11 B%,.( MZ[,6FD*2T0B&*W_B[)Y6E?/TYEU#;TH[LOU\O(+[A48]\7./V#:]V!" M(F08TPSF:28@*N(4YA1)Y2U23%%"L[@PJA-PB=#$:JL_W7+0CDE(RE;]ORXB M9::\/N2W/%1XV8E*$?56 ,=4+H_%$D^2F;U"XIBPI\HBCC[OWE" 5O53U0:< M5;M%_E:-6S^_K1A?IA31-.$A#!F7:VZ<1E*+!86)B&DD$IPG++;M*S!";V(5 MWA78'["P )H)B1KH& &*$_M6 V,PCBOV!.#8Z;U4O@K'Q9V]) M8"#LJ.PF*W-5PMKI[@MN47?(622V-6H2)[6Y-,T9EV0 M1\5\N1J//^S83X#CAC>6W]OA2]-]:"V=2;ZOTR+X*HU_./B\-?%/"G94#/_T M4Z[NW UCV!B]+3MW7;SL!EZJ]=#X*3H^8@OX-[-B[<%7[9F8%G=LC& MQ3OVQ"X\;W^@H#+;;^AFBU>KYUM/K^8#CX[37=$;H)Z;VZ(.!V#6)*:[6C$#8+A<8GC"'9& MI:DW2[T[Y/43KC?/ZC1&YW6@/,NSI&!M$U>4Q 4L0OG/&*$@9TD8QV87C\\1 MF-R*[$GJLSRK2RAG41DW!CYDM55Y2S&-U?B2+&/.MGQWX&C+?^U5]NRPLRCF M):%Z];OXW#5=D[EVW_N6S,_=3;3FW98OTP+SC.<)1!1E$ 7JN!*E$8R#. QY MFA$2,Y.['*8$K930_J9&N^*L%'7PU%%U:: \@IC9EMK5 M6=6($JOJSP:H>015SXES$2X'E,U,Q[38V1D3R0O0T/7<4V)_5N89/U_':[[8FO=$SC.81X=XOL=WWDB6&SG:=[46;.2W7I(5;P\8 M;QZK>E/^=6&\\KT'8>%LZ$VK6FU;)%]2,@3UG0+,V MN&@^9'(!_I/C&GQ9>SA/\HN/O\WN-ME**\Y:_\O[9E M+7^X?KNJ&O4DWO!E&M$B3B(*XR25#BFEJMYUPF 1BP)'<9&$N9%#ZHVC.3;9 M=4=8E4BA+6G L%5/%2_@CQO$5X'4SB;:U^/0^/= M(03C(I3+-F"Q>\;KM6&Z%/E27PW*IU=Q=LN$XV MXPMEH](=WE6/N%PO4T&2!"4YY'F20)0E(229M,,J_;<0.6=,,*N+F&Y\3+RT M'3J372)-2]DR^.Z*LYFIF &]:W9%AL#9W_*\3FQ?ET =N9CWCNAU4!U=(;UR M./L,YUM>=64)#).7=R],;"-NWW\QSS'>2S&NV,X"V*FI:O;LKVK"2::=DG?W MH\R6EWO$^##E]OB7+L'*@SH)-]]Q*7^UXJ*JI2+QOZYKCE?E/]L*G:H15GLC M;,GB.$YY@&&4BQRB" >0R!] RHH(<^^A]=A]UX--%MZ!GCAU?)?A@QO&XHUQBAE'&]:1VEKV7SC["9@1@6!B,84$LX9Q)C' A4&Z4V5),&M:2M M*RB2;5.NN5P%U$]L(RWG(30-M'@!QC;.,B *%*T%:.EV_[BM5B5]!G]T__5Z M%\M" M,*GS0OXM((04(LI2%A@[>R<(3*SH^X:^[>4.JFA:.!JG(#%PS:X4U$YQ]S)V M=S?>>A#2PE6Z4E@W/\A2:#L'9D2B4>_DU'OSN1XC7!_X%6//75'6\D2F=]]% M65\K5W.\#'@414&2PE2DH6HIED+,L,JZ+K(HX"&+1&%=YM*$\L1V1O/A4.;2 M"#0SIV$2*.PL45L&\]3MCBZI0?$!=HQX+HMI([O/,IE&=. MQSE:$QN''5'PU%(%HC?!UJOT6;B,O1(?(+@X*#I#MP>BH^S2?/H"#M:.BP\\ MKFY'+7J(RI??BJ^@C)FP!N[-V2'F]G0NR7+"Z;GXRM6)5;>X_E)K\\AT(\;^ M0L4R(TA$$SG*7X6CDMER 826VY^*IK+7&A^C>I9AYU2;9JR;B57\TG_*-\W#[>K-=; MO!K^4EW*>O_XM*J>N6)!17Z62<9PSF,,TT :$H10 L>%S (4)@FN2@*LRL" M'GF:.O.EY1#0 1?@23ZR +QEI :/>$,?U,9C^-!"&2'%H KS=H_RYO^ >WW( M]X2?;>N;7S][9I9KYCFQLVS]= P9 +=Z.CH&0R07HV/199MT; M9MXJLE_/T%SGW=_05T2JU,W7FC_P=5-^YZH&]2/_4-6\O%^W16_I M\YUT$1M5X:-:WZR9_M=*^_8W[/]M&]V/Z3/??!%W^,>MND\F?[%IN58G='>5 M7#F4GH=%B(@TQ1#'/(0H8I *K 7:P%4C1BY M(DO1U-%BW?Y^()VJ.]7*YSE../>T^(PUSL;[_/'*N:?E9,QS=B:\ENKZN/[. MF\.([3)+PC@1:0)%&".Y!@D,"X)R^;>,!(C13*A[7>:5^LQ)6RT@]C7[E/V@ MZE#AS;:O*_4TJ#95]@SYKM1U"F2S16$:Z.PL^H7*7#M>!F^S8Q)31S 50>6$:)*.%VE. &,8F;Q*7,M I*6D]D''L\+XBC$> M$Y@WI'A6P*,(XODG[4M>JZLJ7\0G_/^J^JUT+Z0_4G'KBY)< M4?WZ_-BSE<"^*-ZP#O;EA]U6OF_T@;/M2HZM5M6UG(SGKCG2G7;I=PT8!,XX MH@6"/(N41N9"*F,A(.-%Q#$1.0NLPCVFA"=6TIX-M7SL&+%;(XTA-%LYIP#& M3IU/8C)H5:;YF"9%VE9X3^NO,=E95V5;,%ZNU=;O.^_7VV"""IKM;G+<58/# MQK911O,K;DJZ)"CA48XS&.72G*"8%Y!D:0JY$"RF24&EI;&LJVU#?V*#HFE8 M[\6M %05?9G( YBS,(&(9PSF(4UA$>0YRU'.LR*VC'I,!J!;Z&.E3B_Q2ML+ MN7G?5+O:(?NV*_8!#RN0C:,>4T%G'_HX"%[O+R@J^(:Y&AU#"S#^J;H$0%RP M\!<%L:(^=RC$!9H3\1"G81Q=0Z5K_3\YT47U]^\C1,SNM53PKTD0\^+377)#TB%Y)F4^N\;MU2 M#>,DC%!,8$$RZ91G80&+A'*8)TG&XK @'%E52#PF,7D*'5$>4$_1JM'<""YF MQO$Z:>T,FZ6@#EEFYV3QEC1V1&#F'+!S AZG=)U]\MIHV_NZKNJWE=R-Z]/V MYF;-;NNRJF]UJ<7]<7NS#Q^%02HR)ACD+%;;/D9AP02"&:&I$#3.4&ZEHM

,:5]U;N#LW-S?;R1MW7WW<6-: MA>[L %-OYP8;!$FXYO>JN[O";LVK;?-B Z(K')E7L3N/RK@)\@:(G6WQB855 M,;R+LCH5QSL_ZFS%\BX*-BR>=_EA-]>E789WB8-W^,=7.:]OV_J3DMB^ .4R MI;C(2$I@%F48HCC-(6&A@'D1D3@/>,1#JSH(YJ0G5O,=(Z!L0ZT;_ /4ZO.6 MYE'.8[DJ\<&M'#MWQ )B,^=C&N#LS,$>LRX\+;D B@WP]05FWN_+V(OOR7FP M(#RKJV /R$O'P&$$Q[LL?7V&PX; RXS1,&=A &,L]S\($0(+G#,8\(+F81A' M09;;-4T[0\E&(YRZH;5MN;M+\MWM8NF.MZ6<5AT;UGF]YW S,Q@>L+!T%G;E M5%ZVYO9X+V)<*%\W&,Y0F?>NP;BH1[<"+CSNW!;Q?"?OKUPE+@ZHW =X4X%$W M89/N@F)! F]9.< !6C/%GQ8P.YO0\7)D$18JZ$,XN,4E6X =4\IHMFSIWH=> M^QXZ8N*OUZ$M W/W-W0$Z$1/0]>1W&S4)TEI6^N8XVWD849) M'D 1!['T,&@$\RPCJMU1%&):2 ?$RA:=)S6QS1D0!IHR4*0=+P*, &9F8?S M8&=)7!&P-A67A?-D$D8(S:KZEP5^J>(&;SB46;LAS__W$]YL'OB?YJ7"CEZ: M[@N4I,#__0OHJ+E4!#N6T*((V%62NM7].I384WVOLW*,EO0Z?FN^*EYG.3XH MW'7^*;\5(/;UU/^C6JG0H"JKKI+(OJP'1=CK4O=BE/]A>154V>R3B=>%']ZXNF!&]6.ME2E0,X M[D6P[U3@I^C#]=-H& ;X&2;',I#P]N,"V#;IZ*30S3IV-1^(9G9PYMD6>L _ MIJ_4X W?B:LR7,_G3U&!P1OF1M!6([C9I]^WY]Z+#.: MXHC1""). FEZ@DB:'E1 $?)>5?5.B/12JTX]XKB@\_I[27D7&)";7UP4)(8Q MC:7*"(I5"_$C3[T4M[1 S;_S]?9\P6 #& R74U?A+-?* M3BY_?3]'!?"UNAV,/>_2=4JLHW7IY$,.\=-POF\&L6;#HPBUR,D?Z3Z[ MV_5&I3J\<-V2F- PS N8H"*3*L>Q7*4(EW]D 6)%3(G9938?S,SH+.^/[=7> M^.# #B@^VQSBGE6=[F/3L^G:63&( <^(M>4ZJQE;7(08W+Q$V,;=]H^Y151Z M1NP=^Y!BLEWA&C#)PZI2QQ9R7=JULY";>U =S$[7X*++W5$]=/6/63\[.D6P MS^UI?#6]\ 3C: C]6AKS!=P]H7$0GO6\UBW@ M]UIGF!=O.-S$*TB[,1JP ;YRN:M<@[^ITNGRGYH;\\1X4Y#&EX.)\+&S^F;0 M2 OO,Y3B(+E3"KTIC=D2ZBV%'J;7V[[JMJ_[%:^4F?GVP/GF*U^I(BCO=FM1 MJ=D"\W,%:ONUF1FZH]'ZW>O!S1U)=S"3 48*)-!U1'D9R M'QMD, ]B A,1DHS$(HTHMK$DQI0G-B8#/L#Y>O]V1L0<53,[,@E6=J;DYLO; MCV?Z$TP0N;(6V),5,:<[JR&QAN.E+;$?P"73CM)ZR]G['^KR)E?W@%M:;4'! MX:%%&A:8YCB"O"!(G=P@B).,P9@C'O(PIEED=&AL1W9Z0Z+X +QC1&_P*VU1 M:%<7T_K$QQ+7.$YH&# " YX2B# N( [5+4N,25C$11(C:G(B-B&NKH=E^/71 M-8@93H*9I:'N@.IYT%' ;F'K@#(YJ+L&*)OTTRD \'KIRK;\M M!N2:!];5!CQ+-_H)ETS^HU8M-JJ2L"T'?Y:;AU+^>LTE"VT;S>Y'ZG') MS*-4D7W$D3Y3N4"7 JRJ]3VO?_$53[2>K?'D6^/19DS*M97P,%G7^FW[N)]; MV8M9:UUXKV]A7=1BKDH6LU:O\%BRXK7J5%PN3N&U(L77-E7@:W^7\I;70ME* MR><7LBKO]1PI;:72,;XK']7U=/%-_K01;8NK;QM<;][)^=65WCA& 1&!NED> MYW(++'W7(BPRR%D8AW(?'-'"JL"]7_8F5NJ.V?Y:I5IF!OR"/<,+T+,,6IYU MWY4!UPN@^0;O](FD0Q$^S]-JM@=_O%ERG*&,E*H MX@$J 2[+(2E$!&D1,A+FB 9A9-6SRYCTQ.99,;%H&P+R/2_MUL3CO2,+J,W, MZC0 VIG,%CO=%O#]2^PT)VW"^H 7CXW#K.7WU5#,G/"\C<:L 3EJ0&8_@F,9 M$US6?U-5>08WES_44OU4H]2^31E!O$"Y5+V4%A"A D.!;Q(21Y@JRX7-L0G-A$]*WH%Y3T?=J;!"DLS&S$50G;&HN=B 30?&J,= M)X/D#,^I7-> X,F86)&>U:JX@/+2O#B-X1#_7:W>_Y#>NRJQ^%;NG^ZK6GKQ M73J!:31X9(RI8\.K%=C1!GOB%L'@,0 ,0L.>9+<,%)\1VV/NA*EP;@'CL8'G M"Q\;B'<03#9YWKXI\5VY:5LFLO)[R;9XI<.( >41PH& !8^92FHH8(%%!N." MDC"B)$YRHYK&9RE,K)F:9MO0LZ=J%9T]C\RX4GJ1UTX;'42U:DL\*LX5+8E/ MCSM;.^)1L8:MB,!P>>'S X&=HAE(#_Y0+'A:_R[+Z+3ZC0P[V]IW M6;3ARF?PM'/"L#K1;F[QLXHH=VY7A!*&>9+",$^$NE>>PCS&(<11*.)"775- MK>Z5GZ0R??Z>I@DZHM8IOR=P,=N77BVMI2_Z0M!I\G?/2^0O5_<$C;GS2('=^1AAWS;SRKS1'JVW_AJI8[@ZI+R)0G##*59!$-2J-ZI>0&)Z@B6AT0D MA. $YVBYUCDK[,XPP_84(://LV@_SR-RYNM'1QDT+6GPI&A;)"V>Q&A<*Z\3 MV;$U2+\V4@CO%]D&PX^J"# M.;F5H'"5[:J[1.L+C,T[WI3W:Z6\2QHAD?*.(,DRS!+XB(, MF=']'P-:DT>G.^*@4=07;FXD_:M@N##&?B3.3 MY<#8&;[BWNQX4%VSSY;Y4-6J'NS-HTK._Z=JS]QLY+ZJR]E?$L'S#/$(HKP@ M$,59!HLP%S"*4898EF0I([;]D*VYF'I/U%,%BNQ"WR?0U4OLNR;; QP7:1$0 MQ&$89"E$A'/IQ18"TB3-$A+1+$.%72.GR2%V:O/T;LL!%AME6/K['9N'NMK> M/P"AO"/U$\LT+3? S7:KDX-HMW09571^^1WO&?/;%=L9%X^-L^UYF+VWMC-, MI]IONP_FOEKLCW0M*T*^:1J^<4P[-$'13)\]8V.GW%? XB]M:+)&1B84?XXDH=3,, MG_76](OXRM5=8K4(?N/W;2(^EUXT244 $YHA*+"?_GBKX=DE^:U6_+)HG#1\A M-*MB7Q;XI3X;O.&FQN]QK:Y3-;>\UD&.G7LI2):I1J>0Q[G<#(N"PX*)#&:$ MB;"(".&Q57>E$/>I6?NEYQZK[6]+HBP6;]]]U MY802\6%*$U43(OD, ECDH@\C7B:6!7@/T-H8C7>DP6: M+OA#40::M*4O?A8J,[7U 8"=VKK);E^\_X)@ONKXGR,S;TG_"\(>5?>_]+S# M^>=OJXK@U=NJD@_<=_D[) U9@N,4RDTSA:@(0EB0,(58)%$1TTPNR$:K[CD" M$ZMI2Q%T)"V.[4YA,:Z//B2TT\-#X5P:IYZ2TN)$\DIIW8XA#:?4[G!Q1)+1 M$\53[\UWC#C"]<'9X=ASKDUU=,J%W,A_PO4_N*JYU=5\6A(N&"-$P(BI?GAI M1""1?Y6;[3S%88SB(++:;)\G-?42CU==E;W'GK!MRYVS(!DN[5Y$MUS.:E]+SV=GGDNB>6O3C;P,LHB6B1 MI2&D)."J1GJ@?'*5 I[R+(P*%A=6R< V^ M*^+_#L(D6 2!_E^?GH*WFX>J5B=C"X"219H7BR2/]48!O\>APN@5HRV MSP^GVNX>_"JV+#WRA[KA9P1QU=5D)?# MSUO[XXQP1Q4^SCWG9A%^XVM>XY4T-3?LL5R7*@2@ONM^N:)A0(,\#&!,: Z1 M,A5YE@HHTH2@-) _3(2-@;A ;^I-04N]K0QT0-].'R^A9J:>'K&PW#X,8#@D M[7^Y-Q32DPY?HC:K2AN*_E+#35]S4_@O]3U>E__4.Z]]XQ#Y#TGOMFWBI?_Y M1;3=G$J\^B9_HN^MV?8 \4)K.C48LK< !PQJU1BRJ%;X'9-@S^4D86NON/GJ M=N^%IWD[V_N$\:B+O=?!W73YKL:,?\:/NQ(0.SX!@$R7V(;!G4.B6M2\#\ MK-@647,?XKN%SK_N&[26:UVM5CLU==<6;5.!DT#YNL%S2?#12/O9E^<+MU_B M_R#F?O%AA\)7?^*:-6]75N3+&QZ69M5T7+7'JW8EH&X\]7 M4\M\,B9K91Y<>U[M&_JT;<.IHFRQ7)N#:."V3 *-9:QBAT?;Y%Z3 MT_VMVBK=NJWZX%>30&7AZDP"V=6^C^H8A7>]KDY^8P#KBYZJQ11H]M .GO#E M%%E#-.HEF8\VG]MD+>&!'V7_MFM&@TY?;O.9536):E72Y_;/O>,0A+Q(J4 P M#U0Z%,TP)%Q5/,Q#P7"0"1Y:]8 UHCKU5K#EH;M2X)#E8 *<62S&.QR6V\0. MB1W]!6AI@S^Z_TY2D-A*:F]I$28T9\Z0L(#A.%G"YF7'RF_J9EG3];);"A;D M"4D#&',F(,*JKT&<%S"+>1I%/$8!,7*[3HX^BW?5]U[$FK)EM;<#+,RTVUE" MR]V3)K/HFWUZK.EVBG]?M=P.QIZWAMLIL8YJMYU\R/4*[["421= 2S'+$B:7 MT@B+'"*F[NRB-(-QPF+,DH2*R"K%X!21B1?2?0TA3=/V1NX)4,STZEI1[=3K MA903G&2,R>/M:NT)$C/?I3TOY/'EV9%G'3OWZ.-(KMWGOBWK\R>\484DGE]$ MRXH04>OCH# M65">MT.0/21'G8(WC$,!Z#Z!.?_<5E30%8C08>7&0^6*0IO(4"']!=@U7-@YX*YP&SFBDT,GIU=[9D! VYT M.FN/YMM#-'^_B*:U*W8%'IY<,A<.9G7-KH#HI8MVS5".1R3=;JGY(MXJ<=>; MNDMN_5HV__CU6?WY 5/YD>PW-5$AC51<9#!, PQ1F,90NFPQ3&,=AQCWD 4MZ'_E6[MK+#5!LZ6SRG9JJGU@>M#C ;WCL,BVHEH

7B[E?[T(Z\M[[H8CC:=]G0, #5+H&>AS6/HF9CDLHJEX)Y4 MPY3JK.I@"<5+%;!]W:F!ZKXQG7WCU*-W)UY@5>?0 4VK/JG'E9<5ZT/3W_G..-R)S$04L9O.EHGV_\8G^[TTA(7]Q_32/"CBY9F;]GI-N/E M\KW<,F^>/Y0K7G<-DI^7E).(!J2 )&8!1*J(>$$""GF6B2Q/48J(43V4,^-/ MK+TM1:!)]HVV#6-FYP 9UUL/8MHIJIV$QJIY08Z1]5*^V:JA_,M>^\Z--XNZ M71"FUZ]+CSEF^,B)>\ -_T)6Y7U[[I+)!1 3E2D7JOR>)(EACF($HS!.0X81 MH[E=3?XC$E/'>?9IX$\=;5#MB%OF!9P R&QMO$YL.S7K:8$],8])/F<%\97B MI?>9:D,!49YEF",B*LR?03 - WJ"P#?S8 MHN 0XS&2S5ML9YS:S#$=(]&/8SEFK]G'<*0K?,NKS[RZ^7ZOL[G?5H]/-X\; MTSC.N?N_#T';3*ZHB]=^3;0?Z-O9YE'>LZB<3G: MXP,(.TWU@X%5&.B2D$ZAH+.#SA8.NB36,"1T\5G',]&^FH\^@EH&*4<))Q12 M6E"(U/60/)1_L)B$290%5" K+_=P^*D]W)Y8=Z!F6\?^$ JS]=)=0#NE,Y?- M_H3PI B^#O\.!Y_W7.^D8$='=J>?LH_$=)=+/I0-Q:O_Y+A^OV;OY-A+%*51 MG,4$9A1)I4I1!/.\*" 7*4X1S;-(&+6,&",R=593=]6JI0L48?!>E865I,U# M,V<1NAR?\2&WG<8YB6P5J[DDDU/ YNR@LT5M+HDU#-U_ MU=7VZ3_XBHFJEO_DGRO=T%&G&6TYZ^YF5^O^<"TNB$B")(0A3AA$11C# D4< MAB) )!(!":C531%'/B96YIXKH-E: ,78H-6N9 X,N0-[]BQ[&#O.@MG*.P.V M=@;#'=8)[J!=B8ZOGJ^.7,S;%/8ZJ(ZZQEXYG&,%[*IB?Y8K56_WXWK3]1)M M+[WN"RX-ZD @BA+, RB]?0%1'E%8J#\8Q226;HD(4VY5$-N*_,3VK6=&)RR6 M.W:<[HE;XFIFNJ9#R\YB'0"UYZ1M0=L<=)V>)#?1#0=?1;;MB,];<]L)F*,2 MW&ZC.-R#N\7/NB+PAZJ^K2O*.6M4_M?9IKG+E"4$(Q+"@B72_M D@#@B.20$ MXR#/0Y&EZ7+-[]6EH7$+Y$3?2*6*5J6&7%@?/>DDX*>.#:UFO.?!XHJ8-;SC M9F@ZR-R.Z3I.@%PHP9N>&9T!^@OH^5D S=%"%PM[/P>&%M?NIL32[1K>%)C: MW)ADL,IQ#A%*Y?Q99#"-. ML""<4&Q7!,4W@U-G+O7L=KF'8(-_ .GEC*_EFV5?8]RV9.[FO.G=T"M)^V+EU2D@:*6?#UQ;2I M7[SOI^W7W;1I,:"6 W0J#&Z&T^;K+&QJ;'UUDO;-WKP=J"<"]ZAS]51T[$_C MUG]B:ZC-F;)K!/11CW$ Y2F#IU%YBWNK\^P6[3L?=_1BSG6Z_ M8'IXF/WR5R[=+1[*)^D4-=(GHESN;[_Q^GM)^9)S6B2IX#"+DQ"B,!6$) M#$1.8XPYC0JCP[8Q(E.?8W=4P9,FJRJH-RUAFTX/9_ QV!IZD-I.678"MQ3E M,@R^>1/8IK/%]8*[;=?N'CBXKZNF:5M^JJ!!<_8C\-;.8ES:\6X69]Z=L9G% M./>'O2PN/.O:AG9PP5==[+WEM?H!ON?A,F TC *.(>6ZT'(D8,%2"G.24X02 MG%-N56AYC-C49_\'=]AK?8']J:5NV_]U!#"S384O&.SLTR$"[17^/6&?K6$O M2^>M3>P(J9E;QEX6^KA]K,$[CH4E<5GKEK2?.%;Q<67,U?WEOZXKH@RP2A+Z MN'[:;II#3UW]*4J]5F6I9QDDD1> MD(C0$/*BP! 5>0&+/"T@#M.("AYE.(FZ27J_OG L\9--4<^O>4Q$]PC_F6;' M;(%X=;SM5A;%;M]H?,!Q6_!BR#-HF3Z*2.W8!IKO05VL=EB/A4JG1-972=-) M>)RW^.F4,!^529V4F(_JZCH UMQL-P]57?Z3LR7')"FP2LQ+B72LXSA7S4ND M8UT$+"JBB":%54&N<7)3A[AVM,< >*,V?OJGYR_ON^!H9D[] MH6,9/CLLTMZ%V!NPISU5N?9S,DY2N/V(V"N6<#\G^'@Q][-O.83T_JZ/NC;/ M^SJ6<2"B()9ZGN$"264/"2QBD<,P%D6(!2O"O# .YAT-/[%R]_1L"W^>P<(@ M<'>5A'8*NA/ND>GMLW7"O7M-95]=\PWO[M%Q6=^_-HN@%K M+[.J?FVM&^XK='<6@]&@W?%;\X7KSG)\$*@[_Y3C[;:3QV>#H]E?G_>/=">W MNB^FRK#8/']\#K+T_: ?I-\=E\7-_J>?T[+^\?-IQUUR'U M+]4UAIU_M4R3/(I3E$$AW1>(_.PS)PYO#^^E5-523V98*%$7H!46 M#*0%;2&LC907= (O0"NR,M2MT O0B[V[Q*P?T?>[P'Y?[O&>Y<\VG;ZN>/XT MW0?L0*HDZU'LY@L5L9;E:6#LK/Y!3T9N@M>&H0#X+NAS1 MF+^,RSDQ3Q9O.?NPO^#DVD.8Y9&!,,DX2I'@^<0LR*#!)<1(QSD041LSWW\X[SE2=X MKPRQ>[39$30_X>8!\6GCS2>DG##@/*3VZA'G$Z*;A)Q/O>:QE6A_$^?=EJNR M%!_DE[.,\B(K2!!#P@2%*!*JC@M/88Y(EF=!FH2QU>T64\(3KW+RD\D]= 4] MA9CAF?T$.%@>PQOU ]4E8!0C$W?_'!%]RM:?I\B^?M_/$3",FGZ.O>]F+S[S MC7*H;^OJ>\DX^_7YKXU**OW25_:^49_?>R'$D7_2K$%C@;#=@+O2@7KM_N5Z]A=M=5:ARSV!O_Y'@T]9,.N65 M,MWEN5_^DI24J7PI228E5Y\Y.+TN6V(\* :#P8A?H"!/.19IDL:+M4)S,[,8 MYJ2M;,:6 >,%(QG11U:P:=KX4'#9KVI^>UC5:_+?W658;HX\: S=T1CG(P M^O-*,C1Y/D2WLU]V4KNC\)Z3R#<@[Q&=U\'F/2?N69C>LR\X9!SV30G?=LB3 M+$Q%A(,8+A%1*ZI1=^Y4_RK[Q-3Y'^Z&/K\&!2;=;@$?]#>JAT MJPQ?*81GI!Q-(#Q\9[[TP3/<[B4/GGO&'@[C?5VKE E5\_#,ZY<6#]X0&^/4 MNQ,O?4FR6O%JTRQ?VJ2HPV2JGAES)(V3&ABW#CZ$M[,0QG+[P\R_)*03,L?) M 6>#Z1@39XC9,?J<;+>_:M/;D%!C@H4 M)S"6NS1$>1% ^4_I2@=APD6@?&@C; ]'^A,OXRTW&C1:00:#9LO"#: ='OV3 M.KZ,=#+SHND0IPD.B@BR!"L@=)5\D 4QE(<4D20%$GF!%_(S(-4/H.LA'\;: M?K?A.FZ]XN!%W>O(37;)&\M@CZU:S0XW$ZK*SL JH^YOZ\UGC$0*L-]BS:D2I0Z>"'PS!MUE='!4&(E30/N MVSH,*SRFN6?>X/3Z0\^G93S=I'3BC5OIQ-VITHF/N]()@_*('^&#L(+^^H$_ M#+>PPH>]%;ZJ5E"M;-Y"D*]?#F!FRYT$-X!_I\N-S@C4N8+@)^D=;5;E^F=0 M]1]%.Y8_++)74O\%E+.YN9H3/^V5-'Z S/9:7+CFOU=L0]='^%-=E+$H"A:C MB*DJ%'DL+1"%.$$!%'&!TC#)26@&/FE&;F)?H2,.:O[,5]*(T"$7MNG!HVHS M.Q;Y4X;=1MOKX1@%;H*^369">LL-'B4V#'F<%&;UV!+ZL['B]5!Q!E MH:H5;ZU*2U>Y%7F188:C'$84)1#E*L7' :+VH5"-7WK^J;#WP3DNJ?T;' ]@QH1WF2;7D M &WK4UON8!H4U_6+?I<6 M2CAJ;FGSKH/7I>+/NT/=+6.E&A$O?\/?R\?-8]OHXG=IA=[R>HW+U6_EDC=K M:91NZ4,ISRGZ*+B@(B8"%IP"KC>04T)95\-CS"O" 60M7Q<]\&7A[L\^"PTW9Q\$$[#@$ M'8M=$R"@F 0=EV#+)KA]S0FP<"1GGP@W+_-V"]=V8BE0_(2IBGSKQ3#X]-7S M1VNC\>5N>E7=J"_JA])\CJI7S>QYL7Y'=G5QASQ\7$D#+VFH9D\ZJ97MP.L7 M3.01BCB%>:;R6G@F?Q()@T6!LZR0.UF2)79Y%^;$)T^YZ(GKEGBV/J^Q"GF4 M"8%B!; ?!A#1,()%%L4P($P$)$KR-*=V9X4I%.BPR6_5]W5*]9D>'*90RI5[ M[IZ";D#+R22-.NS%]W::,"8\\YG"5B'')POK$>P3>_75T=WC_7]7?_ZV>BK? MKAHF_[TMMS-,\1T?9>H,#D4K^!D@6P&^?OGQ4EQ--*95@FJ)AH(UQ M2^!7$78K_Z(.//>K-Y?5*?_WPM"S90*;B3C,"39\P\UMTC@. M\?KQ7?4HG;2%:B2,9BAD- YT$:6<4#SY.:>#5KPF! M&2C2X(^6N&51W8C"S'9U/VJP6\NN&K#>LR\+YVF/'B$TZYY\6>##/=C@#9>8 M7MD\50U>_E)7FZ?FXZI++9*_EH*LR]6&LPX_0=KOW0GM;=6LFT4:Y2&*1 Q% MD"@4O"" )$YS&%!!N$ASC',C!)6K.;$R!/: *G?J%9NXSS5*-8FWS:0J2Y>_ MXPJT;"F7OT]4&W(&=JSM1>(T=W,IV2:F-I.RW4)IDRK=,H+F05'C@;-K",P8 M+_.@A_TPF8\!KTJIZUL_W%):RZUG0?*X(%E((,&BD"X>32$)PQCFE E$@SPL MTM %_O04,9LUY(YZV@)Q KP&9 N 6HFN,XA3/MVASJ1::$X(@TE!,408,X@1 MPLHWICD67.ZCU@T,?6G,&K]TH"^^8IXU9>8/7R^[W?;V30%:JJ.MN@%__WTM MY58!K"[_<-MRI^/#>]+A&3G])AL>$GF-),,S@IY)+CSW])7P,)]%BU=8XN67 MJM$&]98TVO5>Y-+*98P3&$IG%R)YP(6$Y 32*(BE/YQFG%OE$9L0G3JEL&>A MPW]JF0 ]%^"/G@]7))DQ?9HM=]]:LE[\URK('73&0&+?^#-C)%\'BL9 "6=1 M:4S>=348%?WG0[64;S1MU<,B(5G$4I;#&.4((I8D,(^"# J6AUD:%0PI(&)S M6-%C$G.<=END\8[L__FW/ JS_^IJDVQ-P)&&XW5Z>JUFV2?4$U.:Q"A@,.))"%&$8XASGL"8D30,0Y&K.A5+ M1]&'UR79K#7VX;H"7[#?HOOS,GFS^T<$ M9K;RYP0\MNEGG[P.R_7S&#AA"[&3\2#'>227(\8"(GF<@WE( B@PYIBQ) YC MHV(2>])3NW_&Z)\7P7JNU;'A(I]$C4@/"KP)B:*^0< M2*G%" [7+=VI]4/-^;]X?;MB=P_XSZ[0DD9Q0(5(8$:1-"]A$4#,> CC%$4D M2@5+N5%NU"5"$QN3CJ0.DZPE48N0_IAV#*Y%/,EL9P8ZHC=@*+I(%T@G &<1+G4!1QQN7_ I%8 M9G!>I#FQP>HY &O\'> .Y/RYYP+@G@W;K,[+NC1S=CQKR,Z\;94CJ6\1X+<, M@-N+RG%(WS06UUO>YF6*,R=L&JO@.%/3_-5K.[[JLUBW.P5A0+*@$! 7@DCG MA0B8YZK("\&+RZB]33GX'K:DW>.F6%: MK@C!>%*A]PC-M7R]4@#'DSK/QW=\$?#7T+3DS: 3XO9B' O"XY!RB'FD&EXD M%!8TC:!@@@11$8LDBJYM:7J:]-0AHO8V=G7?]O2TQ'6VT*"9-9Q&+W;FSJS) MZ8>RH7C9]CK]#:\5$O#+)+D']BJ9L/GI&<*OWOYT7"$F#5 OC.!F8?H:@;^7 MZX>^[<;V>_K:X@6J1@'WJ_)?G"V*2#I^\HP&0T)"B!@I8!&*3#I_."T*1A%' M5HV3[EE_UE;'30V>+(\E\5FMCYMB#BV0XRC.?LZY6[3?5-*,4*HC M?._#IHX]Z.;G:&A[%4BJ^0-?-=)L?5Q1Z5G]6C7-AZKFY?VJ[=1#7^YJO&HP M[5 9];^6;>R)_4.Z8^J+^,37G\4=_KY 29!&">4\M8UUV-OH#UCAF M]S<@!77A1EK_-W.7YIH\LS?$CO# MVW:?V6,8M!R#GQ3//]^ ?L)ZOL& \38Q:C"!MX,)_-1.X-W(!%J[:M/JUY-' M-Q&3LSI^TRKZT#^K([0FMLX@UR613T2T+KYBMZ";>JWS-+K*P2Y.$F0T%@3EJF(_@RC.."L$<9')>>=_L4!]ZC9/%MBZA3KNYW MD#ION)!^9?N<=!5Y\_Z[)"QIE"M# M3CV9SRDYG=4"SZ#R0R,^!TFW?:"M)M_U5U>WY-5F_95C5BY?WG%)Y%&RH!JS M]_U*VP8%"T9H'*>8P *G,419*%28-H4IBTDJ1)@K/ N+ [XS)U.'8X]Z%C_B M^I^\A3UHL4% L^5:YY!(MD'=\@W8@/%!AW,[V^\^2V:6?1;=V]GMKA'XMV/- M=ER!(5N#]M\W75<;?S;Z:NUXLL#N?,QJ7Z]6UZ'UO'Y IV:KA[G0NU3IMI^S M[D*X5]NBTZ6;[F85IS3*4I'"F&:10HLD"B8X@R+G*,I8CC%&%DU8K^-FZMMW M74_5-6+O^F5NBZW:?NU8J^RY:^V\N5=KJQ-]&AF;WPK!D[8^&L%!?D;E,Q_<%X M7Z0X-Z:WJ0I. 'P;O^IJ%+KJ,.V]:./3?&R:#6>+&&69="XR&&940'E*#55/ M^PA&29X% D4T8E;IE^=)36P"MH1;5_RF]1FD%Z^)@Y_*SHMH?K8U!F=U9VH# M?&C$;NGOE/&M549+%K1T?2[\2[)Y6^]G"5Q(XU@U,*&0"E$D!2_D'F]5ZCI":^J=79$" MD65UV(AJS!:M)X'M5NTPH-W2O0&=_!, %QF(Z*N8:X32O(5;ET4^*M(R>,4E MU,SKYY+RKA:U#Z01&N4)%G(O+A0>NBA@3K,"RBV8")ZR.,%&L,MG*4P=$FY) M]I7G-C'(4^HP">9>*:1E@+:3KZ\,=PFVGIQWBP#JE0*[!44_#B*A3VV'>I4: ML:[ ^H G_:O44_1T0=CVB>>G'&*.4(W_N1Q[$'[6P*X^7B_6I=KE_>/_+Z M7D[.+W7UY_I!50_@U-&AI@XZXV2J\I*EQH^-1?LO GYOHQBO.4+"1QM)RA-87D#_L7(!+ MX\ZR+ V%ZQ>GZ>,.V[YJ+[^[U+Y]QN52WV%7]3>\Y+^O:HZ7"I)"I0VIW!]= MWK->1&%>4)H2R'A$($)Q!DE:%#!A*,SRN$A#D2]6_%Y=4=T9^@=NK!A]X47[ MA1\Q9/RU2WTW#=AL>="W!"HW;UFI;8?7CS;M4]UT;N!]3*A"1PACLAYDS]R M+4M0[M]0,74#=FP!Q5>;[]AR-KU2;;K13JY<-U_H3GH\*B.L(PB>JGK=E6(< M?+! _K9U6J7<+Q3WAOXANIL)]]N677S'N5[/NM;J\;RA71 MNH,^>FP]^"^\UHZ]E/PS69;W>B6\__[$U4WW7?FHTE7%-_G;1K3%I2WT:B&W M(9%(1[+(>*2 U *(:<*@2%A.!(J+D%FE@?IA:V+G\VN/J[9E$PSX!#M&;T#/ M*FAYU<"N V[=D',]S9U9^&O^&;';Z6:<# = <)^Z\X8@[H6IF2''?2KR&*/< MZ^C7]2'I(#-U(_-/?+U TK$G/,^DPY^IQI&%@'D19SZ7WG3_*?TD?"C\IB4$Z/=(74_IQ7DU/ M X+X;RER1B3/;40.J;Q*ZY SHIYK%W+N<=>2RGW<-CGB^^]TN5'M0'^I*O9G MN5PNLBA+<,!"R"*<011Q#(L<)9 3'@0IRD4NC++";8A.[ P-( G[/D*KD>_8 M77<)HE& "(=AQ"A$- VE(8PPC$0:8,Y1'.78KJ[4L^[L"T1GTYV9%?2M$3N3 M> +;4F6%_K1E ?0\G$_;<"C -!?96R6E 9CA..9I:)?( M9,O U'>K@RXA'4.@YVB'6NW:C,50QV8694K-V5D7,Z5U1T"@& *:HTFZI]@I MPWN3%$/RK]0+Q4XYYUN>6([C>&HKFZ>JP0P3QF"*$0"%D(0* +&,A:P@B*K#.N+%">V/CU]H!D ^QPX0GA?UJ+A,IQ?YX9RJJKX/>17KS'OE,Q3\Z_!F_Z'"G>\N>I:G!]]*\U(^?JC4/ MN[0>SHI,Q$@:@2P.(8I#903D/T402;,@4IZ:=8H%8YXVO;F\AVZ_FDM"YI7F?%MK@ ]2'^5#6PZ@H>K%KU+"N\DK\E+V"GOK?X MJ90'8U]WCI=4,7JK>/;E^>X-+_&_=S-X\6%G]*]:=61ZQ]O_^W&E$]*[HLH6 M;^%KM5Q^J&I5W;H(>%#(0Y2 .,2IM%Z9@(2F#!)!>))3ACC!=E$K*_J3![!: M+L!//3\_JSOU(4O_#CH\DC\46Z#CR]+)L=6Z:/6H9#33?LFPM_;PS,W^2YI$2 M?Y1$S1UC?ZUDS2.%>D_8/*9@7V3YKMO/V_[T;=>-#_)WS2*-DC"E6, L3P64 M=C>'!7GE>1^,&SIODEI=X M+D);%59>%,JIK/+\J+,555X4;%A2>?EA1QR4LVUT?V^XV"Q_+05?1"(/DT@@ M2)@"42RB3)XW$P832H-(!$D68Z.[.!NB$R_6O_/R_D%MG+?/O%:7+BUEH$AK MN*,7CFM;M",C99KY*;Y59+>J1SMHWPQU-4?+[&.))^^3/2#Y@S3'/E:">4?L M$^^Z60M5A+[N[V\IK3><];15&?&*Z::Q.^9V?UO$H2@"CAGD(4TA(BR&),LCF"GX MB C1-"Z*ZR[T[1B:.G.I9:9OO-6V*.AJYKO2_>6.F6MO]2WGPLSTS:EA.Q-X MYMZ_U_F !ZWVMJ'VP%X:*-Y#'H";MB9+#+!DYY4S!=R4=SEUP'%<^UR"+\]/ M!^4+AKD#1R].;*GDG@&>F[T Z3MY1EY6"AWD!FA>S+,%CL4>-S972VQG.4X( M.T7YQ:A43G?^QZ/-=L=_5I#AG?[YA]S\C=O5NF3E4F<([(!*VC(OSMJ>=H]/ MF_9F\[,X!+=_\W)Z V>3GB4"RH=D!0) E&2ZL XDNGZ[STC)=GRN60;O 3C MO!QW(E35 M%&T/PN;S9MVL\4I-<'_QV]W[OO_.:UHV_$M=4KY(!4%92G.(A2K;XB2')*5< M_H<4.1$IEP>LQ9.^?/^VQO7:;.N>B7N;M7$H@_$R&? "<*/RS0B_+U>K+OFL M'5=?H+-JN<3UH#VAY67Z7'..>ITF09BK7(?.;B<;=D(>BC#H& EL@C[,N\4^ ++68FKN<%F9EW*HZP:68F[],]49U"TR02 M A8YQA#%1$ <\ 6*8MXD)$BBE,K4*V39";V[W6Q*B3:2M !61\F_BJ+/(\! M/=E*7D&*X^9!9]^OFLD-WRQVZD/ M?F%5_CVX%(SC+*'2;82"%1E$0A[+L$@"^1_"* T"Z3M: M-12_@I>IE_\ !*[OW"5]AQU+0//D5/7CI'HSDS&30NWL2J\_M1Q SQ;8\G5* MKY.BZWE0DM^Z'2=.7J-0YQJ5G:G,N6I(-PLHC>ECU:)1= !+.*,1#S&%&<\$ M1(@2F,>1@-*D9:H0DB-B=;5\1&%B:]72:Q%4[$S2L2[,#,U5$MJ9CZ%P$W0T M/2N)IS5^//ZL*_>L>(?K\?R#CJD@!]UI=M>2^UUL!HV>D#P:JJ:G(4L+C'.$H6\AC#*F,L&'_.[^1.B(5P;F39AP M5M!1'H3[2/:7C+M++IVL9'C)N/_6Q/OZCMA_FE\U'LAU^:K1722[%3RX5?25 M)G6>?:=KQ8.A9KM6/"W"\%KQS!/VM>AOR_6+!:&F 8[\D^OBZNDP/-5B%^BOUA4?C)O[OVOKYE3,Y.\Z5JUGCY_Y9/^N-(I=_)1:QR MUQ"&"&<%+'(A8!J'21+3C*?=N>_UF&C';:]'GW8[0A[FN>ZBH20E*2MR!$,< MR?69I3$L4(ZAB 3.$1,\R:VZ8YVE-/$256V+=-??I[8KKPITZ%0"NP/@>469 MG?.\B&^Y1#N2JJBGO9+W#.AI+)NG4]IY.K,>QBZ*>WCFNOR"W>)MZO6B:ZCR MN?[&Z^>24F:L;4HWQVL0_FOW1H\.^PL2^^24/V* MN_BQ>QME5&?8D^J1?UO+H53FTJ_57H>P,$:=5>$" M&W)91'^8(".TY@;\N"SV"30/@Y<<>@:H.Z&/*V5FU+@?5W+Y2*/S5=+Y#7\O M'S>/FB:3!QO*=6^D#U7]'M.'.X7(_<#?5'5=_2DW8D&%".(4PY0I#RA* TB8 M=(-03C!7'1DC,Y VGTQ-;#;T96JY9?-&_MPR"FK)W0UX;'D%C69612;"8MF":\P(UVQ'K&)F*?5U]55H1RLM_@IFQ^7U6DX?6S2J+X MN'K:K.6?I1+E6_KCWP6&413PC,>Z_T,NC_T%D\=^DL$""\E$BK("6W4^GX+) MB3?!88[W6J[;MP^JU$&UKP1*&J#%47]\6ZU4Q;OR*>6/3:; M4C/O_+4GRFY[W$W$S1Y 8,^Q:I:TY1EHIF_ D&V@^0;[C$^:7CZE@GT!0$_! MXKR T1,J^0A@>DI:UW:3:-$V5)^$*,=2D1S#((T#B%@>P#Q)Y*FFB"E6Y?P) M(VZ])+8TICZ5'#15Z)!BKN@CL=/.N''T)+.EZV\O[A4=)(X$\M _8C?F*W6/ M.!+J?.^(XT?M[S6_\7LUX*XX!2^[R!@/!.)IF$%.B%Q\!8\@+@2#69'G<9"G M$=%\4; M7GA>?M@?,)WJ??Y9*&^]QG2]H')!4BJW0943!%%>"$CB-(>%X$5&BZ1(&;L6 MBFZ?Y,0+=(>PMFP1UN08C^J 0COZUR/3':C0[$CA5S%VR_@L^MQ=IYNWEW3C M!6WNM+@3XLL=$'QU1+G3"C#!D#OSYK60%+]4%5,HX9^J%7]\6E8OG'[=OFZ>G9 5GT6D5ZG M0^"K6]*T3BS*XRC(J( %B6*(0J1P+I,,1BSF!0I"3)E5$S9;!B9>85MX.MS! MT^D"@@9L%([3NM+H59LUW]49Z+\#O%[7)=FL=2"\?6Q;??!0+>5\-(9%I\X3 M8^8"3*EN.QMP! 2XRVULN=G'#7RG -GETW_TG'ET$ER5XLDML"8_JR/@JIS# MK=]Y'#?#]J6NY/)^7N0Y(YP' 4QR(B#B:0)) MQD(8$1%07B0)#JU.)F/$)C98/6F=-ZHW0-/5BGB_4\2G M$458FU83"3V9T5%2LYI,$Z$/S:/1.PYYG<[@IXJ!]+N'O"J@T7] M10ZQ;CZNVC[BM_?W-;_':[Z]X%UP$L0I2]0I*U=UWP6!>1%G4""*11[%-.!& M5O:5Y9C8@&\) J'2,Y[[/!F51/.(ZW_R=0> .6[N543X&6BEOP.Y[VJ7[_#4^%HN\ MU[_&1^.6*OMQ)<^2JZ:D.UO0K?G6!(#-BO4'S\XT/'7?#MXIX#] U_&JZ8^H M*_5FN095*ZBOA-K7GXK1'-Q79&^^M-W7GX.]3-\?@!W'"Z\NB;4[EAZ)H $= M.U9NZ;I\EMP>0 LG>5:$63UV_<087I'-JFYWK^(DI'S+U\U6QY-FYOK3 ME*_;M>L9FO>&S9L"CV[9_(ULCP39&O+O-6W[Y1@B0>Z_-;'),FPY?/R&_Y'5;]=XJ;MZ9R),,QP5, X3B*(0D(A#@H$,QS'!I7[PO&!1$$8PE/^# M"$-K2M(AKC2G'($KI263KBQI%] 9H ML7=T+^?-V,EO$7CSI ?7(O(6%$DE6.Q_".I'Q9>OH):!F*-1I['WYPL+&4BQ M%[=[!+ND@SJ\57C7=]Y90DN0\"F#(4@P12P3,:5Q G@<)2W*4!4%H;(P. M1Y_8 K5!^*6B9['ZCE1@8'*N$7O@S' M.7E&K<712_.9B'/\[MF%LP^YG9#>E#E+W6U>=*>3RG*%L=(>^N4Q#B- MBA 62-7>%D$$,8D)S.31",=Y1H/8"E+L KV)#49/'6CR8)^^T\GGDO[,3CL> MM6)G;:Y2B/6)QE!,3Z>82]1F/;D8BGYX6C%]S?&*I8XN;AP[+ZL]GF ML(HTX5$2I)!'A$#$BP#F(44P$BPN<)'PF%"KRY,18E-?BVR1\U39G&KTJJF; MY*_:Z\WP;L.3-BQO+=P587\G82"AK]N&,5+SWB,8"'UT0V#RCF.K.AW7V'Z: M*9+^?)YD,&<*'S3-$I@3$<$PSY*0Q2EAH14B\O[P4^=F:6*6_>/VY3=;FNY2 M65X4M%'$*=;>:1%\=6W;'WS>CFPG!3OJMG;Z*>]I!L3[.B^;O1A%P#DDK-8V]>VB8^BSS%-*4X@VF!,40QP0H;FT%"!*&I/,CF MD7FRBG:RAGS:3=>Z K\L*Z(ZRE?54DW6 M;II4!@E>O?(\&<1-7W>A7!,+47C%';M@R"_8,GS3GJ!ZGL'G%>BX!N_TJFH9 M5[GE[W^ 566#9/RJL^862GZ]V;/$/)Y,M^/PQ_[)SHB$/)G.]D&1IR/C=GQ7 MN!Q_ELOE[>HH5V'GV5J>;JW&G,[8]FSH4HCCU)JAXS[!^=A)"9Z.SW:T9SU= M.ZGE\/#M-HC#(>%#S?F_>+TMSE278MVE)PW3)$$)^='#UY;@X^27XNB>_+.2H:S'R^GPNPF49]K9Z@\?=MNQ/?*U\@R]U]5QJ M1^#W1B4:?BA7>$45HD:;XE_R9L$#5J0I"V D[1%$&4GD,3?,(<]Y'L4IB85@ M-C@.YJ2M[)8]JH/J_4N5LH5$#T+ &]YL OD6ZC5S V:1EEVQD[I21]" M>B[4R?ZGWUNE_0RVO(#;RUJS=H'L%>#)_[$@/*OS8Z^00\_'881I8Z.JR\M7 MWA4DJP:%BS2,J$ QAIE '"*4<$@2Z1T)7"0(81:B*)TB"GK$R<2NTY:6NN@N MY9&,R)UTQ1N;/,&K%$T#2L-8NIPL45>M(2>PR),8LE2:>('2-$'%XIG7I/JA M5#WDR/PLMQ^EU/C$GZHU;U0M?"7$7#KW&X^\2H]31QYU<[7=1Z[8FTO+T\01 MK]+V7!%#&ZU/%A4\JRE?\;]C C]DI.^L'EQC>N<'O ;(7R.!O^,-K4M=Y/MK MN>(?U_RQ61!*><$94P#^""*5?I\'F,$@RG@@MVEA6 9D2&_B';>'J^] Z@<< M@#\4#T S89EH=TF%9KZ^1\78V?5K=>((X']14J_H_>>IO0)T_T713^/V7W[- MS02\K1X?R[5&3[E=L6VW/2J/ +M8Z"ZK)BM2:118 /.XH-)IS#*(,2S+8DK(@3G))8G?I#Y7TD\FS* M,4QXR.,XP#QD5D@'I\E,G>%(I<^_:2/D[[@H:6D)&7M&.6;&XGJ1[8Q"3P_T M!#W"]9O)Y&F%GR$RZTH>%_1PQ5YXVO%L4*WN59Q$G3G>;NI:VH-%*E">I6D$ MPZ(H($IQ(G?_/( QD6>Y,"0I05:[_PD:$Z])1>D&T)86>*IJY4M9>OPG%)-$ MHE!=BJ1BJ#PMH5S G(4Q9$B$.>:J.:CH\P'OIM?/?F+?G=M1Z3\/U:0"E2I, M>;VZ# ]%UWT=E@7+BJD@2S,X_C">%4F0P3BD MN<*H3F&.!(%Y+G"&,HQHY C7Z)G3BTS#3^4:+Q6;-^#VL=K(I^>!?)Q(H=Z1('WS^4H D1.I M^SQNY%0$'FT:=OE54EF8!? MWG\&G^3_W[.P'ZIJO:K6-I5RHYH9-Y%>E6)GXBSU,441G8G@;H5THR//5TQG M(N!>09W1"X[UX)367)N+1W7J^%=G,/1UV*8-27VI^6.Y>6P^KIYY^VDT"ZI: MRQ&40>F#<8@") ]@.%5(,&F)/0XY^5DK=,J6=IIXM=?E^6;/V M9?!7*<97N;P;$_.6U5^EJ*/R^^M&@4L=TSH!35LG\IF06*$HRQ*H6"<0D15 MF5!0$,C"0O TQ6&141N38,O '";"TD^Q5:&AAS*A8NSL@D[AVY&^ ;=[7IYB M3H=O6H8\I?A=JP9?GH@M^7E]$$?E''D?KN,X%OQ4JZK-(%S=?US1ZI%W8<%= ME^XLSS.5V)<'BI33C.+>ZU[M(<>(@2HM06VK*X"?>TO[9 MLJ7V9;6961:ORK S)4/2X&.GCH[ZSY.4+1L+ZZM4YR*]>2MT3,4_*LPQ?M$^ M)OJ%\UHG%^O=]MO.__ZZEN>?M6E4],(P$R]I1;V#@&W/%0,&P%>^WM2K[D[# M/"1Z23&7@Z(>=6*WLCVHPRH(:BBH4QCTTMBS!4(-A1R&0DU?<:BBVV4>?!:' M'L/.6U@(>82.1(CDX4!NVXBD!<0BYY GN8@8BSC/C%+E+&A.O-1W3)R)<39; M3BPJB@S5.;[F)U*2W=H?Z.>S&)P./G2G@\'AP;]^+&JK_.O)K8KJ[H$#W%YW MR^])EWV7*[&L_@1J^;=M03AKVG\]MDR_J$?;?MKZ@GSWR?F"-+#3SFCEE.%0 M\]5(V5M'6\67_%:[Z@ M 0]%D&/(4R8@BAF&),4Y1!DE(J!!',2%5:+0U!Q/;-,52:@P0N32:XD"Z>S: M9@A-/FUF)[H?:C+L]@ZC5O-DM-7\KD\\&(AQ Y0@0$D">E' U[$IML\GFDOM MOO**)N=WWORBN=1_E& 51NG8F HGZ 1-!?Q4K@"KEDM<-^!)'C'U+=[/=N;[C)Y( M4B >1A G 88HB@B4!Y< YB3@(F,Q8R&VV2FOUI)+97'5M&JAU>.C-*9:.S> M3*PZL]WJ:H78[3#;\A])K]U&;H FZ6\C&)7(D_$^36-6@SLJYJ&1''_8S;!] M[B.2NOCX:WG_L/XL?F]:J,0%"EA(@H3#F! &44&1-'"1@!ECE.(B2@)NU7UG ME-K4%P;;*/E2$0>UH@XK 3?R'U@C0]Z %;0YYEN4B#/*,4*N&/"=H3+RVA[4J^U5>8,=(TU5"V/;6 M.Z$QLW5]I1XL3WU^5&#?3>^\D+XZZ)V@,&_7O/,B'G7*&WG4X7Y WSBH,;NR M*II>: T3PH606T?E MGF(Q7Y#1;=F>&W2^!7I!K+VE>.E9%[#LO5-!A\2-EV^K9RY_U'#=GS=KE:YP MNV*_KW0B@L+LW@%&_UH^EJVOUF9\+4A(0\:1/ D$@5#H63$D49Q CE 1)RG* MHL "0ML[?Q/;@RV+@'8\]FT%]2TFMD@2G&J"# XHKZMV.UMT$$BX ;LIZ/GM M>IEU+$LSQ<"6:3#D&NS8OK%*Z)QJKFS I%]USAPAIE]I[BS!IR?3[#@DM7^R M,P)53Z:S??CJZW:O[3E37B/F3LM?JZJUY4O ] M[P'=?(78SZM@U$DZ\=I\3LYYGO>_@_']2*,(I+P)()A%@80Q6DD#1 2,")Q$H=8%&EN9("N9V5B6Z4^ M%?!3 1ZKU?JAD9^U8D%R:)G[=H6JS7R5>11H9PW[OAQ'>3A;QFZ4?2!<6LR2 MW8 M>^J*OV40* Y]-^ZX1DM>>WHX,?(*[3ZN4=CI3B!7C>C<,K0M2E:)KMNJ MG#L%_287]Q EY5VYW,B]:Y$A4D2<9C#!+(0H"!G,$6$VU;'0>ROP6^J]EM7;_;M!WG3.]^]]^:V/@. M:]5ZDN;7O <"CJ_\ZV2S6])W-=:]':W$L[K"/2V)T\7MP5"S7=>>%F%X27OF M";N5P'BY>+]:2[_JEC$Y9\U;^>/G^J[Z<[6@22J=FDPJ)%%WK#P+( T7:;"&-Z6=\17F2VFYI.0ELO+0, M1!I98_+M=HW)'W9K;&S,61:;@5#]JC-YU '*795PWCW>_[9Z*M^N&E:S#TM\ M;XSA?O+MJ3%$<$O;U37RVRWJL;$!7\H MVKX@V$<%<\->/SWD?*#KHR+MH:V//^F"+,2QNF%1#L;'U=-F_94_\]6&_ZU: MRBU3Q1*Z\#G'F&&2)O*XF600X8#"0B04)JJD@')*&#-J_VM#=.(5VE$%.[(V M$#F&>AM?J5-IPV[M#A@ F@,50SS4C)'']/=X,3*PWC5@Z1:TR%%T@"8.O6AE#VMZ48&%"O2G#!P3;J2]# MW0_V/:'T1X1/?%2^C**1-D9-X?@(\QE (TGVS)[9&\ZI=QI*[X-D\F/3;+ 4 MX+-0&8*+!*>HP%D,TQA1B$B6P)Q@ @45!/$DS"@/+%/NSI":V-A]V8,+U D: M*C?#\H9B1%-F5Q%^Y+Q3LQ!G,Y MKQ@7'\127!^NQZ?K);W&T;"4V,V_N-WZ%J?E*%4CU :LY*)L^PQ/ MYD]\.L2M,74C/LT%0G.1[W&GX=/58#-?N:H9H KM=77_]@'7][Q1_949H3R" M-.*%NEK)(0XX@DG 2<"*+"A(9@>:=XJ,S??HA)FW1Q30EJJ=@W!2/0G-"4MX M#K,L"A3D%H5YGA&8RB$RE(:98+&-$W6M?]3>'OA4[!VE<:$\>0DG20QJWLT)N2A8S3ZK/T=\+MN.[JKI8M?J@_V M*W^JZO4B3*)8>6"08)I")/((YFD:P!#E. YPAA)!3"^!SQ&9>"GV9,&.+F@) MF]\!G]7/^%KT);7=6G00V.H.^))$3I? 9P>=[1;XDEC#:^"+S[K? W^I.5O7 MCRNG:^"]E^>\!5:$N8H2E"N7.^!]H<<7E1=Y+4\<9T6=Y/[WI%177?_NCSC[ M[>])@4Y=_IY^T,WSON/T854MJ_L7C9C]41ZV5O3(DJR@D$A M!%%P'M'>J M-X95)O#!RY.OZRTU\,ZXK=(BFJS83_^*U L? RZ4>\M<*K[HM H>X*'@J8$@B!E$BU9:G M(H5)$!.!DR#""!F'U4=)3;SX.MJ@'!#75V(64>=Q51D$VKTIP&Y=]K(/Z0)% MV"5S:EP)%C%X;\JX&@A6G/LV?$7>C40=#<&/CS!?+-Y(DKV@O-D;;F>$CUVJ MVKLN4>WCZI92=6O:WN4AS M\KA]3P\\V0!LF.O,[%C@50]V]NSC-D/QW39#L5R!K5XN 8]8'P>,9?5T%+A, M;]9C@+'XAT< \Q?=UO^@LE"WDVEN-^N'JE;968N XB!1N#DX56GAA,:0A F& M!FJ9!M%^J:M-VX WE+7K9O:WUIB5HRIS\P(>%** MW?(?5@W?M,V;&K C[&_9&TCG:<&/49IUJ1N(?+C(35YQ6][G.ZNJ%*)!NU^< M)8)G>0P+AN5:9SR1/R$"XR!%D6 1CP6WV^5-24^_V5_?6-I:G32F*,L$@9P) M>>A+XQ 6/. PBQC-%2@AXT:!EBF5Z5)/VJS+1^WS[YJ#WG2-Z4\V49Y(O2(- M:N2EA03@,1!)P%*=ACD(;N(Q)U&N/DJ$5.9'*S':C*11AMS5I MG-H=H1NPOWP54_ZV)UMQ/>U5QF1GW;ALE7&XBUF_[[BE[?N_\I_UAK,>'DF. M?[MBG]ZS,DMP*R],?<[3X;VZ]6T;V?E#@_:-Z"?B@%C M-WHZ-+O#7P]@;F] Q_)$>+?3J-.7%?7+W+RV=A+%'EGD::@X7)'\C3^45'+0 MT5.M;IY4P+F+>=,@B:1;G,%$Q+EJ/LDA3H,8!@BE4<1I)(\FQGQ)_2K S;"/R@__/X:[D@B8L+DO\:>1J$.#GEI7A=LM[ M=GQ=F)B).WIC MJF#.+[A'R&,/O\/=%06/"LCR%$0ECA0\<0YQP"ED4$I9C*F@477.(=>)J MCA/NZ5#!#=!\@1UC0'%V90C!;6K<#LN3*]S[25J[G3V7I_5_ XAF%4A>ISMX M7Z6ZB4[E;CR]ZI']*C5>.L]?-[B;I55A1AUE;#/>I#D?N*H=L ?[O/JJV%*% M(/*!3Y7DI/OG&]R4S:_EBG]<\\=F$;$0TR1A$,<9AXB%"!8%S6&:D9!'01%@ M;-0O;1+NIL[>&01LNZ1/Y7T,SY4]QT"72W1,ZJ>&7 /--OA#,0XTYY:]U/W. MJ9FI?K69LC/9KS))UL9[$F5Z,N)^>9O5F$^BUD.C/@T19Q21)UZO7[[(-;"6 MA+9.^BUIUC6F%A 9X^-,MV![TC= $]?K<'?@_:-GP&\+*C-A_4%G7* W-X*& MF?@G@#0,7W3[F/?;X[W%=?VBED_;6S*(Z@2RS5.3G>@];?T383RM.I'29SWO1CSA4<=8\OL'YMFK3L\W572#94,E'$>\I:5T9 '_SLNT ^%:AW-U^+YM%B"A+ MDX+"7%IQB))4>IX%IC"+&<8!)901H[P)(VH3&^@M0: IRA4K:;J&ED]JRS)4 M?*T.+,^.=N*[!VW'Q/(=A#U)ZW6"JF-BGPV2CK[D@'"T7'8%_H/Z_OXH80IT M-#+&U"[4<@E. !08.D07%3"^/'W*;NF8G!';(VB*J7!N$$AC \^'A&0@WAX@ MDLGS;GOJ84.(.SF,WB!PF&59) @D>9!"E"<(XB)(8(+E\:F(HPA3(ZR_2X0F M7J='+5^ (NRTH9Y5E=E>ZD,!=HO537;KW?228)XVTK-D9MU#+PE[N'U>?-XA M]/H+K^YK_/104IW/UVT9>1K$>4 YQ%E$(<(Q@@47,<0<4Q2&-")F_N]Y$A,O M54W)(@QY6@T&0=>KA;-;ACMR-UT:L$/,];2P%B'7JX6^.M.W3>Z]W_(!M&F1 M@_D*M8Z*.!II/?WF?('64<[WXJSC3[KY -\V3T_+DM=O%:>K==M#]FO9_+-' M;<(BRY! 4,1Q("U+4< \+J0_P&A"N$AX$ADU0S"D-[&9Z:F#/?) T;?S!RZI MS=@^IK3T?N6_4-W4G^R/G ? MO#G#,?L@&/YV *1O==H^E-GHC'V%N/8GZQ%)_1^PSTCF>JP^'&[.P_0940Z. MT.>>U&RJ\"J]T><':SZI$"GP*I/ M/VCW;37U>G%7KI?\L_BX8N5SR39X^?=R_:#1!:45:![*I[OJO6X[_JYZQ.5J MD: 0)0$KH$!2A0AG1![[>"A_2@F.5;,J1$W,NP/MB6V_YD:U-]KQ _YH*1N> MG%ST.;Z*)]:2W?IV4I#QLKY"U#$O3@X[\.#DOW;+WH7B+ ;A"E7TIN*:(5S1 M+)]YZTSL@".2-"=))DU$5. 8H@(32))00,8"@E&11XA8Y=Z>H#&Q4=A1M,P] M.:4.LQ/:E4+:K>D=L8E@+$:D\08W>4QA9H#)LR(>0TJ>?]3>+_R\63=KO%(7 M-2ICXIG7+\K?O'U^BKJ-_5?^V&;T?N&U3O15#6+)LKS7 M<_K^^Q.G:\[: ]%G\4W^MA$JE[%:W:G:WMW&$ F,BSC(8, 1AR@LS2QVC M-Q?5?@-Z=OOSO9RK(]"8$I/X$!/ITUOO1K_,G(:,XP64 M OK5;7V&>_ @U^7-R^Z1+_A%ERJJN(LJ7%R_[,J;>I=O> 5Y^?M'7ZF_3N M5%*JE*^LF*[7VR:T+3(2)3GE'#):A! E"8>$IP2R.! DSZ.B8%80"*\CQM01 M^/O[FLOO@0.A"O*?%4EE;"2'H.'UZHA95(C7P K_5?;+N- MO=+78'A=]\//L>4MH&*V:X6V[P /NBZ1%S!\KA,+:+EN0"L9&(C6I3G(+V % M.NEN0"N?*B1I);P9X"9[O&=\U?GQ=7WY.D+,>ROZJA-U=-GZNMRXEL:NW.DUE MYI*I45&/JY[&'[>_SWO_G=/-NGSFGX60OE*?N4>+% >4!S"+!(GENBH*-J?B5W1B67;]ZN%]1N+1[)Z#$+X[(\5]RB MG1EXMLNR<<&&=V(7GOS1SI,?JEKPE8Z1I1L6JYQ'6C MP!K:IE26/:E^#)6]^MERJOG]4<^: WEO0"\QZ$0&6F;=/O@O=@1UF<8?_DAJ M)=3_)4=4EXF<[\CJQ)TK4IS@=:W.QPI4X Y_?]]V7WG#5UR4ZP6C:8RC2$": MQ9ETDPL.BXP@E;6"$"^"(A96;1/,7G.M M-R(-_]^--#WOGU7F35]'RT@J!*<$%KE*91I3&",1BR2-4L/U:T]ZXB5])_TCCA5!BXI=.]V-K^EI-6*WS#LV@.8#[*!Z M>DZ 9 5H7H!B!BAN)E.;10'T9.IS*XQN$PS53?J2-PWG_]Z S8J5C>Y2IB#M MMVD80%2U?$AI^ZD[#:O?B&X>VK^L*T"XOB@!^D.5CVSJ]8-\JJ%X"5[43(AJ MN:S^5,E"?4/#P5__0WI@"L&8-]([E0.4CQK &Z]6JJS@2=]>->#/![[:_KW_ MI3QD@)H_5;7B6YFQ[?B-5$I[K)=RM@R7:K2JT5%VP-09_">IQ:6&%7QZJBM, M'W[V51#N-.6CA>)V(\Y70.XDZ5YAN=L(SF#WE'/6?)!"Z$[?W<'S_7=>TU(> M5Q204WE9FV8.HU<=V>TI^^K1Q/M@'MB2]]HWP$Q2?WT#+M";NV^ MF?@G^@88ONAX,.RW"U4DI4Z>MRL=W*JYW'::\IEWO^VA7S&C&8F+%*(HX?+ M&&*($4M@R-(DHCCD-&16!T8[^E,?)(>;YQX;?=S$ ,C5BYX-#YS3:<_R(.I# MY!U4\W1 ==Q&(>#[^<5[_$W>G@MFB>%H!$,TCR$*$@Y MS!E-8)(*PB(A&$5&E[FGAY_8E$AZH"=H<18[UH+!,?4JV>P6^E L%U"M8_DL MSI-7R>F[?4$E-=%TW/@Z/9T5@LQSOG73./^4(2WWJY+0(HPCG M*%6-4,("HJ+ D*2B@!%'+!8(DSRABV=>D\H8D/H4'9N/;DC-//:E>QQU(&Z[ M]/\VZK#<]4NS!*<^J3,S/^-J/5P1[[K9!;P\PE&/">0+AOHDC7GAI\?$/(*= M'GW8->S 58"LN\OJVV&WS?_>MA&K!1-!B(0@,,L3 5%(Y9$B(A06:10%/ HQ M%E9'"@.:DX<>- ?]1?.PT7H?IL.:'=NHPV5EFL8=O*K(-O+0:J>_?E;*:3.* M6@9N0,>"S^B#L;S>X@^7*;,JV]QC6K\ M>1].7,SMGURCJA,>S%7#_:"I[[M:MD60DCS-$P[C$"40Y2B$1<(QI%'""$DH M*[)@L=+%P^SN!TISWXE@9 &*U@(<"6)N#?92VG4:>_.CY;$/IM4PVON#S=)? M(R-]6 #]%\HX/YZ+OTI:^8#S_[MRQX^G9/8$\1,LN&:!D_4W+D^C;;>X9UPN M%;R()/,-RSV3TGJC-U$NE_):)R+%FV("6GPM)M3\:O1A[5$M MB]_PNEL67WF70]M\%E_JXBIN)707Y!25V;L!UNC7;\6?3F)V=4&Q! MQ1=0C-V CK67+GSW>>4Q>.=%!9[VX>MXF77+]:*VP]W5SZ S!_6Z\]H =U?N M_Y+-IJ0M, %7,;J4!5#0-&FO.XL($QBFF'*!F8@+/@M$Q25.ISXM;5$.RY[L M+M>A2]?6>*JG(0^OR-Z>;FXGCN/YG+'9HW;;N-R _1NP%>"'@80P5?)KA^,N M\OG7"+Z9JMM;J,V8H"-"(-7E9'+8MP^*E>9VQ=[7M3SM5?* IX%\&\LL;YLA MIS,!.RY QX;.W-",@ $GDV1ZNZC %Z:>#>EY@?84YA'&(<%840*0V,L[N/AI_8>>FNH$K;UCAG=#%N M!ZZ7T&ZE;^_7_ AGD>!]E9!N"=Z>,K?/!J(PZJ%^ MCL#4AD"3!#N:0!$U6R]G=3)N#GQ(:FD0[(0T7CF7)!F)Q\I7V\U;_K#;L\\. M.,NRNB1.O[ N/F8> 7]AA6T 5X" M35T=_D_[_BW_CZH6+6J_',ZU.'Y(;=BUO2%NV^STA\>=5Y$-;R*'LLYP0+[()85[5H M/AQS]B;-9X0ZU:;YW*.SE0K\62T*')&PX!2&@<:Y8PKQ3IXX68)CEL81CC(Q M>:' GY7-)^U:)I!.7B8@]6D6N)I<1W;+_IH2@3^K5RT0V*GE]G' M3DT>2@,&@SD$O)SCTUN<7\G=YK$-5O^W/"54=4GQ\F^5ZEVM*C._2K]QD28I M#[(L@*)(%&HGHU >GG-(.6$H3E@J J-^:O.Q/+$+LR,+GK=TP4]/7#Z^&D&X M?:T)-(C\_7#3,L'5X9O1J\,=9#P8B'(#!I.]DP8H<7ZX>;8(@OYP\^T66/W* M.P2#!CR<7)0:47'7X!#OF-9_TD4[W65_#\*H^QRJ>V;]1]#^D0ZTY N(8]8Y M& T1S\/)?&'G636[%\J>E[)#R(#]XZZR;%X_?&?JX #[QZ:] U#H-T,5WEAW MK]\3U2! X"BE953@K(!>6].?$L8M%C <:+X P GV]T[]I_Y^7:>*X51L@4EZ MP L:Q"2.H@"FF4+ +@(."YJ$, BR (5I2$D:N;2K&",Z]4KKZE2&&YM;LXI1 MS9F=X7WKPVY-;MM6["W'+?T)H$)LY/7-/(Q4S*E5[+;RN=+B97L?Q)%Q(=^M%-FTKV<=6Z39_%F5>V5B%T9211 2Y%?3(.4(3[P=M?ZWK>R\(YJMT]QR9>:MR+PA[5'![Z7G[G.]WW=U1"UKT?L7>Z=NP M"">H0,/T[_$'[>^.=,!=K]GERQ=< MLK\UG_BZ:R5KFWMJ,M;DX;#AY4O'"U#,@.?F/X#DIVLK8W[E9*2ARU=1OI5C M&T8SU,L$Z:PVDCO=9QD1F.V>RT;=Y&2\K"03TCX>7%=9UP=FOJ M5)64F:Q6:^F\2$Y+Z,1PLZV<\Z(,%\S(4\Z(&)O'S5(A>;]3.8&TU/Z+_'G) M=41IQ88IV%_J2C7:>ODB9WNMT C^=U,^J=E=D *'84PS&,6I/#5FA$ 7RQ9O25[X.:VT:&FN8_P8!=P ;\VH6&O,V'62AI5AV[ M(IMLU3ID\09LF=10)_MU(3VC\B?%ZDV+AM)SZQ7ZQ*O^_,&B^&%K;L@4K\H\ M :?B=WS7KK[2O=$.#WNWJ>4NV<89=!+K5]ZLZU(5.NFG=(:K/*)\%AW$^$:N ME$6&DY2S,()QF$<0,:Y:;P8Y1#0-LC0N. Z,4!E\,32QC]2VORXU?^#__%L> MA>%_ ;GJ%>J%_,W7;[>V$'/73H"9;9U3K78VM=5HRQIH>>MBB#=M)<<-V#'8 MM1_OJCU4%*,28,"FSX[!?A3FK87PE>S,W%/8C_*.FPQ[&M?-6+;!F6VGXS=X MJ?"YOSUPKDSR+6.E,M5X^:YLZ+)J%,4W+_(?3U6#E_IHV<@AEAMU&E'/Z$M0 M*U@.KHSG82@2T2):NNM?9-?3;7VO.+)WXP73M M='YS<8KDI!Q,"?A#\PR\7G5,JDU?'KY7WN9U]Z=0ZY'O/PF1U\'\?[\#K?\[ M+^\?Y*'E]EGN0_>\^PO_(H\R?$%9%C&:89@R$4$4%@$L"H%@$D5AQE!21 6= MLP. (=^SQ& Z0/^]!@#2XG/50%V IS8+2?7T9-5RB>M&_:I% YBKO:?E9!MN M"#_>%%IN%1X;! R$N0&].*"3I_\K!UJB'Z=A@.44_"#M TRY_DLU$["<"M^M M!6S)NZ!+<:E*=BLI,T5=)>K^6N%55_Z9X8"K2U$894) A&D!<\1BR 0I HIX MC(11)ZW+I*;>$S1ML"7>YH0K\C8 /Z.Z&K?/?C5@:5+/"G^Y@-96"S;P1+ZT MX08KY/!)6$+_F,@W#MDS.L*,4#LFDNQ#Y!B]X0SV3@WNG!K6 ML0!JU1 + M%R"Y:*7!N0,>/5^Q. M!SWX ^VT(3XW6J>#8D[ =+J,1!$:)"GI2* M2&00191!!1L.19;($Q6*!0Z-5OQ9"A.O\98FZ(@"315(LK;]: [U,KZ,O4AK MMW"M!77H27-&F"N:TAR..'-7FC,"';>E.?>@(X:0"M2K7KT:#19W:9#?ROM5 M*4JJ$A^W/>B^5,N2RJUI=Y\6RYTV0)3"+%#IAZS(8!&P'*:IB%@81H3G5GOP M-_]8"3#D M2^MWP!D8=+?L>?-(C7GO4P>CWNS3H&O4^,\3,][^)QU(H[.L/-2=]N0 M^I$_KQ1VJ-H4!X5)NXJ_-,PQXXA $:8Q1"C,85XD$2R$("S@<4X%LZO -"-L M9&>NJ:_\2?'QLS;Z*GN-]1G0*N>DXTB[C+SGZ$9M$G;[@Z&.S>R[1[TYV>>A M&57UUEIA.EFW=;4[G6EVIJB*M)/?DW$T)#JK<;-3Q*%QLGS;L0!\J>>3L].) M%5W/K4604IQ'20!IDB*(I$6!)*("1CP(\P )QF)E7-9FAL6,J)UA6=L9E6^G M.MCLLDAN &^9L"S?-M,FB3+,D73VT[20OC_/I*EFJ?J)YR@5E',6VR$J>]3H M-8#(=]4:+R=161@G(E:W/"++"JDH+"!)")$'IRB)4[G;A6EFQM)8^PTAGFCT_+ZH5ST.ATR^,.2I-^E&9[FW^]V>UM)W,4A^OV_045 MV=?X6TGLJX+?C.B\]?E6BCBJOK=[VR'O;N##:Y]=N^4ZFV_7!JI+J>(B(JD@ M' K$T$QTL88C+;FD[5FHRR*';QJUN27T?5R)JGYL]Q[E>TJ/5&U4ZTI7 MB&&MR2>MR5WO0%]M_NSU,)KX9S'=4^+.M:LJ*?A7\X_[FK.GJ4#6M4ORFPV#YS]4E6LT:AA7[FZ5C =72O@>JJ M0E7U["[ZP2 ILIS3Z91'RG2/Y]BT=VNLL2(^#(C>$5\D8:( MZJ5-F'.62-^VP.=,UOS.WU3R-!6#7JFEHT*B7=6>H546&0MCV!EO:UP@ M[1 M'%?U?.FP4)*[+# J%<@G?-K'M+SSE/P,V#]#N<^YI%:S,9^B5*Q-M MCPCD#FGM><+\/,D9RH7N&DXR@4C(,6*$Q&$8XB@6L *_,6ES1X!#,NOCX% =#G#Y1P1X)G2N$WLM%U0F:OK-?)HQPS>S#]?\ MBU!+B)U0:X;V'BP)D]@G48#23/<2)S%&A$08\3!*XP2G.$U 7MTK969O;L4! M*:UZX3!SVZN-A+EK*\E3&S[^\$C+/Z;O1N&$3F,FN:)?ZI6Q+%G2F)D7U$:C M#]OV0;K;Y)HD&-8"J7UI[@LZ"FD2>&K.N.=<90G,6WI:'=WHFM?5\RK7G7)' MC;3H=G1FT!6-CKJ1%NYQ=&; 97NC\P=L4H'H9B=UGUR=H[]/E=5T.54;>6DH MF4]\AJ34Y5>!6EF2*(N1^I=$81"&/C;:7IJ)F]F13N0?\N"]M=8 DM R"=NX MV[D' ^:+ISCL9=<,5)55AL\D()#$'I? V.7S?!'-AKI-X'D<^]XXR^,Q-7L\ M?6=RE 6S=DPM.DW6,7[K6B;TVV>Z6NO2I9^+4B\JONIJI9I6YL-J(^ZVXK&Z M%U&,(QQFB!(6Z7YM 2*@>Q-]Y>)22+ M$FFEO-^U,EZM#;"=!0QGPQ7^7.C!XJ%S7XKWX@& M4WV, F06+%R9#8L->ZE'9W@S'>&9&.CZOJY/U.M$O6$'+3H7V5D_S\VFN@A>AF>^15W3Z6_&$@N$W"QUS@@H+)WM-!ME"]^HT M3]0YR^YBC"T2CN(.6/RBL<@6G//X9#V.+6?@NT*/>1^S/&)AA%&41BG"^EPG M8SQ$-)0R8W[@IZ'1@>CYP#/'F)8X[_=&F.&VY,+X\4APC4DP#S>UQH+][U3U M*TC_VH$6YOH[5?^2XN_L]_"3?UU8>OWRFJ_SOU=OBJU@+W:JSK1DZ M+#H-+P8@8\[L)Z<]3%J=/*V4]US]M6MW)%;O6URB#!TX+^M69VW]KUK\_JR^ M@/=93O,L%FJ#'VAZ;LUP0;(4(YS%(4WS+!0\-6.XN%85B$/9<5X\B%+4.6N MBX5KL#6X@UD(+U@ :HN9UKW%3 UQ S_/]KOQ:N4\K9VGU5L(8\"USD)8VUWX M*-&ZX4(A/7JDA">+LLD\U3PW;8O6CG&>KMO";LVII?/5_URMUS?>FO(_:H;; MAY=JQ=5#U8Y5VSJ7L^;]DS4,WGHE15VHPMM[)G9"X-CD=DJE;OU*I0?2.V;U M5^MU\:<6T/*''__VK^K+4;.J56J'K098/=;*TS76BOZ]%06E#_\Q=6UF(.O MS>B%V37C+W>5Y@"%DTLV%^/9'9A]*#;?]1F0OD/YIH:H>Y(+(?Q0A *)F# U M#882$>I31)(XB(3/.*.@BMP^(3,OMK5(5/=QTD)O/"W6J@U\+T!FQU;7F@V; MIVPL!I\_C9GDZ(RI5\2BYTAC1IZ?%8T^"S\/VO?)J@D:6!Z'TJ>:ODX0A).< MH(Q0BOS<%X$(0TRD-#T0.AEY9N<[=%+3PLP/A$ZMGSX1LK8)YEF&YH!.A'I5 MMSH2.AUIL3.A7@..#X7Z'X"[Q ?QG:Z;$Z8Z]J:^Q'Z@LS](%B+, XHR(=4, M%40\YP*'"3^XY24OSN@-&P%S4!\.T=UQA''#F =@%8RVU:V "O*,<@,=L27>]T3#7:NQM!'JUQ!FJ M&L:-;7/]/)U,^T[6:(:MF8B-)Z!,> MHI00G6>$0T1E'""6A5+@.!6I +4G'18U]T6'DEB?=-0_',FVVH"-(&;FLVYP M -Y:V$( =MYIZQPY\(B@19UXVN!S1S9XP^*>X:S==49"*7-]89 DF5J6$EWX MCR/EPGDJF&!)0HPRDWO&GME=;1J@PSN>+]7B_*J.YO8MS)?N6>ZZ1;E%3_)7 M:T)NT'7<:9OQ@?BQ[3C^ZEKD>ZPK$Y(XU50?J5I?4XR(% GRB<^I6EY',@(= MFAI)76HFY_H'<5##R11^!N!5L[D]+(XF]AN/;DU9'UU-\OU&SSO?G\G\$:;^ M?A@,5P$#+\^0?MS3;?R>9X2D..0H4V%"TR$21&*9(4G"C/$\S8/ Z(375H&9 MX\=%^G'>JN"5^IIRUG3C/KC-0LR<(,*BS72Z<:>.I_6Y\5J-%DHX'L%BB83C M/O$_3L+Q"#B@A..Q<6RKG90KBVJKL[ ^BNT](0&F 5&[EDQBA"G.$6-YA#+! MTY2GOHP"8('3R?A+K%%6K4CO2ZRHYER5.O58[JVHZ'7WA0J9>TRYKE_H?LSA M>+NKML6C*&\[;H YX84#;D_.%H6KD%O=\[!1S> M#Q@;ZZH%W*2\9;N_F9I_T?C-^$4[G]<)8W<;-50=L^N&S%^?2D'S3YN_TW*E MZ0[TBC^X#]4"G,410\(/0N7Z0J",)5RMTT.:^30/0O40P/5-!<\< 6K2CM5> MCQO=-W)5>56MBN[_^]PJ4Q\5P *%,;9F\6(.Q&!AHP;K[@BL6@GOZQZL3H_Z M&,!=\(!:[BB&&(M=-)1 P3B/*.#W7510?MH^B-)=\63O<'-O+L8K &N57!1+ M]D,U'B)F0@FX60$ M$A=Y*C]CDHB^V6\8C7DJ-'CA9#CK]H7=GQK$],_*GN: M\J%[C'V9Y8*A.(M]A+$4:B.1IXBJ#03.213EL%O*?C$+K!UNO+4N>-B.T6M M@!$LH4&:)4C@*-*=NA-$:1PA21.U,\WB(*08UMS\>FCLFYD?P/'4APWD;!] MR&RQ=+W5L.!W7O9R=$#:5LS]2KFWXL=89$9P/K7+GNB*1E_7?:Y LG M-GCE^L9)!N1@B1]'69 G*$Y$CG"@%BS*W26*0\'\, W]+(AM>RG]_V-FDVT+ M(IM$"2#P9K%B/CAAX>.L-]/"C&QV*,S0H>E'8V.S V:LC]-L3&R=L*^B9DVX MW>1-V8=FO&ZZ2+:3J,_R($AYB'P2A@C'08X(RP)$<\HBCGW"(U"+QRF!,\>@ MNG5'G%%!EQV3L)G%$Y=@P")(*[E&8B][W[YUAC8RAI:Z8HJ>$KO]I!8@52T;V+49"F>6D3AA MOD!48JXB:Y*A3.?%1D$4)F$6$(4I[/AE1D"MSF4N%GR\>'PL.GB]XJ#*C9A<,?-+-3LLIZ_89H<1N..$(CC#K=M5D%C=P=E)7.Q&[BI MCN_GKAO(,@.0\W(G\@^K9MR5J-K;"[7F8F=.Q>P4:*F7]R C[8,D3-;X+C' Q98.BB.%'"8"0@RSE4Z MH)G097,"04!<) ;"WKZV*]J[5?545'3]2UGLGJJ[37N[65<%;=0F6*G2UGP4 M&_WKXE%\[2A"W]"U/CS[^B"$UNXVSVN.4+KN;<:- YF0(*=J,^MK_A&?J+BB M.YG30) P)'$8@PB"7L&&V7?%C1U>8XANF-I=-A_;XAV,L>W1MMRG;G@V]V-_ MEK H"_\8U?JMSJZ$HSS&UJ4,>$SCQ;["LWVX7M MC;<1P$PL(^C,(KAK0& A=X]%(][[J57@+S?>L0[J3R,069>KFMCLN(9U5.2K M%+::@#!4[6KT[I64&>WHU;Z8B\;<9S2DNOM&C' L(\0"EB,F4IEE?I*+V*@= MUJ2DF>/ 6WVC6M\M'M@NNKTNL )N&"RS(. $ ICG'PK2.YFSE+E-6N::D.)" MSNLP3PR9.T@Q,?C"]2E=W9;XY;=-Q_,B\O?_XJ*JFH8>]]PG(N1)B +"]3Y3 MU[+Y J,HR"1)*0Z"P+_?B.^ZV[N94X/D&WW+2?,M/]8"D,E857_;DU'8YVA- M(VGF[^[1<9&AM=?DQCO6Q6N4\1IMYLG0,@9AA@2M:=FOEI]E#,M8>I;Y(':A MYHMX%FI3\[.RY*W:X.C@]=^K[4-7BG\XTDC2C.:A2)%D,5=[B5BB# 3GO2CGGZ>T-M M=Q1"C,4N&CV@8)P'#O#[3K.ZFOR!NZK:B5P7XO)[FG 6A9E /@ND)N+CB-(P M0VG,TD22D# "BAFF@F>.&1-)1ZM:D:;VGCO/-KI$V2S(S($=+,A,YQ?=M6#1H^KP919=B?X14HD$P#'.(AM^W*;@_:V%Z^[@UKZZ_?'?VHXB!;KD3 M:VXSN\>]VX7),"^VM198_3YLDF6I>\^ "]:U#YMS6L0^\IQE#LS^$D)7Q=]M M6H+#M_6,]76K%ZEY)!).!54K>QX@S&6$,N(SQ!.6288EYIR"\E\F1S,YEZWB,#\]0B,FKQ"@=&*O_$:!;Q: X9# M457W,HBDB@ Q"@*I@@-+4DUMD2,_"$B6R2C,20XERH(H,'.H. CTOBN)S8W" M6LG5Q0,;M/<\MJ'*=+F+8,DJCU2APD ML3Z73! F+$$T#E6 BC(F8DG]/ 4U^!J5MMS"Y7.[<'GK<.$"*AQUAL-5RY4C M"&8H&36R<=Y%RFL4BQJ9;;@T<4C5>R](G% 98.3SQ%<;D8BA+-1.G? 4TY@D MDB3W6\W$9.C*]; @G]T/;OR%;9BA:"W*AGD71*\[H]^-&V#)D.O:AYI!7X'K M=M K3G\+/^NZ_9.6>?56+3G%M^+7S=-*YPK>;?*/]-$H#V=JC)EG+"W"_(!K MU-CI@RY7=@(]HY;JU6+U[OG;ZE%XV\+[]>/GNR.>Z3KC.5\]K_*=B@>CN(". MPDR,MCH2&QUXL:,Q$_..C\B,GH>Y855N[[^(JLOBK9N@DE3F.%#[7)Q+O:HD M F6$8Y3F-(BB3/J1;\1)TC/V_!?:JZJMF/Q:6A M,)>TM='8\4:L&9O*U&M'TYCZT\'C^D9=<[#=%+EA/WC7G.5 M53"?,3;(V$D&E1^9CM0[C8>H'P[.<3G2(JXQ:$#G&,,/6!8@[E@E_KE3/O;^ M6?/_'1*%(LQDC!-->I5AA..4ZXZG"9*1%$D8$,)"6)G@D*29W>8@UQ//<*[- M88#,=DE.S(;YU9'%CU!_&9_JB#?%NRU(]*)JV*7<;7M8DHLO#VF5P=';>.[.Z"Q\9+P/^Y:GS0G(M)X?'HMRN_MWRV#1Y^ZO-][HX M[9[&F1^'88ADF*9(;8-"Q'*UQ,N#*"5I$,F(&[6>-!$V]\74D6B]Z5X7=&-# M:CJ*EV$X=80",!2> =#TCJJJ75V"\W84"7BD,S#1590:$[5LA#$P^B(ZF+P# M\^RZPJ9\N?_MZWTF(AP0[B.22MTCCA%$,Z*<.,:84LGB(#1L7G(8=/:ETV\J MN*F)NN8D,'3.(Y/'7=#.#)BC_?;Q[MO[=][7;[??WG^]WJ4N51XYG&@?;ORF M_7#"PL-8'.;$9S#0C,X7JQ MF"'7 F*EJSI1$Y'+EH<"0+BH"H6\:YL=*E<;O8Q6X67%=GI:_:R^+(=3.!&3 M( N3#*7UKV3.>8II8ZR\B<$+=P!J:9\9<9EX;OV;;H M*'4BYV<%N2A+D=?G;^T,@_;?9+AX9BM>S^6/=0UN_7V^IO@C]L5O_J# MBD!W6_%8W8=1'F19SA&3B4 XB3 B,L2(TRP-XSA@"956.X*9%%YL-^$=+;6"AMD%BWW P'W+#_"QV>YYW']B]ANCF6%TO:F: M2]W7V9#-#/[@9FYNN; IA*UE=?\_'][_7 KQ;U'JX=JE#8MHH%:"*5+_ZB+A M($%4D@21#$>ASR@ED5&^\J"$F8-TFOE*JM>*-8NWPVB,!T@G-L(BVJEY7AVH M)E=VAL;F!=_I^%A_U^8U^D24L?%?Q%JSRNFD[!8'V>*@WA=_O3Y43]K6Q%;] MF Z8V(^BH Z:PR\N$N4F]>["TO2#ECRDVP=1MDS^1P&NYOT^')&$62H3/PY1 MF/N:DY3X:HLIJ HU(F"!5/^$!,1):B)U[LUFRRBM+PN[!A1[KDZ]PJB5W+=3 M-^E-<07"9@LZY[C!8M@@(K,2Q8.,=L5W:B1S6>Y3" P7/*B@ERW/J'26QYOS M+(^C1*0W+X='VCRENECD_3]WJ^W+W:;:EO7<4M7:?GN@FT]/-8O[WT6E9H^[ M39,A^?TH^LYXP'B4)GALY'&N MH,=>^M,)M:DW7F.L=V1M.TMNE;U>:_"-UWZ/U->H,;JG.WEMN*;I2&.+S:&=3>JO+X=*3%2HU[#3BN+>Y_P&ZYJDGK MA=@W"#CE\FY=M'JG%A AH7Y,9(1H1+#FR&4HXT&*(I9'$?'#@(H(0GIA*ACD M3;:T&.NZ+N"IE0I;XQDC:+8$FP,7F%\V&MQXA^8=E]3]V\)CHF:^<;=:@5KN M:#%A+';1N1X*QOE4#'[_*EK^+^*1KC9*CIJ?95$^ZFSS3VR]^MZ-1 M +\N#%BSD.(<+E@\V2.U5\ [TL#[=(24Z^X?(,O=4O9/R'P-OGXS& ;(^@U? MM@TC>N7/M[OV#K&]*=$%$AUQ]^>BJLNAJO?KU>-J0^OM@#9>7RP6>O6O%..Z MVW.0A$F8)P21/-%L_C1#E-$(81KQ7.JBI@#$M.=2N;D31?_UU)!=ER)7&K=% M0'\6Y1_J(U.^]M-3HP;P&,OIQV,:LUX'=&AH.]*ROB[I[OBTHC='G0/VRGH' M;>N2U$9?O:"JCX%:E5V&0/= .HN4#E5;.*"Z!_4R[LX@PRX\ORTVC2YJW+O- MY[+XKGRB.T_@(6,)#U6X3?(8X2!--2V[CY+,#R63+ US4*?&,6$SA\]CT=YJ M@YY:X;!H.8J66?1SA0$LFIV9[W5R9\B]-3'04909%;5HU# Q^CP*&+UCY]6? MR]6C^**"1/O5S")&9!80G3#%U2Z-Y8ADL4!9A)/ QTR$,&Z?L_%G]MU:FJ?% MP;SU' 4S![W"-IA/'LR:P0L'K'#D>.>C+^IK Z:=N]?08Y9W__OV[._+LBC? M%F4I:L_5B9,U 6!S?W%@BSBBLZNS$.YE%D9Q+")$)%-.Z/M"_13Y*(TEY6HR MC1,)ZF-PO4H+)B#5*GI'.M9+ZA/FQ(.>WI&B;>8-,#_=P<=E>*V^Z(< O ]? M!'_XU;4SR%S=.5^OT+*7QR79C]*+9O:?6@%D//JUSD;UY^J_3& M9\^K<:NT>6YZ/NS;R8N8"QQ2Q".)1_>JP**C![(!WT&+KU=!UVNC4GY^T0FH#]!=O MKY-W4&J6#O;VF#@*;Q8*+!K.[ $Z#U]7C'1-WV8/4GN5\QGE7.W&=1?!0% M.&ON^+4%\N8^O__D?7S_"90Z=V+9>(BXTBC@TN5@C_L,NCX3;'/H3L9:,HNN MSXBS/+K>1]QETGT1&_$G77\3Y>-]',8""[7[H'&0:DXB@2C!$?(9(2)EV,<^ MB)-H0M[5C6A/C?5X?0+=,7!FT[)#.&!^.)@NUTKWOHTAXB1+ MKL?.&9/CCJ6]>DY%3I.YCY(H%&F8H1AG ML5ZZ;#7-E MN,5@]QVUR)'3]LM8U%5'S3QWT/&'+X&K;%K)7DR MTG*](_L,.&D6V?N W<1WM]%MA8KRY;^+\H\Z8XB+]N#GBZA$^2RJ>S\.N.0I M1D&L)D'L$X%8Q@B2G*9)D.$P#1ED_C.0.;.;:<$Z9AJOI7^J_5 MX^[Q35&6Q9^Z_P1]HEQ-P[=;W:=6_<5]Q$DD2::VK902%1C2%-'(%[IN2TH9 MI'Y&J#%[&E#XS!&BE>^Q3@&/MQH >,>@>(X'C;E1@D6/IE7,7I,;KT-LKXS7 M:>/=;KU6GQG! _"YS0BB+=7;D_IM30WR./C%\^C6XXU&KLC?+($8Y86#CKD< M99REM2=LD NER; F1ZK^,6"UC('(/!<5L"F*FV5W53PR]Y>V=HZMF%GNE;MHU'CH/% MAST1-8N)B*/(1U&=5!C',-1/JE+-P_9-34R[8AXX_;.>L92U17-%DS4%6?=MMJ M2S=Y2U+-[Z4,:4I8@$(1Y B+G",B?"/8D?;4G\ M>/'X6'30>L5!GQN/+0F\67"=#4Q8R+V@0CR4RC>J>)^.@:RU<1>*K4!P%*!A MLA<-VU:PG =SNT$L#K?J3C3'MPXM;W57ERY$FHHL1W4+&!P*@D@4I2C,>)Q& MF?IE:+0F,Y U<_AN&B"=W*^TX@&G+Q-H&9Q4N<, %BJ&S;=I'3"! ^#0R1T> M=F=,%E\+V&&2F8&C9T<30RQW5&1FR\G)D.$KL,B5B]7]^\WV]&4H)EC5B-ZSY*_%^XU MTLT<=A*L\:CE$@)8R+*UWM@_34T;.0A20S3+%?7#894R.? B+FMJ7N>OQL]; M\]]H%IVRC@)?5M4?W]0X7:9G'/&()A'B,B9JW^C'*&-!@'A*XX3%(0M24%KW MB*R97?9$LJ=%>UJV9=KG&&9F.Q5'2, \UQH$&PJ<*?/<,> ,2EJ: &?*Y![^ MF\E7+,LRNX3P0WG4?2*"U,&PB1?UA"./ M7DN3\_5!S=*Z"$.? #>,*H)3RI,D0XG0[)TQ#5 6JNDU4RO?3#(2I F(O7-, MV-S[]B-JE5HXTM*]^K;A2L*:'N#,/-45', M_!5(7$$=,VRBWH@-?WBDY1]U$C/%62AYA-7F-@N0FG(3E,6^VO!F,<'< MSPF&7;=,"5Q^[;P7/Y4,;0>@Y1KZ"EBN7D@;(W+]6GK S+D6U.?B7G=5/6#\ MY-)ZZ#U+EJ;VX'^_%?]ML]I6]R(D(HB#$.4D(IIE4A/',1>-/6UR=O=U56[66+]^TMQXT]?V YC'*L-KRXD2F*),)02&/ MNHMU_LYRUU8#VI[<4PT] \]0 M_OS\U.PE#?.0N^=G=O'/],5[KDZ:QKQ;53IS?E<:7H&?6#?N[;:&P;Q\U"9W M>^(^8ZR2@_>#+)8"?*[V<:+OQ>\L#Z(Z5M(/^PS50+)02.HCF7.]&Z49RE0L M0()+&HL@3'P)ZF9P*6+V9)$])^\'V_3='EP,3Y>NLA9XI@0S%'Z,-&B+J\.C M2P'+'AD-&GAQ4#3\I,7B\Y>W=_]5K'4*6-<4(\@3D;*8(A9)@3 7".;%K871#M(G9KC?&1#RRDD3 M8W/$LRI=W._&M4#N5?^[H>B57O)93<\J^$1LA5]OJ M]G%KNG^T&7MF?VU5\CJ=O'PGZN9\9VJU;,I>I]ED[U(WP$YO7>?&%!8)9H,3 MM .^!A.KW;*5P,5VUM? <;P+OVJ<:U-']C?5AV+QC :)8$&.:$Q3A--4(H(E M0SD/>913G&?2:!MA(FS!U!$MW#9/I _HSL]ME@^>TE!YBHO,\ MD1Y1KY0G,FST<)[(R#L6W'U_TC*O-*^&BAN_;IY6^@ 4=/X\/,+,[MD(KCEP M=*\*[YMNTJ>FM5\_?KX[.L# \Q532%P>Y8];:D=,>#PL,NQ M!$Z:=D(9./VTY6:\O4VJVPWKIEX/JZ?N! >G,DW59(J"A <(AP0C2GB" II) M+#),>0SJHC4B:ZE;X_)8-'!+/H*4X;[J\(DD6)M"K>K[3\0VSK9>9!83C=C3'2 M9J%A+OQ@L:)>@Q_4N.G#;\XEN@T*#GETC$4O3JX#!:6/<0<\AL5=WQ?Q+#8[ M4;UY^5P6^8[7-XAG#H$SENJ].<(\3A .@E1?_#$4XPCS7&0\CLU)1PT$+AAN MWJR*IT8-?<;UK2C634O=KZ)\7G%]+-9H"[A7,T%T/,3,@1,LK'3"O3 MT_(AL<0.&< =I&.$[&XEE;S=FI9>?L@-JI..6_S8B]=^OSPUGG"5(PF:UIKP>5NJX550WGQO*Z5)C-/<%RGR(QT@ U\B MYD<"I;FD.8NPR/T(LBP;E#1S4*QKJ!O^\8-DR\KR8;3,EE9.,( %/$OSP>NE M2=,<+8Z&Y2RZ$IHT]WS9,_W"D ,??T;*___XS__H_D;]A]%*_.=__!]02P,$ M% @ :HFJ6 ($?9/,O 7= ( !4 !B;&9S+3(P,C0P,S,Q7W!R92YX M;6SDO5EW6TF2)OC>OR(FYW4LT_>E3E?W42@4V7$F,J21E)75\X+CB[F$2A!0 M : B5+]^S &0!'6S\W-S,W-_OO__.UB]MU77*ZFB_F_ M_HG_F?WI.YRG19[./_WKG_[^\4=P?_J?_^.__;?__G\ _/OW[W_^[H=%NKS M^?J[UTL,:\S?_3I=?_YN_1F_^\=B^<_IU_#=NUE8E\7R N!_;/[L]>++M^7T MT^?U=X()=?5K5S]=_HNR7"FM/)1<"B@=#,1B%/"@K="!N^3]__7I7S#JP%A& MD%9F4,Q)""I%4$5A#@JUU6GST-ET_L]_J?_$L,+OB+WY:O/MO_[I\WK]Y5_^ M\I=??_WUS[_%Y>S/B^6GOPC&Y%^N?OM/NU__[=[O_RHWO\V]]W_9_/3Z5U?3 MAWZ1'LO_\N]_^_E#^HP7 :;SU3K,4WW!:OHOJ\V'/R]26&^D_BQ=WSWZ&_4[ MN/HUJ!\!%R#YGW];Y3_]C__VW7=;<2P7,WR/Y;OZW[^__^G6*^-T,9L67"UF MEY6K]XV6Z1; MOS2K$E\LK_YR%B+.-I].,DXGFR>_BJOU,J3UI##)0_$$2.\5*"L,.(\"DDXB M& R),W9;!)7\%=&_4= *TY\_+;[^A1Y,BA*R?E'E(S>RN?>ZK8Q.H_MJ17ZD MWYTPG855W@)3Z$!QF\ IHT'HE)AUDK-HSR)[_VVWJ=[7[:ME^FZQS+@DDW+U MNK!,]_1\&\R[W_C+E["D!T'Z/)WEJ[\NR\5%"UVM%PTDMU4+D?NG[XCK@LLE MYI^W6GF4N0UG:S*TN/G-%AK_?R[#DIXX^_8>ORR6ZTF6.J% !)4SIW^2 ^^B M 30F0>(?+Z2*_F>2*$M[:X<2 J$ M:6$M."1,:^E8B"(4CJ8)(&Z]]B XR/[A<+HL.P'#QV68KZ95\#M 8]%HHN,@ M4%E0R"U$Q0OPPK/RQFNG4IO=X=A0/>+@K,DV(7VW^.G M:17"?/U+N,")]IIP&A4D84D:618(EC8X31&9"#D7;[$! FZ_]2 4F-Y1<(8D MNT#"3Q3D+\F$;03_@>2/KQ>7\_7RV^M%QHGQ KF.Y.]$;4 E\H@#TQHX17=1 M41CNY'F>Y %$'(03VSM.VLFY"]A\#+_]E$E\TS+=9B]VEM SYH+2&;1VC"1% M^Z!G,H*3$8O4BD>K&P#FD=P(Z<4ZR]O!XN;%AZ6NV.\$%2<*M"=,;+;&M\MW MR\77Z3SA)"HT69<$VB&YUL$%\,XJ"!ZS4-K+I$([8-QY^V'HZ#BSV4RT/4'D MW6*U#K/_=_IEXSI1:"VQ<$= SU4T7(,S 4%*]%P:;:(]+]/]^+L/@T?'"<]& M8AT9'-7JO5IBV-"M.,7:F@(P1L$6**STQG[SXOYE<9F%P"><$A [IOZ.S$4(( M$73T2:(6UHKS\DT/O?4P#'25JXI#SH'P$ M&;T%5;*$*$. XCRWZ$U(H45 \/#;#X-&]RG(!J+M B(_S>EI)([I5_PAK,.. MK8DR25* 0P#W@8,R%/[&A E*LMRGP@IC+XRY? MAS5^6BR_39 [;24K4'0B)UAK!2$A Z3=D+F8=$B^ 3)NO?2PLJGNKZ1Q7JXFU41>E"L7"EF"L78' ;2;#YW@NUI8B70,4\,Q$2F+U3H,T1!WE.TN05.;K_V,&ATG+D\7YACGU=M M0Z4?IZL49O\;P_*JM%SP["R3#E+R&A1Q4L_L Z#&R&-DR-)YM3&/O?DP3'2< MU&PBTDZJ]6^8^)$^64T2"TQ0X%P+RHD%81B$D(@%9E!$CDRD\T*11UY\&"@Z MSG*V$&A7F-A>1-DRX4U&I82'[&.M&/6"A*(\8$G)6B.K-6R(BKU7'X:+CE.< M;80Z,C)>$0=YP\4L?)K$&%76F8%!^D$]S-]<.Y5[;_/PV6>KC&_7I!G-%]MOJ#?F^9Z2?_[,*NW MSRGVPO7J-DN'7>8^YO%-KWN?S->9%\(O5_ IA"^33>U<1)^D5\T]E TI8Q0UJ=B_=+D6Z^6!(N#),#<0]XIYTF_J=/W[-A-.\:.,"Z*A"S0(+"$D($-I8GA.Q M$-0@F+E#R+C0.4>S#X+D'#%W@)778?7YU3S7_[SYS\OIUS C9E:OUJ_#X\DF6FJC@/Q=75(C99S'70!;@WYC5)'\$(J<-HD5KQPJK3>J!\D9)R& M&<-!Z'QI=P"95U_#E#Z>X8^+Y0=:!+MBJ2FN?L"XOOGNBKV4C%%6._!8KU%X M39QQVO498D,PP\?D+ MKJ]XB2$8LK0*+)<4]QH1P>4H(96K%\ANQ,)$*G?:LMM.K;:TH.@'/@@(3A2B!&1/S4QFB4W"S__YQ6GX,AY.3 M9=L!+MXM\4N8YC>_?:F)%'+YWJX_X_*6C CJ5J6:2D,>B"6G-'BC"H@24^0A M1NE!Q"EP.(&N143@F M>.O8[7C -#_"&G![.EFZIT-CL0ZSLZ!1T\@[RO\7SC(Y;>^)^FHX!:IZ#.M M9DSUDCIMJ(H[<)AKD:A.P3V;DG[TZ3T$5V?E>MK(K0.;\&ZY^(++];=WLT#K M8)YK>N'+Q8Z73%%@+-'0;IDU+08J4F M&<)F0N\ 0&^)DU#OH?R,887O:Q/IM^7OM&-6<4U0Z,*DLY"R4Z"*Y^"L*V!U M=,[JS"U_ZN[O*0AZDJ >8J(F$&HG]@XPM#VLP0=9T5*3.=V4$M8&K[)PB*8P M,-QG1)Y1FM9NRA/D]! K-<%/*Y%W@)X?\$L]XUMMI?/+8IZN[CNQQ"WC#(B; M5/MD9'#DA($IPN9D(T?9.E!ZC)8>HJ,FN&DB["Y LY^-O)NU?)72\A+SYAX= MKM:O"OWWU6RV^+6N&?J=UT3P=/WS8K4O ::Y*(:V:ZTI)%2:60CH(PAD,A=# M/]6M][KV7/00E34"ZJ@*'A'BF]BDNI3U(NA7XJYZEJM)LEK6!F,@E%:U)E_2 M HT>DN%)(4>!Z8XU?"2@N_?H<5H[MH[FSI-8!R:-P!SFGZ8$\IUQQO6;W]+L MLM[(^.MBD7^=SF83)501GGBRHB"%IXG7?&AM*A&\5LE%SYYJ-W]:KOEYNL9I M #F V6FNA Z =4TW>L5L4:K> (R@HJSI,4M[/$G',!VM%$\-7#D%/$-AZIX>-@ M!6)'27+$%/$5U3]/0YS.MM[4/&\N_GU>S$CJJ^W.>2T:C$&$I P8VB?)32*I M1&,+Z"*=9X*GK)]J\W<*0@ZE;=R\\^#EJ8.HJ /3L\?7W1,;E;B+C!:1%\2. M\@'!"1: ^:Q3H=5H^5,WL,X$6U'5P9TF MHRP%9C+L/)#37PL&K&+@3/$VNB*Y:0VHARGI!DQGZ?F1&IXSA#YV9+U+'>P* M U97E0$[5O;D-A&FN.)%@*1SK/TS,D3'(J!4VOM4HI9W4M>/':$>^LIQ][?& MF!E0VAV8GX_A-[R[#%AV"6VAS5[KFGBW&0+98I!.!AE=;?S9^BK& V2,>\PZ MD.$Y5]P=(.;=ST+J]6T3#%?L14D"\6C!B-K7*%( M3%X8"\:%6%2]1OOD8* 33^T/(6W!D#6$6CI V^T#YBO9776?G*!)*J4@ M0%A-$6P0!6*.==YBUC9JZR@D'O1@_RY%XY[,#H2MADKH %+[9\[W>4F%*^$# M<&<9*%Y'C.OH042>3/N+RH MYWQ7++C"F4M< L^<6-@,;2L"@7OR_3A7R:?6_M,#9(Q[A#H0=,X5=P^(N2>9 M27'9>J4-8++U]I'A$'RM>8EH?# B6M'ZLN%]*L8]/AT*+^<)NX-\]R-[[UX] M@# \&N<+.)8M;;_DVSG-)$3# UE.[D-L?9;Z+%'=9 "&2T&V54P'ANG!;7F_ M[L0PLJ2*@?;U5D+Q&D)1"1!U-@9+9D\VK6SF&AV)LI=($0R'LI9*Z0!C^_OW M'A?1H>"RQ@V6U:"4DXD/M'"\<\B4=)+BBP$]IB,1]1*I@0&/3LY700= ^F'W MVCHT^0(_AM_V9+>Y_\)*,2EQ8%Q%8L=5"4E:(<;:S+W**;2N#WB&I&XR \-! MJZ52.L#8?EH_EY1H+R>"8_4:$]+R8-%"3MDZ[9+DJO7F=^R!RDND 5[D1/U--ML6;MCK.85Z\0YZFR@C&:7&_?!<)>X.$+,W8F%+?[+(=23Z$]:Q"CQ3S!EJX&GJ279( MIC1O,'27AK$K* ?!REF"[@ HKW+>%)&&V;LPI2#@=?@R)1]KCZU)8MRYVEU? MJ4P<644[L-09)(JB0[86;>NBW.>I&C>--!"8&BNC!WBE='EQ.:O=G+?%5XL+ M(N4SSE?3K[@-.3WM)#WM':T>]Q':9SS&_">KI1G,QA\H\FZCHL^XGJ8PN\U?\^DBM]\U MUJB1)SA^R;DCTB8O,6(]SN-D)>LE7Z<49!MRO?1BF6@=LK_$W)'K=WRL!?43 MK5WRF ($K6@O8(7V^IP\%(=),8U:Z]:'?K)*)#D4;+12WK2NH'B6F$PB=H.'' MP'*6N#O S3[]/RPN*."8>*V%U!;!FA1!!8I9HT8#/CH?R 6E_;QU1\K[5'2" ME//4>S<%>IZL.T#+!UQ6K^]VWO]O>!%Q.5%2J"2\@N"+JUZ?K598 ,O*V&"4 M]K*YG7F388L7*[5?09B(D,>2N$F&\^C;WT!ZC#*.C%A;9 V M@#*Z@]B&A=6KR_7GQ7+Z7Y@GEKDL.$DHAT1VWVH+KA@-&8,+(7IC6>O[F4]3 M-/;A\8"0.DOX8_='>8B5'W U_32O2V2B@I"&F0CH+$DIDPGV%)R X@R1&7(U M[XZH?:0IRM/O&?N$MPDZ6LNS4ROSTVIU64%>)Z.$1.%K5&0OLXH0A:_GAR$$ M)D+(K'6)RN/4C'UJ.[AU.4'HG<+G[>5ZM0[SVF%U4J)""BL3,"EXGZ[E7+ <;([M)Y8\2=+8Y[># ^E4\7> IKV:K$>]N&+1Y6@D9NZ3XT@$Z5?#,4C5)U="W5U:+L&G703]M7'#WRGA>L-CJ$TT:51MOB[>L7 MWHPK%24&# IXJ@V8O*"X+:( ;Y(.WJ)0O'43OD=(:5Q/9#S+V=@()06*(XQS MX+(L8 O7F$04.K5.!?143]1"W\^4$!TCX1'WM=5R?=5@D^("7'Z=)MS4.DB+ MUB26)02)"UEDCEH2,UAR+A/P#CP:*/3 M^P Y4\ =N,0[1G8E*47;VLU20/"LMI[C1+R.&L@E0XH.HXFZ]0BC6P2,CHYS M%?IP]^,3I-L!-'9RV!&//J$,@H&19$"55PF"I6! HRZB,&6C;1U9WR)@G#/R MX:!QNG3'/L*LL]S#[#U^Q?GE%?TBZY31)- AB=JSDF)#51"BG)& O!B0#15^1:R8T<[(;# MSUT6 I[B>382< <0V>'[1Y)2;754P[-_3->?7U^NUA2Z+2F"V\Y\K+/>Z'^Y M7KCV7@JM2@;F%)E P^IE1^Z '#1ABY 88^O>02>0V4EXEJ@ZHV(N\ M.Z\7J_7;4B>2[GL 'Q:S/$G<<>$+ V26Y!-C!(_DKW&;$K.A..Y:@^=Q:L:U M28W4?>_ H(GL.T#17W%. IH1%Z_RQ70^K<)93[_B3ER3'$NV(=2Y)%;71B,, MHO06R)"R$*0H1;7NH_ ,2>-:HV'PU%(+'8#J \YF=6.>Y[^%Y3]Q3UP3;Q1% M#"P "0NW:?#H<@!6V]C:7+*WK8\]'J=FW#+D8:#42/8=H.@]J8,(^$RL_$"N MX&SQI7H!5\SH1'%MYA9L)#Z4D0(OI?&Y6\+3^1.$X$)->9/J? M:SX4[6F*QJUB'@90#770 :*^OUQ12+):O5Y[B4R,ER[J IX+54;KJM3KQD M1KABP9M:LU480G V@>1..4P"HVQM A\@H[O+LDW2KR>*N0.D_+*8+VYSL!UD"B]R(UL7:SQ+5W:7: A=XR;X&T-A,;!> M.L#:IL'XHV*;1.:$3MI!9*4VN-_4@25',M-:>$9^7VI^\O@D1>,F_(?%5T-= M=("LQQDA9/#8NG-AKHP,FZ M<0^OZC^F\TMBZN:VSO=8%DN\GIJ(JS>_D?Q(?13^+K]M?(PZJ;-6CBPV1R)7 MMGSBO146BP<*826)HB#X4&,4Y[D57A=K6A>+#LA.=]TNSG'L>E%[-RN 6-RM MX.]QCF5:O0U:LB)I2%QXBJOKK5:%J39F+,4[*[4:YN+8/5*Z:X]Q/O+.$_?Q MJ/%;U,SQ4\U'M]F$<;T76R-*$S%S8)K^4:%>(:E).Q.8K7.NA1:MZS=N$=!= MLXNSPLZ31=N!/;D:]W+5EN/:WQ#9)4*B@^)1@1(NU&$@A/5DH] MHZ6[AA;GH*6)P'OPZO=1_^IKF,YJ#?G'Q=ZM^=V"(JG6I])$DCINQ:(.+ITQ38R7]KC#XPW1V67OK&:)*#FSELFLM)#;ZH/4]9=YY^66VP#970(L9W%9J(& M&P&\R P4UR2BQ"SPK!1:CMZGU@6/#Q+2U^;90N//@.IX\7=1^'"7C2M[:]$P M5TR$>J1?+_,R\,72\G,)76#:,]5)"Q%0G(]DVH].NU8&OMK M87;.3CBHACK8$P_E;VNLK;26,8P@;*P)7DS@C32 I=CL4);DQH)?!WOHL%@Y M$9C'*ZY?5.[L_ ,]EEDL-;H"GQE%5M%B7=P10C;'Z<1Y*U)])N,_BT66_>#O/^ZD=I"/L-W^SFTV[3)JWF^]>;=I]>IF6B\ M$2*##+4V0'$+,48/0EA12V/;XRM9)Y-9($#F76I8LP 6CP=": MCR;RS-R@6;Q.&FH,@(ZGS[:.D7L'^_"FC.H!R51>B+&WY6/XC8*PZ2)O;SQ< M2XQA83J% N@H'%."S+FW.0)G'AD+.N;FD]Y/I;63+APO ,47T6;GJ/UQL23W M9+X=>9>^?5R&^8I8K-J>Y\UWLZWN\W]2F3@9L?H]4) 6L!+DL;BD M%42AG;19"]^\3>(PG(S<.>1%4'@$]%\($ATOC+_/EQAF=2+$_UK,JD_^US"= M5]&\G7_ =+F@SH+$6,%GY26P(>6(CDG+%BA!))UL[QY!'T088VG3GA: MF])+73-_M'89$Q"29%!,8LA=3.T3!3U-G6B/A6=F4!PC[PZVS&OJMQ*IUGHQ MKZMUTV=?H]6Q,$7,H"/#GS,XJ1+H&'PJ02:!@S4(?HB@3K!T@J8? \W98N\ M0W=XV/7:UM9C"K2;(Z_WJJ*L)U8A PLB%<]E\JJUP_4@(9U@YGQ%WZVA.%OJ M'4#G]NS576-UK6E!U:!ZWSU/CGG M]@19=X"7O6K9*P9"+0RBR &3)RN<@J\9G )6>J.$YK*PUK>^[A$Q".&95\8"PA:%_'7V9$"*%6KB41=8Z, M"]7:)7Z2H'&3 >WATT[Z/4 II%V[]=0&H#X: M#T%JY] [+F/KXX6#B1NWR19]ZSN'CQ+3R4%]P^C]+'%W@)M]^J]&9*E-(TL- M)1M+ 0$9S1#I'RZ*5DIF95-KP-RGHI.8_3SUWG6JSY-U!VCY@,MZ7OA@',DQ M\$S+!IBJ=5&UU5? 0OQ8%(XB2IL/&U!ZC)UYG)QQ\7.NIN^/'&PB]AX0],#= M#HE!BDA"R8;LL,T<'$4&D!++)"&3HE)#;5 _'S6#;OCCV(8[TVD"[@ BY+PO M,:SP!]S^]Z?Y_7.;]XO9[,?%\M>PS),<@U(&B:E2>91U3JMD&=!X9VM5)L?6 MA;]'DMC)9G8B(NYW QI,/1V@[[:1O7_5080DF"^![&V1H%SPX$5RP%-6/G-& MJ[5U#\AG2!H778/"X09.U$U .YZ2U#4:QF1R6!#$C1?5(\7U$'T!K] FYT-JT]C*/IW+3M-Z%QF^JN+P1W ."!]-LOH#"AJ)8QF)UV!ORV]/9[A_B%*ZE(41=C2[6_HLY8 MK85B@;9S^@>#*3(P:UIW3CW[9)?_(8ZZFJFE*C8+DTP6@)@:$ Q>O05D:R M*#QZ;[1@"9N/S3V:RDX*/\]%T -!P)#JZB!2N!WF&&=9X#R#LO6H+&C:(UR] MOQH=!<=!.9\'P%HOK7:'UO:3$>8QHN\ -[>*7Z[&IN MECXNCI:F$ED'Z\'F M4-T)54B:&B&KQ'04OD33^J!G"#Y&'E;_LB@>'0@=+(8?D-Z(D%(IJD$V;/1>M:OT/H&M?DCH^>Q<"J M[ ">^[37-I@4N'V:QAF^6JUPO9IXKS#7^@&=9+U3GBLW=1R5THPK$VOWT]96 M]TF*QK6?W4&RH?JZJ!*]S<^/TWD@"<\_O5ZLB!OI"_<^5D$Y78<..!)4DG42 MJ"-7W1>?FKL 3] S;O5^YU \0W4=6,6KN8ZW2[,GM'3(U29?B*NB0#E=:H?T M.NN/&8M.",360UL?IF3<0OKNH-= 72."KJ;_)K^0$$EB/]=L[9O?*@\X*1AU MD20(R^IAC_$&O CUOJK.J&+RBM^YK70_D_C8P\0)5K:\7\RJWVD]F,5^13)<[;2_K (B-*K:S('Z: MDRMQN4G8/OPG/T]#G,ZFZV]\@I$6HJ5 2T0;22SULC/S :)CACNKC9*M!WF^ M$&OC%KUWMSYZ!%0?$5-*RVTBXI;__<-TE2K/JU?S_&Z)%]/+B]5/\Z^X4^HD M,.X$(X](5@>)[$FNA22R-HM3F&22138/[$^B=-QJ^>[6P0NH^WA8^RVLY_BI MG@XW@?5>[6:8X=M"\B6)KK^]FX5M$_$OE;&)L*AKYRC0HK8H<,R2BU\D%,Z) M+9^\L*T/I0ZC;-SB]>Y@.X Z1X7I)FZX88J6WY?%:KI=B]O!=Z9^NMBP[W-5@[0Y_1$MV(E-Q(+1"H2N.6L)$'(@LHD M7@QK/2KJ28)Z:W[W,C@[52/CQR/W>7FWQ"]AFG>YY.W%RE:W\Y^EJC>&MB] M[,Y[BF:ZR)$_R-+RDBC9)?ZKNSS/MP.OO9]-N&).&LY NU G- ?:!Y2RD"4O MPEIMM&D]=^9<@ M&J&!B);*YB"<]P?MU/<>W5O+N.:[[GG"[#5^K=#_&'[#:TN=E&>>,PM)UOE- MWA1P%CTQ%8//-FJA6Y_R'418;QW=7M0XG:RA+F'WN'%-S+/"DB%K6E<4SP*\ MLQ),D#$6U)(UO[%S!'F]=6%[&0BVT5873MWAF=")YB8JIAQX5ILBVJC "F>/E[C4,H[73+N%B'V9!PW!9A/"S(&$(HWAKP@2)W M5?T.ET4&="8YP64QLG6^[W@J.YE6^$*WMUNIJX.MFCR,J_[SZ3\OITM\]35, M9]7I^'&QK%48-TW1?L!8I2DH_L$$0A@)*HL"T3,)G-L4#9,!L74KZR-)[/(& M>#/$W.T$-:#ZNL@ DB 38E[]2)+>%@4]QR%3 5DQ(*T4-1F?P"L?@%PBS3GC MQ?K6-0S'TMCE[>[!$#JD L?.MOPMK'>D/\76Q#(I9*(M**!1H(I"DB33D)DR M/!3:CM@=H_E("N:P]W59>] :7T/)?VQ(W;?H#U2@V:*3BF!ER<2.1HKS"H[F<']0OF65NKJ(-_R'K_L]H"W99-FORG2 MH=C'A(0R.P026&T+5 1XQ #6)R]5(#F6UKTJGR2HRUQ*,S0LAE)-%SOQK<#[ MP;%FF=GD4TB0@BMDRU&"HZ ;$&,F[R)IVE&&3)6OYOGV!WN_N1UT M=;<_)OK\I!4D)7JDL%*3R8F5;$MH749V M%L'C6OX^(7Z4$L^<2$,26*Z;X':[VMZ6_17X=GZ6(&B5;U?UMBE&F/UUN;C\ M0G^Q:254VV1=8M[5Y5'@.G&B,"9"A*QE;:9I-<1"02MST?N21.2Z=37O^%R/ M>U8PV H:7[!'P:F#8.!,FR.2W/J-\\/1$1UIQZ#8?3%5=F%POTS)Z]]<@L_3-7%2MYAZ#3Y_ M?[G^9;'^W[A^%Z9Y4J(I"E.$D%6MHZ P)!2)0%\$4[(WUK4^ZCB4MG'/V%X6 M,??@.H#ZQCX&N2[>V=61Y;_/\_YMJAHLKR:8DL5ZB=B[>IP8:+T[XP)]6QCW M,N4B#^N?<=#KQCU5&P5C ^FB Z/WXV*)TT_S;;>/].WC,LQ7)"52YE4/PYL9 M]Q/%DQ"%)T"M7$VBJ]JA/H!FC!QIEKD2K:M9CJ%OW!.Z48W?8&KL **U8N*F M_OIN9?8-7U>/;L8KO]MB['B@69C?#QZ^!ZX-W,1/.T%L" MFU,9 N?U[%CXP@B[H;1>U4T(/WO*2EA-5[69^IX1F>D>)=2U@Y0I #*UE[KBF*P6E2ND:P[OWMU[?S1*6?0.VXP_?(XO3< MY:5TW;LU?KT@BC;>]*),+RY(R$N2-I&Y6)YD?9]\7E-K>SCEC:SK#22V@W!J M,[0W]74WE-R DY%C9X7G@(@$R20H3";_$9)/D1-8'++6_1:/H>_L(]3;S[U9 M&T$+[F*18 PM$!6#ANB\!B.L+EHH\E="8[X?HV7D>7>\6,+5?1NIGX, MT^77,+ND+2#4<&US'?($\_3@V^2=4FV=D>>HN?L5-X#S[X!>@K%)$71NL\YT>I1A;Z2 8R- MW&FE*.IJ?:[V)$'C&IYFN+B7B&NFA-ZMS?[ M!.,S+UY:ZULRZ-T-3(I>\^O MJ:S=#>OUM[V ;@R;/WB%8YC,HJ0LXXA-X+E;'$HMUK1V;!\@8>UC%(/BXG_TZ3_R_!_-R M-13B1/-R:Z9$2_/R(%T-S4M]_K<'TNZ681 R!'"!(RAE%="&HH"S4(?=&R5- M^QE%CY+3PH#<>?0>E)U(U@@)DK +BD<)GMFP??9/],UADX1:$K)U\0RUZ,2(# M+X%QQ3,YNJT=D-L4G&LC?L;5"O%.C<4-1DTN(5H4D I7H'+$.CXQ@/8^83&9 M)=>Z0OQIBL:U$V=H_ZYI:"CX#LYDM]SL[C+?Y44)Z>F=9#+-)BB+O-[[DU#G M!9E9OW.O[=8%\XS8U*%*%Q*>M)G(8HK0?O@Q,6F>+!/ >79]XQ M[CXT' QN%60V$G'OYN6JH5^@!7K=Y? $"_/@ VJY+5V MF!EDH0D%VB:*7B*#)'EQ7NED=.OZC&>):M"\Y.$7/!2^&4*ZUUR#+:K.,LAU M/)^DKX0V10:38VG=$/$8^L8U4&WQ\T"7DF'TU+NENK+[M/ZGUW8_;*ST*0;K MJ<'KY4]645.;1)<"<"BBCZG&Z M1DCUF?P[>/#1?<^NEEMNZ'--XLN8L@1K29914NR,H9D M5LM.ZIU):#\0]>!D#E74LZHM)[M[174U/K8Y=?<78]+O8$P_KH MLYK:T<,H;N5)7H;Z,MQ A.*.?)G6.P+VPZ^.LPRAJ$Q'L/?O +B8KK=*,AQVG8?^H3S4Z]G/?6XQO<##J2[D;W:>Q]! M[_7^^Q[*#"NOD]068C81E,H!@DRUMD$85;)"AZTCWZ,(/+OCR"$ONUDPLG@K M3-1@;:X%\#%!Y,:!UA&U4-KIYL[<<12.W'UD,&S=:S4RG-YZ-W1UC &]ZB+7 M@0ZGU-/L_WW;JII'*6MDNVH$\ "04BB8E(H@9$2@O0O!2>WK+16#@JML7>M. M:P]3Y&(6\3O!I71WQ$"'CVI8& MNK]7'G&VN'NW%>_Q*\XO\10S?5SB,2@-@1L-BM5S;A4\9)T29BN#:=ZW_4#2SA]&].1K]L[F#7/2 MAP@%(^'<"@:N4%BA:=,-3G*-J75 =BAMXQJ9(3!T?R[1 %KJW1!MQN'$L$** M<"YJ>GOSY%/LTB-/:FJF#J&VE4MSO:6]+:_W7O8>9W7NRNO%:KWZ\)G NR'G M:N+&S=@$:Q5-C*,)[&&21W:[7@Z?]]I4O:"J>[>?/\WI M2UR'WTZ]BW7SYXWO8CU"5[-#R?K\C^&W!UQ_YXOSB*6>JI!6"T>(I!C@!47D M@7'=O$_Q$^2Z@LNZ:,+^E$UHJ>8E88!G,D9@A2N6.:X"JTOMCY*S+CFI0D.[G6_:2+XW@W+&S(: MBV^($>=8INLOLW!2B/?08YH:E6?I;'?6=NVU;L9,K*?;3CL/G8;0\DA<($BG M:>>*R4*4R8!/*A0L3GAL?5'T"/+.[R!PW^:IM'/T@;!SOUFP TUT[N!^G 95_B?E_3( MFH0[K2;^WC/:IIZ>I+"17;IYR9NOM\)UH=GZN/\Q6LZU.'>?NU<&3=YZX=E"T/5Z6O067 J6-F"9DTU)<3TTDYW8F"8X MN&M0V@B^=TMR3!/EJ]:LIUB;D]XS6KOHASGMJVVTQ\*2*% 'SH$2C#SOF /P MFI(D> KE6[>UZ:)M]-]7^+:\6:VGM07M:E*XM\FD!$ZJ0F*0$AP%(E#06X4Y MJRA:CS6]3<$?HK7S$5BZ:R;/T$<'[3QVC:GOM)_^MOUWK\ 4C57&*XJ161TN M8$E TG+@,FF6E+1>M4Z='$;9N"T^QD?? /KK )6/S^"I58*;;V?;4:1W&2U% M.^]3 .MJ,Y0Z4\4G$T&*8H,H4?GF(T).)G;<(4OC8_=EM-P!G#_@IRJU]_AE ML7Q\C5I:A$;7RTY:UPHX"LV]*1DB)DE^O(G^UU $D2 M9<):M+0YB)^N_OF::)BNZU<3IUGA6CIP//C:2U6 8UK2.F.Z<*-*X*U=RB?( M.0A^^H\+OU::Z@!TO^"O>X[*3!4T>[MXR6.'J(RZ[21IHBGF#) M=61U6K&R;G-5DBRHSR9KG;@5K?N<=I$V^I ^8[XDW=0:O+T=Y6VI.\GWW^J_ M/])[%GN%RT9+'HT/=9XSV05/CDVL8Z\P]865$\C\(R2@CD'E/?]T M8,UVX#A5^*_(5NSG(?9517^ZOMON_O3 M-:;\@,NOT[3?/-7:H)V,&K0S!E25N8_,@Y6&RT#"<;GUE;/!F/DCY,):+(1Q M4=+!NC1@!P M\A>48QJB*!&B#-$E%H,+K8]=7W+0Y-X>6$-[;U%+QSZ/T=#:P\!G5/N 7#JK1W(_G0 MJ,C3C>,33QM\P.6 QO#)<88B,*7K2* BPN86G(>HQ-;UP@T9:#C,9K'X.YQ\_?22NX@$KIF^0!._SY?Q-IGL#+\T_S+ MY9I^O""G?3;=@&#/<>9,69,RQ,+)<2[>U]F %HI* 3,+CC>_Q#<$'^.F"P;# M^^@J[]T-V.O$>OKN?_\A0TV>'7"O/Z(GK46C;/(:BJT-')F)$!)2N(X"BW=> M(@XQ+_)E.B77Q^\]]6N8SJK0?UPL/U#X>6<'8*6X4$H=%J^J1^QKC8-D=3*, MJ2-8;5&MJ^Z/H6_L*\V#(.K^79^!%/9[L%V[D;'GV:[;#QEJK.W MNNQ0:;$ M:E28/>B2(BA-&O?2D<9)V2Q1.%MTZP*> 8?;WCBPUR^YZM-]&^B<9Z52*>21 M\MHL;!UBZ4-I3,9>O4U*&TC6^56F#E\="BH69Z-T&[\8LG6Y];?S_ M,-P!;ZCR0*G,T+./B0MHS;-:ZW;C,3=C+R[,Y:5MNK] M^9JUG21]5!=,S5*^#^N[VVJ),CFTO+8-<+45+<7$41;(.FOTI:!F^CDLM""D MJSFYQT#BU@#"E]1&!WF)#5>U\=4=-H3QFD%('GVIDCNLFX= M9CQ"2E>S=).^^9-WT\@<]PS_*9(&U9%':!PWR@_QQHW+$H5#0BC:8&I6EYF38(4 MD!5,Q<3FMNP(\L:]U=(0=4.II'<__-X8[M-=\L<>->S8\ $=]>,F%W*'*54; M9)*LO?;J<)K (V!()H01?KEAH??Q*CW9US?7ARF:"X38^"X-% K#N@K M;R!HEFV14GLI#G+H#W[E[VF\Y3$@N>79#Z. WJW30_.[3S=03SQM\*GC YJI MYV='6W0YR-KPMSBL$^CK_4KA0:>LG \V.]^ZHFJ\V>-[*7NME&&&04!+;%M9 M6X"1%$QBT4@K2?2MBW"?IZKW.>/'8.7@.>.GZ:1WZ_3$E.[3C=3S#WVI2>/= M>%96QJP9\^"+([5%T_ET3?''5[SWVKN9 M.IYX5"$#8:> RD)!=*D.WP@4"ON"V'STV@ED_IYU!8/VPL=;[;3N^_ZJ$'+)&AKB;D>H6]*DC/7Y*C&*()*HGUO MA);TCYO5?7E8O[C.>]_Y#QY-?T8VY588J"7,<$%/O6!AZ1 M@E\"/43&AKR# LX MS[V,UK!46A]2'$38^"4; V#HKIULKZ+>#>!C,^5/MW?//+&I>3N&^E81SV$3 MSG,JSHM:XE-/4I7CH0Z(JI=:F9+"\L*;WPL\C+)V,P_WQ+^WFHIR).V M#D*HX_XBK9:@8P$KK>;(K1^W(VD<.;IICZC'PYH!E-:[B=L?WWQ&G=K] MIPPV9'I \_7(N&'2,K/.%Q N6(IAR;%WB6)8FQE&IHHVK'4;H&%&3=\@_880+&(P5JP*.-6<+YX2_8Y91118S;#M M=1&MX^F!QZ)OR@AV[[CIU$1ZNE<$[%3)/O+M-!(5*5AUW''0LD@132 G+C^' MD4-?]ON8;WX,&&Y5;;06=P<;W(ZE]W@1IG6&WSM<;GJ#S1.^C;/II^L,<%IC M_CB]H%]Y6S[0IZNR[4I^]RH\UTH)=."<(].J/(/HO(>(MH@B?>"Y]:"WQBR, MNST.B>$>=-[[=OIA31QMIGVGO1%UI^^N3SZO[6RU@REO%42>-SS=*&&*LPA, M>T)-L ZB(/QX'9@6V834O,GD>12WBR5NYKKO4[%1X-LOVR9,M,Z^WD_(J&@2 M9T&!C[J \IF\9.TD1*TP"BD54\-%%Z=2/7* ^W(H?3PN>1&%=^!-W.$XWN7X M/9)8IW5;V?"^F?QYZY._SZ?KQV01I405I07I;:VP, X"Q6J0N,@\YZ!B:GTL M."0_(X?AW2R+\4#2U8*YFMJ\Z[/[L,5X-=L\^C$C#93D;,S/N9;@NELJ8\.C=9_\%UZ2? MU1=B@"QP<\U1!WW417%P >R MG*K4HC*1+1AT.F"1P?K6%;F/T=+0H-YY0^UMEK[_]GHCZM>SL-I;#0PKK:YE_-U],\K:;@ M*]Z4+;WY+_27C47,RVS;70E T)'T6- AO0G2J MF 'F?#?G8EP?>& \CZ+JWO?JF_GI^/6\9HN//*EM3NT :AMMSH].J[L'BW(4(!G6Y+Q66K>>G-^C):&91G3U9?%*LS^NEQK-X@E. M&J5IW7"W:>!5"Z9*3.!$0(:FCG$;L-KCI=@^T8;S?ILHU]ZPY#B9X @0G,(_5R@>;'T?_#F:QH566P0\"Z\SU#$BO+:MA2Z_?)E] M>W>Y3)_#"O^&%Q&7DR!S$=9)L(P[4)D;B$Q:R(Z;>G$]N7A87]:'GMX;,LY1 MWJ*E)#NP-+N!8JMWX5NUPCLF4C:*,=KB?2VY5D4JB-)DVN+1Q)"P)-=ZYWJ0 MD''S?X,@IYW@.T#/ U;W(_WIQN *JP,&G\#K@J D6=W(C0!93%0.@V3-+PL] M0?',MYZ2]@0Y MO>UG)ZK\.2B=*/\.H+39F*>XO,?2SLKZ8'562/3K5.>Q8;W!2J968M:*2\Y- M;I[S?9JDSB!UJNKO1OL-]= #K*Z+:FI/GGH/^Y?%'&\7WJP^+L-\M2V#__[; ME0 VB]/83(R92,&'J%?8;")O03(P-@D3B%[/6V^(YU$\;EG58'OF"ZKQ=PC: M*UYWRY^$Z7Q.$K 48KF@!,\] Y16L4#A#+KFXX'.HGCD#-<+8NM,6)^AZ+%3 M&&_G>$7];B>QAD=AK8%DN":C@*4V0)/D A6FLC:"R3L.XB/YBWN/_GWAZ1RE M+II)N NSM[=G_#R=XT]KO* %5MT9JT@6IO9>+#Q!*(R!S#&@(Q:S;'U&]C E MXTY2&'!O/5OL'8#GE\L*^5HC_878J4+Y@)\VAV 37I@C 6G045&$Q>KH$4TN MJU%)<>.2*+9UMG\T^92RD1QP7UV&;A3=9:(1Q*. M]V!9YJ&$5&1L'7D^3,G(^;"AH7.2P#N S>NP^ES_O_8M_!IFFW/W>;X6UUZ# MPXFR05&<;$$;3* "+8V0L@(F+0LVY&";AY.'4S=RZ-@>7@,I9FQ/N@KHI_EJ MO;RLM/\M_#:]N+SX?K%<+GZE)?0Z? EINO[V:OUZMEC1!Y/,C=!),+ :,R@1 M+81JBIDNCOR#6A9RV#GAD2\>V5UJAZ?!I=Z#$;N;[GN'R_I!^(1\0O&MXYE' MR,D4,LA!0% R@M ^"NF#OC@X"E?P? :B[\/U+]ZDUG\UOB6='W MQ-5T7>5$S_C^DI8;KE;UVQ>J=#V#LM%J8EM)LZOJV2<8ZEUHK.+ZMG[9S^;) %^M;98$"@4^3$% [1HP1.#K4R++/"6HOC M84K^"!6SQV#K^6/9H_73HTNP=V@=M/!!& ]&U\RB=@9B= &T]()K6PPVCXG/ M+11YP9/8X[5]1(G(,:+O$45[Y]219\9L%L!"J:,6302?B@&G;([9,E'TX,76 MOX<2D:-4?D2)R#'R[P%*NX9YCY4F,,\LLF8%N<76 M_>B?(:DS2)VJ^KN0:JB''F#U7!DZLR(B1U[[JI E=T:#\S: -,EBT,X6W1Q7 M+>Z$O%R1[2 [WNE*Z!)4=^N00Y*HA 5=A"?_4BF(/!6PFD?M/);,!R^/_'W= M!CD* 4??!CE"'1W ZZH2_3TFG'[=*T9'D62N3=9S222DDJN00@(O9?#1B#K< M=:!; '=IZ0U.YVC\D8L 9XF_ QA]"#-<[5H'_X+K'1,Q1VF=3Y!='0-H9'4W M40-/RLG$2F#MNU,\1$AGFUQ+ )TO^!'1LUJN)W\+_[%87CF"JVTANVOP<9^NX&+@^_>=R#RX;.4 /!C@R+7\+% M9F3''@]7 4?,F==#_90DR8-Y R$R!Q0I2%XPF.(.C!(RS&[70Z**U M>,<^P+YN?']UI4"+8HHV@-Y2+)H,0K1:@7-":4-N'Z8[T'CD@/K.@\=3>2,] M+1H)K1>%?[^C7>>H-AEU[9RM^:P,Q+@!ST54+BG:[>)1"O]^3(=A8(6?(K1> M%/YZ1SN7+&&=:^U=G6R12H200@ =#./2YK^3@UXY8EO43J[#3! M]PBA_3J8X%(6(I+/9%2AY< U!$<,$2C_ZV/4()70) MJCM)^T@!64ZE#B&6'I15GL16)*"(DD<6@@V#AR*_LV/78Q!P[+'K,>KH %X/ M']N@KF.M8[W<*"0HP3)YW+X 4^2(DR7GT?/&F#K]O&R\ ]>C='W0>=DQ@N\ M/4^5^*44&$I3NP\R4\=3&/#$!+"B)+D)2EC76T'M2Y<7-=[G3A)]CRC:J^IS MB5ER* V$HNH('2;!E^S!,V5E#IC5\&79OX>"VJ-4?D1![3'R[P!*N^C\L3I. M*8+D(7&P6&= 1UIKP6L)"147P>6,OO4$K:(DL ;3ILX[>7<:B&4;'V;]%FB>MOPVB"KK2Y&+BW9 M+9.WRUT+I6WSK4(A2-06L)IO51B23Z#(Q2P9*3J)R9B#L2EM\6'^CG5]Q<75B)R+/,"43Q#%0(&;Q2 K3./H:2 MN&.'=:)[^/FC0^!E5%W=7'%.H:&'(>B&* M:(\.,^V$)2C#BD=C#\+ 0T\?KS!I 2<+;Z1]XKKTY@;]RC,ML:1)63!:5") MU7DCT4.,/H'AUB:>BL7#!D\]LU<\2D"7I2FGNA1MQ#PV5K:M[/99N/;+,3LE M)61M!2@>"H1ZR3'H9 -*+#FU\#P?)6"\3:618A>MI3PB5#8%$,MOD[]_F 05 MC*,] 2QS%%'E$B *3M&[J)-%LO2\/-6$8X7ISY\67_^R>^(6&KMO;I!Q\[X1 M8=!&:8NS)'BRSK_B,BX:I3S>_.W-556V*3HIK06(6G*E@M80O(E X32+4A=C M?>L6+#=O'\_+:(N%,^4ZMGMY(X6WZ\_7O9B9QI",,\"\T+4#52%.G%(%?-2H,N?& ML];GQ6>60P_63.\ECOI.$WR/$+K5%C!*E")GT)AK6T!=(&)0=H8#>RZ%?+XBBS3""19E>7)!_OYR&&9&Y6.X5\[XAX:7U MHKS*_W&Y:YR[7CQ0Y'A&+?0PA#0MA'X!636J@GYU79C]^G.8?\*:!'I3Z;QA MX:8@U8:&6K8[72QI;4\7 M^49?[W%UI:7='9W:SB$+!$__J;T=:%,2+$'V7//(LRVB>5N$LZD>URX/AL#' M9Y2_B'I'SDKMT;Z=D\PS1^XU8(BT%456>TW'.J(-=5%9.59:G''=>6TO<\E? M1N.+-N+O!SE7XX:8-YSB,@BIUE B.311: ,BN!A\]M'?O7Q_+G;&SE^>I;Z' M87""+,=.;),?&VA]O%OBU^GB(Z.+F!RBGH7 \FZ'P-R8UFOV$@NDBL?P*=:J9:D!(=6@H@L M\1 X%_Z@WF-';$-W2!@O ]H.+:TDW$$"X]"=>;7'\TWD7B*/9)$-V,UIDF$: MO%4.4A2"DW099ZVOZIQ%<"_CRE_4'WIY57> Z^_#C.)X_/ 9D:0X(W;R#]-5 MFBU6EZ3UZX"FQ."\-!I,-,25%0YJ:@BX#K54PJC8_*[9892-Z[F_(%06@^NM M S2^RGFZN94_>Q>F^:?YZ_!EN@ZSB;+<8:P-8QSM$TJG $YP!L[EXIE(,KC6 MXRA6VISO> M7PPL"9M?RZ2'E%SEN?HO05*+M1Z2.#R0>J([7+(D$[D\2&0"N:2(FMG6-2%/ M4S7MR7L"?#563,.LB9$>)'X+\]7W<'9!QC]4,=8SX(^PJB\QW_&(]X5!G]OT MN6!_3AK=_M>%_UD7OA>,RA(Z5"WJ]HH,DQ<0A A 2)0Q2<:,;NV:/$;/L8;K MZK-?K=>X279]-P]Q?D9&&=>_;P6?WR\^8+I8K6@#;6=RKR[_^DM8S]?UWV_T M_ G3E\7\?RYPO76+O=%)2\W <,G)X^"UEY+G$(/AG DKN6I][S\F/],>QLU0 M>=M$=@.!#L[QRRENK]+_7,S7&\]D6_:JN"TR,CH9:O%'0O)$F$WD.]ND=):* MY=:#+!X@I1,03HZ5VP%* \5UBK_ZY0JOQL^0*ZQ9B@H=O/4& M?*RC5[$.!F$I 7.YLJ =B\.ZRSZT0G_(.$*+R]8B[<#@_'[M6[]=?+LXOVKT M8+-C2EL&A?-:EA0\!)8B9.5E88)B)=8ZJ^4A6J8-4KL]\IJHKE,(7E;:6=2V M-B>*KG;[)[-3J_9"E,1HJIMX 59?1](6D(4Y:)#Q77K[AE/4]4?J [1_Q.P.E(9'<*K MIC374MZW"UH#US 00%>9@O6Y:1D M%%)(/\B/'[[FM$U<&B-I3'GW!J-=+\@[/*&.B%(F,&A(;EQY<$$E< 4#DA>A M4QD6"PY<<-J2_5, J(6D.SC[1@J KA,3'+)2:O%[D'DS=\$"B8,<@KJ[1,Y* MB]8GYM@\36L=NPU9NX)2!UOK\H+J]?)KG"\N&^/7J@_2@[)Y0MW+Z M<=O(S*PRI ^']4V0_2*?,0[$X0-WSZ<" MQ?//6U7IJ\+T])A<^4LXHBD@B8-B,M/8.P;21D(W.)9:%: M>U G8NU%.E*GWC^G U?OY?KWY91=EYZ??T$2YK>P^+&^*CC?:C['H&))&@@TV6X=21=W: MY^X]"7 ;'.H2G4Y.0+&U'D^F C$E)#DEX5'HHH?U]CMQ*-][>M\^>!LCYMY? MN1TX7U>,_W(S/OIMA70$+]*/S>-IH:A()A&!/,FT%6R(48$/2@7K-6S$=8F(A^"QWJ[Y@S$$C20?R"R+%D8'%0\ M?@@@'R:K$T"V@L)#4&NDETZAMK[:L;MW"%5[-R0EH='8NTV79V K148!H#M*,WTA+9??EQ]^5]SBB17Z@A;2@D 3HE7;UGT+FS=UVE[_=OK8N M&2^M!A/:N\A0@[:I3DPW 8)"!D5)$E'P1N?12E;ODM/)83L)N [12*?@DI?-Q3'5 MJRD/KKK!*GEBI60#R3#+2Y:!)P':*1#L#U.JR_D$M;__/F M?R[FW\-9E=K&E7#,J^ACAF)XG5+M36T$AL",TYY[@1A;8^MA:CJ!UJ1!0B-= M=8"ZVB%I-4_GF._GZ?[O[G98](PY9ST)CMP"E16)D%D.AOQ>+G)VV'SD^#'T M3MQAOA%F[C1V.9$".P#K[\L%_O@]K/Z-Y[]=+/(E%VBM9@8+E%KOI7AA$(P+ M($QBW/L4!+8>F7,_)=,"['1(N%UW*JN2^R9*))$AA* M!\H0+QX-KYE7FN%1GK^W^T^36](_\2U+"T M M.]%N!\C^[X__6'['U6(CR,](3.'Z5XSG'ZLAV-F*[4 V.A^,M* ="8[RX*TKO4+[U#:ID7D=.A9GD"5'4#T]7+U;;D*YW@O,\AS438$?,74FE]7G_*$'3WA-V \9V2NL @9NIA/AXD9MJ;GFZ0UT99':"NA0?_[BIE/TH9LS4>F$,) M*A1+#CQ%>U@DS\8B19.CY?ZV8&#:L96=1%.3(:*#[;#E^9Y\XZMTX^1B\L8( M0*%2G1DL(=0)/X)$'FM[,VE:9\4^250G;]*G!\SMANE-M=%I@6U ,>O4Y5D-=#*!_]3W, MS^IQ\MMR]9'XNG9U?G9\B#/O19U9BU@+JK.0%.JA!8S"*,M(B*KUJ3^4MFD# MI7&A-XI^^D#>0W*;&2ZS\3&"<4B;J+:G\IG^RIW#DAC7MKF#^2 QTX9"(V.K MB08./T&7Y^&LAXK7[7S9^>*ZSO*IHN#-]ANQO/4HBDYJ%+@L1!VEDDMPB4L]6LG'F(6KCWOC&_?[OQ?+N$;2)ITFN_9<:;E( M]*^VU?F;H+)X%W3!1#N_N-HS/$+DWD,I.6=IN$#>ND=H:QXZ"92.1=^#(?L4 MJNX@3+J1?7_5F^'U65AO,VE"1LD]!5?<337$HI;"ZB=2K(HP1U M L))L/)P81SNA MQF*JD]UP/ #'L\D-T#!UH]6GW;ZK1SM3>PU3O(*!_HC!DO"] Q95X3P7-'98 MM]ZA*W:"OSY0LAQ;92_+3+^[T:M*)L<<'7TV"A*$S^!+TL"E2)*5B"A&*R-J MR$1E;977X2S5T:+TY8?EV=EOR]5?895GQ16E;"&SP35I""-2 MU%.S-8+.B;OB61JMJG@LIE[,B7(@;L?;2 U U-.NNE$)]Z_Y^9<[S*]_YG[] MX=:3Z>ZTWWS6S/NBLB45,1\]*&$R1.8MB&A0<8E!R%,TQSF:D1>S>UJ =4 + M@-,BY^#M\PU7\V7^>!Y6YY-NHI\EL7GF^ >YR>^6ZSJG[NPB8WZ[N!R(S6?2 M>,EMR<"-(Y5I)\"1^H 5SX,P@20V6D+3J)R]&$^OHVTV(K9>[+%59\588QQ8 MGN*P#.(DR,%>TT:.5R)_\V!J_ OI%[:=VR#GRV'JSR.,_1K]=?,?U M^29!^?H5]2K'HVQS/+85E?4;-[,]#GYN/GK-I@_*;270Z,GX!E$UK>;5(M<\ MK_,?UZM?/>$%5#XZ;0&5HSWBI*P%!P9RK38(P:#AK1L5#:?N6//_DMDF=D"^22*5Y1IMI\0T>1+;4!E>,B-,]#.*+X>C1D-5?YP++J?>3? 8R: MU@QQSA4F;H#;.N_!)0^1I%@S>5UR*=2N'8VQ]_++JO<"U)AEU?MHMP-D#Z[% ME5B23(Z.$[-)/><18ATH[&0A&0?/C&]]+O\'EE7OA9Y#RZKW464'$'V\0C=Y M*://")MQ;"HQ =$I#P%#9"PH'I5LC,O_E++J8\#83FD=(/#A2EV79;$B2,B) M*U ^<(B\9!!:N(3..V]X8_3])Y15'X.\-LKJ '67]Q?OR\-5.M?/JSD9AJ+. MB?4NT)8RD0(_ILBRVR2"Y9ECZU>&O0B>,IZL.@/BX\%Y]7:[.Y_^+ M^?5R??[Z8E75,2-QH>*))&AJA8\N$ER1'% X%P/30I9RTEN<^ZBL(UD.BP/D!8.F V@:.W M1EAELKR5S_] BN@!BT]K"<>'W4F4TBGH=J*\YJ\^W%[RARAMR"81?ZR0, 5] MY7@"3*IH3V>-3_88T#VV^+3.X;2@:Z:4_4'GMZ!;X&<*A?*G=CU&!M9M7W(I M=<$BM*XCGKK#>$S-/2]?\8_E(NV8 M]*EHH;D#8TQU-^I,&Y\Y)(KWF#3%9-\Z\? @0J?M[=2EQWB@%CL]O^_U3VZP M&!%=$@IK(5[Y([T3_'?BKMWF^)9&;GLXF@726@L[9: ETMNA:QL0A!!&( MR1RMMY(V>^O,H7UI'(1>__S1.ZKNFO6=&@V;*5U\K5G6Y FM: _^[!C]4OTE M_!3^GC%)+'*NP,1(?E$5KO=<0*#S20HMUZ9M@&'@+&UH88UG,NLBFI=6-2%\&+9?P-/3Z=5\M',]&L0? M[*W)0^%9DX!U;=:E/)U-H?8L5BE&8[5EK'3=^Y0_X\>J4975@7_[^&7*3S[2 M==-/M-D)J:#X2"Y\] A1Y5JG9>OPB\RB:=WL[ RAT'S&3]IG4J%_:+TL0P% MP[V.O C0I@X6-#*!+QCI8- RB6($EM8S0I];ALGHP#D^SV0?+7;15OJPEQ&6 MG)/6,2A1<5".!!J\3L \SSZ@(=^]=6NG\=ZW3IVDUP->#]1E%Y#=^YI$.9]* M20Z2M0Z4]A:BYA*DJ+!-R&B/DR*RI?=35Y2']$(,W'!$4D5E?9[/Q MVI6U3E4G/Z1."8S*".:R8*U;1>Q/Y<3#<_I Y8%*>U; G 7. E+>A:U?YTRKD M^>+SC246>5,RNOO!=FK5MB)09I^U-1HXQE(M-H,H:.\$"O,YHC(IM[X(/XC0 M9].=:!^,/5QB.98*.PA+/I+:-KWM-NWWWY>/Y\OT[VV#$Y$%46LA!RO)HQ4( M(>D$H5AR*%BM3VU=P?$@,;T43HX&A-O0:Z*5#N!UD_Y=J3WY&<5;#,!)_]7_ MH"TI,[D&M2>W+%D+USH]Z"X5$P.JC7IO=\ X3M93IZA_Q%7=4)RVU"OQYR4% M&VXNI]37E",G/3!=."@O-[,A%:!GCG&+M59I4#;ZDTM-"X]C%;D<3:H=6)0M M0V_N9<5(J8EV!IA%+:VTD78/-S7[DAMK&./H6A]9#Y,S[4U$(Q"U%GL/"-KS M.+^^T;:YA!(C@D=.UEE%#TYY#X*BYA2%XB&V;OUT,+&]%/V?S&4ZB58[@._M M6*5$K);SSP7M&T0_J^I!,XK7) M XHN3W] MP$]W':1NS/6(^-D2GD!+^BH5KH@N0#>@,DVF.AY1-WZEND1?ORP>LC?IQ/8LY<2Z#HR.EUDJB"G2N& ]!\T3; MQ!4M6S>'>IJJZ>_06N#CM@UKK(T.SMLKCOZU7/W[[>+/U3+A^C9+/$IR=".@ MK#U=/+= GHP$[Z,M)7G+TAA7V4^0-:T+.#K"&NFC)XC]-E_,UW1._&.YS+=8 M,L'RJ+6 @"X32TQ"# DA6.U-%$F(YFUG!Y U[4/GZ!!KI(^>($9BPN97^S?7G[;STNB@V5?"O3]]O\.PQB:OW@]\4E.7 M>PBUC7SL[5+7;XU5Y89'$,594*Q$ @]9A!(9H2#$0@=2XUWU,P7'VHAW=(XB M;C[S5URGU?S;]51B$R5%MIY"VHRBYK?Y6A%)[ILCWHH(MJC6Z;"/D#.M[WR$ MWF\;C58B[^"$V3!1YZ]7H5R$LT^X^KI]T]*81.UUZ"2QH+ 8"+E>B6B-7!CN M&+9VCA^B96K<-%+V'1 UD'RG"-H]722A%8^>W'A3^[-[34=TSN3?ZQ3H?R7: MW#KU]&%JID91"VT/@- !HI_Z#?D#AK,WZ_JZOF%H]S[E8RDY"03<-/?'8L&1 M3T(>&?DF HTU<5COY7L_OC\T'**X95,I3HV#?^*7>3K#R[OZ>K'^K>9;[%C1 MT:3 $P,7ZY.WY*X6I4A(PLA$]I>C& :(Q]>9]OYE#&0TE.N$$%FOSFN-8H;]='RD_+3@U*MKZ M((?+L@< ['#+I-".YP)2*SHY.=)^4+: 3<'1X>FE,8/R1H9 8,I#XPAEW5;W M 9*;6.&_SQ?SKQ=?+T^SY (J5:#PZBQQ45,-N <3ZKR?E*V.@X*2)U3^TZ(3 M*_T0E2U;R&]JQ8>_;Q#.T-E@LJ033]2SSRH(6G+@/J5B@G?T_1:*O[GH-":_ MF>(/EE\7,>5]Y]V[JWP-(X5/9/O(9:DSF'3-UT#ZBB>T4L=@HF[="/X)DJ9] M4AGOCJ*='KJ!U?MO6&^9%Y\W?%4'^WVY]+AG(4@>C4O I0Q09\G0\:HR)!NC M=YP%P=M?!S]%U=3!:D,0W NP9AKI%&,?L 9P-_F;164M#YF!W Q@KZ/DHE:F MCI=Q,?":U3N.!7N*LAX#G?&P=J1FNL7; O_:WAW,E.<)Z$&2>CPJQT388;KH/>%S^YQVG1]YQ758Y.W(5KS:4VOZ7GVW MKUFO'\)Y+3D_\C7ZR'5'>+MN*8EQ7KH)(H7L%P-DDB()Z3@$Z044YC'8++6+ MK>MLVKYT_[RQ_H7SSU_.,;_Z3M_]C#>E^B>N4NVB4:*6I?8)E)8VG1(N0O Y M0"S2\"!+R*7U(;LOC5.[=@W,G#^!.9DOBDXJD&#B%[5Y# MQ%* G OM1.+6?UPQX(RJF ]@]NJWN>J]\I@H/Y*XB9*S3RZ,N M$#.%^\;DF*V-EO/6&:?[TCBU W@:FW>L1&H=."\?ORQ7Y_7\N\8M'7Q" M)UN;%/A:*"(">*D4Y)ID*9,G ;4.RNY2T9?W>X1A.%+ 4QN&NW:M=@FXR]1Z M)IDON8Y+L]80\,GZ@1>&04!?^V'KX+499"X&+]F7HWJH$1E'PATTHO]G6,WK MV_HU\ OWF(+EM1V3H!.Q:"#[Z GXD6EF"0?-9W/=(6+:J?,-#.(8(U\(BC[(H9*W[P>^'A]&FP#?$PV'B?!X%FMT*^9GNY[-S2+=@]8=-10^7A+CQ,I,Q/Z=8^880_PP_MHUY+ZZKJA-ST2160,I-"WI9KX^"A)@=[16#5H36 MSX7[T-=5?+T/,AZ/KQLJI8N#\&Y"Q"6'/R[YV]Y8DK[>E]_FZQ3._A^&U4QG M$9VR=4!\K4J)I=XQB S"RQ@12:#-WS$.IW9:,(Z'H 'Y+2.H\[D E\3Z!YTT MG_["L^_X^W)Q_F4]$\G4ZW0&OE;9J10*1"X=&)>-XR)ER=L[?(?1.NU-55^@ M/5:5SPBR=3M^^FLY\Z6$$%. 8C:7N"J21YXD)!Y5IN\',:R";@2D[DB<]J:L M.X >HKCGADL"&LYT"5E%5\!X1F>%RJS>,==.'4K'(C'3IIP2F97(:6_H^L3F MWLI[9NC\;7FQFI6$2N0L0)B$H+1""$%'R HCN?R1_C,E."N-TUX$=HG-O54W M]>O$4.9>%5KPBD/E=$",=""86ASL-\6"&"'9;%(,LDAW"YP/O%0GE&1G&FT18?A(: +(#"Y""F[,#RFECIK)&E]3"_H;0- J-]MF <554= M/+$]RM=_+_(NLQ?SF[]K(]E=1W7TG&6+#*QPFBR\I)#-)PNZ1!3DF22N3AK3 M/$3H('"ZEPW.)DK<'ZE^B]0%?@[GN]\=YUK]QZQ>$MA$#H;1](?"VM75\@)1!>///'F\M%-'%--T'WKKNDY<1-OH2/01?Q_C4\OX@=0;I ML.ADM2NB=8^]X=1UE0QWS"/-2 KIP->[C[,G[O*%MIY<6 VRU#A*!03O'0,I MK'&THS#9UN^@^U,Y[9/,6'@9 ,N&RNL=GO?=VM,N1D\$+BWJIX)!C>WGT91\)6U@[$%2N$D/KFYBK?$*&HC)8I@^+ AU'LM.^V# MR,CH&ED+S\# S:1RTGI57595!W@F!AZ- UY4,,$%I9T^L6&;]MFC$X.VEV(Z M>.RXEY\'[\>#Q=H1,8*7=899EAFB%)%V4;1,SW!+P3US%4M0@D"EZ-BL;6,,G:(QJ@R,G#@D,&O=?'CI7@0> M%3]\_#+_]HU[\;;L[9V1_;;+5 !(BCA'1-:DKC2,5;E@76GO>*?UMBT4,6DOOACS-5IQ;6- MI7." 7OE MUV_+18U)WB[^7"WS1=IL@*!\*998R4EH$I1/%)9Z#2$2NTDXH^*PN]"A*TY[ MR7YB%#45?Z^G7.W&<-\17O>,@:U.NQ$3M&BL#^&P4 MY*"#Y]H;8UMG4ITN_+^S2W[R$9DR.6DE()A22[\YHR._(&@>LS/!JR"'!7F/ M+O.[X;/[T:P'N$O3I\L:9V MK!'/C>S;Y7IT,B[.7]U8] K&EC.G#0]UI).CD$]:I[M-\N5HOY>8VG%IMK MP0OZW"M9[?B1+$L*H@K0GP*4B@E<<1%DR+*@TCJS8?=F Q:;]I5Q+-2,(NH. MK-'O87%1R N]6,T7GW\+:9,)M&/%BNAXKJVPLPN@HG5DN$,!+7WPB0?EG6AL MC1XA9]KWQK&M42L]= "IUQ3%GZ^V+Q*;UXG/I*M+RRJCY=9',JJRCHVOB691 M CQ=2^M;UZFJIIC\-IX\'#5-,SV/ZQ6J[7,U$T[9MBC5:T=QHDM 'L) KN MHK3C058V>0)!F% '(UN&]8A1EB(C'Z#H&!T:)8-HW4#M,7HZC2=&MIG[*J+W MA(W['@E;Y&P,^MS1GSM/DKGQ] M5-JEP(QQD.FOK$4L!J";HH/%.H6%&FI/= M?+=ZV?PI54 7F86R$EQU'Q1/";QG"%FD(K351I;6703Z2=9HJ__;ENA@.?>> MDG&9XT+[=7Z5XQ(V&2G760J_S1?S58[;'IAZ.,FCJ;XZN&=YA)]??OP>_K_EZO49 MF9#-,[+*4I8@!=C-_%\N X3"-=B:S)=-,4ZTOMW;@[Q>TC[:(N1NV?@HZNH; MB=>,_1&^7E[+<5_I2] MQXD1Q;@"SPO%6IQ9<$IQD)MY#"'F9%K[9@]3,WD?VI/!K)%&.L#6(U*[?I[A M1C+F1:3(*2=0=2*A$P6!BQ(#-PZ3;)W)-(2N7O)-I@I$#U-0WZ#;)CIXX8K/ M7@ B14@J"]J6Q28H0BH?29:L>=;)4S1UZ_0?B(+A,-M?)7U#[$;.PLW9EMSXH-C,2:/]G2@>X#*;D.&T6'80FU=9(X\PF--6?"6 MI:(\N:1,((G/>7#.2O!8D@^"H3&M@XC'*>HV>A@=R ]P\]]K+!=G M[^8%9R$9'=BF;9=BH*QRY*-: T&6H!ER&=T(DZ>>I*O;^&%LH!VHF@Z.V7M] MA3=_I[.+/%]\OGPWG)DDR//5&6+$:J,Q@R^R #&;=4@E!-,Z?7,899,/KA@7 M5%Y(#>E,>;O[_A@AS;Y6K"S-"#"3I]OF@;V4UB?E%';>N>>@<1^IR&3YP.M8=H\;F"=3/5.)J""@L#(^KL.^4\>.1(NY)K9HN7 M['8_^"G@.OTXZJX!N[R!GP7 N*EOO;*F!+H( M)29OF$G*VV&C@(X@XCG-WC@$C"=54N_FLR88L"2S00H;C2$NE*NO(4DYD*Z. MLT5O1#AATWV.TV===F,-]]=+[*]6KE%87F'%KV==AD9?G7W"5+C9#4\ZN MI^_>N([<_I,WU__D??TGK[?_Y,; WF.FQ9R K+;S9DXMQT;7N6\7WW%]OIVK MC/&R\\7YCX](I&]6OWX.B9&IK!BD)#VHN@$\IPU0IXK*P(V4HO5=[G#J&O0C MJ\JX(?6='F9:TOF!)4(HF0R))7Y"8:2]=1\+*/9W# M&JBB@Q2H'2-O:T4(?@I_7S/BI#1&UKY3K*;]9Y*1(P<%N'$J9!EB**W+^!\D M9MJ[S]-BZDA5=("I7W?+UL[;=&SL3JS=\/JK?6)X%J;P^F8M:9\4#S%Q#08U MR4]QOE8B.8?\W/OUP6?M_AJ=C"M9(,#).I M3D#,-1-:0G%9N81&N#)"4^LGZ9KVSO%$H&NNH*GG.=SRC5\]Z!O/)%<^(??D M!!0RXKF$&N<%('$JX;C%:,M3T<9^2TY[*3@RHD:4?N^A\+]J]N+B_$?]V-5W MO(S9?OPT;J\.&;[\Q:L==D2@>_RB3IBN('BSP3\A/=D$K=> M@8Q6U>)]"\$7!8E99PUBE,UG#PZC[.CY)+O)/&\7'\_#(H=5KMM^)]M;"B$7 M=U6'^OR*V_]^6)Z=_;9<_47_:,:]%SE:"I@,>;C*H@+G90'&M+(F.-1,-A90 M(](GSC9JC[\[HT\F4'$'GN4MSC8'3SB;.2Z3K<7PC"<-JB1+_K%W$+D2G+XB M08\P6^ >2J;%W22@N-M$^U@-'8RS;[B:+S/QOCH?$6W7._GM>DUNSRQK%GCR M=5:?+22N6.K@> Y!!..%\KQ]S< PRJ:]JND7C4=IL%LK^&?XL7'S9UX845B2 MP(31]9XJDG]M/411?"H4NH74.D'X<8JFO.(-4M%!O\^WU M!DDZ+HF#:F& \C=RS6B_#?;=00?9B4Z97 M"YT2DG42PI,?54QJW>;M?DJ.3Q*(Y*O6J;?7LTTM1X:6F!/>.S*]2*97)?(6 M"W.UK[(/H?5I?P\9TYY]#?1^][G_.%%W<,I=;K_*2IVYO!U'@):KK L(XI\L M(T6P,6L/.A>FG HR-6]Y>!\=T^/E*.4N&TNZ0[1<]DSV4GB'!;(LJ;XU*PA> M2@B%Y,*#==[TNDS@:L.,DH/T7IN@>>M2@[M43&M)CM/J(Q Y0,13GR!D5?-R\79!'Q?# MXM_O"Y& N3+S[NTO[S_PR[E#16E?RZ=50@KI670D(43BFI[ >=*L/6 MZPVC3&E""G(U)0E\G[+H&L(4$]"$:AG9,&97 AFM99&0_1 MTM,MR?XZ?A0R!PI\:H_E5?X>2 6?\1,%@S6(NSQ#;33<,<')SJI(!ZFBZ,VH M E;(;'(6CMTNS7JH7.&!%7K"PJ'*6[:6Y-1P>+/X$A;D-%WRL&/!<6&M$A** MLC4?1&J(&!4X5DHL7)B(81 8[O_\GL+<%E!H(,6I@?#I"U:K7CEXMPR+2PYB MUC)G"T8HI =(/C7D9T/AHA!^'@WH_OR:-H 8/C9=B!6_'Q(J[Q?RY( M)&^^5T_K\JXX1N-(J1R8KZ,^O"?[9HDA'KRI_>\3':RMLPCN)V7:E+O6CF@+ M>?<)F]UVLB@\FJR!ER#I.+2>PJ]H(&GM:C*^1-\Z>'F0F&E]D":J?AH^!\B] M/P!=CB:5F)-U"<@@D[\N8B(FR&G/OG"5C952MKYOO9>0[H!SB)(?A\X!$N\ M-C^;XW=7$V%\8C$7SL!RY>KL1PM!)PGHK S<&1):ZP3Q!TB9MBI[W'N3P^0] MM:_[QT5%^OMRZ:ZO7ZW7Q$Z>Z2!I]V2BVAIRU5B.$*00H!0Y;$:KHE4:Y.X^ MM$)/,?"!NENV%F1W1N1U6*U^S!>?7WU=7BS.9UCH5 ZV@->/[&#T]Q<['0:BY]+M#TB]A/5]_)%I"?K^X^(QEH%S-96+*ZM$"5&XUF?>P]3TY$"W05 CR4_M1_\LFM_# MW_.O%U]_6:Y6R[^(O=?A6TCS\Q^SPH+'^M)FN#9D5)6$Z.MT:EVTE$5[RM-V(V_N8X\@Y.>!FU?GK\^6:_H&V56+A24#C*.LIW(D'U"0[(@GD4F" MAL6& +I:>-JNXA,AZ3"Q]P6I5SG/JYK"V8[+K7&M30CGBS](DMNQ49LF_5?< MVII45 )XICP%JH9"5I9)P,I*:V.100R+_8\F91#LW#.%W=BJ>19 _.]OR\5K M7)V'^>+W^1FNSY<+?$5ZP6TWA_5,2&%DC@)29++V8HW@HO%@M;1:)28R'_;^ MWH2<08#T+PN03574.R@WM8SVB=&UE:L%G%3&R0@UC<&:TT, M,?M2L(T]O&?Q8=>D[,4@[ECY=Q!,_KE:)L2\_HVD67M=U7R8;6 SP\BLR$2Z ML'7>'0L,/,\9F"_H0Q"E?>; P]0,@]:SN()O+/J^C-0FYY_,[B:/>[M-/I[7 MKE)_XBKA)N_NM^7J34A?/JV(X2^X=60QS\@E8#98,L="6^*9H#V/J7<':V7"XNO[7\ M!?\,\SQC.F@,/H FEZ&VE@D0O#(@DTX^:*=M:EV ?"BMPZ#ZC*_^1U);=_"\ MN2MO;\>9M1Y3\@@,4PVGM %?>]H4+FQ1.244XSX./$;=, @^X_>"9JII."CP M!(U_KONT;WJ=M.G^<_^'CM8": /X_8!\J;V:V >)!V.=7(TAR"- 6-#(&A0 MU*G8"#OW-'V 5!+99E_;:O$,JD@%/I+!M2P4*0TK0;0>/?5<^@#MH_.AU9$[B/P MJ>\=_G&VC.'L]9(\@)IUMCF^KQ(:+TOZM,[6&$U.7QW(IU""RR(!;:K"8ZKC MQ(<51PY8K">$'*K2Y8CRG1HOM\J[>WKJ/D$(0<$;IASTB1'@AL$ MC0-JXTY?(GDP"HZ0VM0*_VV^V%1WDD NZAT6_KG"K_.+KY>L!,&0W+!:WV=K M]8X +W0&]"6SI+/(;EC+L,?7Z2DKLP4@&DIU,&^9PWO[DGM(= M6V#@*,E-K?9/=;1LE):(R00^2.NW/KBG M9,,F<<81;QY\8HRNB#A41H0Y;3TF19Y0$A!!0\%*$;9Z-U?KU]]2/OWN! MX8C'WSTTTQWF;I7M.N5\".1P1X%UXK!RX'4T4%QT0B:3Y.T$YO_ HNEVN#I" M^ET@:;OL[DKH]7)]OOX#SV?,>%%X04##:F/I2'L!@P9BP7K'W)C*QV,QP2 #M#7<$$J 2XJ!C:E(X8DQ MH48$SIXS$T]>X]P*.P=*_+DF1/X>ZD5V'1*_+#?%T#Q)\JF%3I XN1>OXR93 MBBPCEQ1I8:Y/!,9+"$97=UD@&:MB>&H]=6&<9,J;S_85C-N XJAAA!9,% <7+\/#(/67*MB(E"ON"( M9NT0FJ>_*#@248_9O]&5V$',MP>_;Q=_D"7X]!>>?=]5A\^TSR(81Z)UAOX0 M%* $&S,D(4.DXR9:T[HMZ%$$3W__,!U8BRGB4@"6$X"Q9]== AN+QI6:# M,XQ CG0,625OIK6:5Y1.?X4R.2CW5MASA.5ORXO5+.60M5(:9)U#JB3+X*4. MD'Q"SEC,.HPQT'EO0J>_KYD:E'NK:^HDBGLX_+'I+'3%C1:L,)\],.<]*)0& MZCTFT*XS+*$AL0Y+JWARJ>FO;!K!9P3)=F:[9MQ;1&=BS2,(]?U,00S$A6&, MEYREX+KUP]/>+PBC)F*-:&GV$FZS!X21+O0^X'=<7. ?8;6BS_R.1US9/?11 M32_E!M';Z-IMMU;M2O.:PKX*HMKE[?7%^GSY%5=7P.+.&^4E@HZUIYMD#EQ0 MI4+,2F\#:M;Z4GT@:N%O?'7")QZ\C-BQ0.H]0N M.^U$UJWGXCQ*T+17:F.@Y;89:J>/#@ZL1YG92?,#IN7GQ?Q_,<\HB"VJ: :! MEUIPI2($CQFBC(H7[<@,M_:R]Z-PVBNRR>%WG,::X7'<<_+Z'>B7^?+;:IDO M4OW%3\OEV3HL\D=@\ M8!R"$L7+*+42S;MU/4+/\SB4]\'*G42T5MJ8\$Q>K\YK%\:ZJ=^O=GMYTUPA M1"^L20YX274.4B#OHF2$G#UG4?)L;K>^OQ]-M, -)-'?KE'TT-H3OY VT^JR MH8C[@,CZU97!7U^.\?,^>'(_@ .G/L=(Y=ES]++%&I/%F/K7!F1ZC. IDS)HF%_,36$?)/!$R. MCF,5>K=A[H'2G?I">T?YKKJ5I/+I2_AKQX=6C&>7-,0D%:C@.#A#08I,(J@L MN<]AV)2,1Q:9]E Y0F_+$838"1A>X]G9I@7TN@Y+N!PZ+@4/6F;0LEI0;B0$ MYQ24HF/!4EA*P[JW/[+(M!%[6S <+<2IP?"1?A8^8S64VZ\N[>6.P9T#=CGD MUUF15(Q04I+DL&=6D_@5H+?)T0XHN@R#QU[+3IMKT@@PXPFZ []CQ\N.^&25 MCCG6(5)U=FLJ!D*2 K10+H@L@KC=]>QHO^,G J8Q,./Y'8=+MUOKF&%MCIY8:.(Q[(?K;Y %.4"8DP-C2_J]OI1- MQM8F/*!='3.NR !&91D$K8W17-2>UL- \? BT_H@K0#12(A3@^%#E?W9SP>@ M(FVB<@B.J3J!)'N(V=<_2L* 3CO,@T!PSX=/XT^T/Q^:"&]JY3]HU>YCS-)> MD(4Q2$7(VNJ I!2DAA"ELS)[LG+BN//B4+@T/SS:*'?0^7&LI#MP0!^X-WYW M56.HLO.R2HUIFVH/)T[\<#*/THLHF56E>=;$4S1-7-S1^J9]%%5T *TG'K/> M+M+91:X]--9KI/_G3^'OF559(NU#X,EYBA)-O1C*!K*F@SBK$)QMW4K@ #*[ M?.HY$"?+TRKMV25.;(O_B.,_<566JZ^;86_Q;+Z5?M.G8R4K:FLGD@/Y&5D!)P[CR(861!'0DY<\C M^V(?_#U@7T^IX7Y<@<.Y_G@>5N>_AO/M&X*E,)50B=9\H-: MC+R0!*>]=#HHP6D? 4]]57C?/15/L22G/+A2"BAO$9RI S9+85'XI#4.RU[I MYN*OH;Z>NB?>1WA3*__G5/>KUWCFM&(!0F:2#DR21I1.@HU"9SX007IE@P3G+00G-P%M.8LA!!J%D#K9UC]U6 MM#_S$/2$Z&X-A-Y?8SZ>+]._8UACIF]]P\5Z\\G7CQ4[Y^R?N#XG>?Q2?W'S M3]Y_VZ"'Y/)]?O[CB#>:M@0T?;D943:M^L!>-35Y7U[?H/$#GM7NT9L6^!^_ MT";=?;#\NSLM^6J_G!& MQY_53 O 8')M_I@AUH$#'*7P9!2*2:UOR\?A9/)G]U.A^4X>\_3 Z,!5:BB% M/RZV,V\]NBP5 YE5;78N/41?FYU+;QE/3O+4>C138?]V,;=WZAQO6US<<@?6;OW&5YB2+&$TZDD.,$HQ&DWW22K'6'N8T]G^T.\T>]\.D,#G2_K]9Y"[VRLY6U OG*R&@ M+:4P<%:&>J\FP#.9(>N22396,-DZ,[A,%XFD:)VL?4\@M-S M.?$T@^>[HT8&U'_.EIO99$LRCM7WT%I]8&M61G1@I"O,%B.E;SVI^T2LO9C0 M?A2$3[,A]X);/YI2 ]%E.T M\R5FV[K^X+07D M>_*$Q^1SN 'I8C-. +>7=V?RJ&B$TBYG+B#G&$&QDL#+K$ $+E2HT\]TZ6PG M#F1MXC%BSS<:' ,ZSS.WI\5DEX&??()LG)/,?3D2]SQI'8564++,=6Z4J ,0 M+!29M0I1^)!:O_I-G&:S2Y%Z7P[W3+>IV"ARXE99T II.R;#(<94*!94TAKK M9&A_)]Z*^&>=3+,/9N_8ZDG4WT&DL:6%IE.-G,BH#3EHBF4(BEPU MY#_/ IV27W%7IA4=4SY) M1M&ZJYD)A9$T. *+3%@LVC-Q-C8[ ^2$SG;P6CXV0YAM(Z0-\' M))=G7FL^-JQ<=LVWSAE#>[HP.GD4BPF"E1:BUX[%XEP8-N9FKV*?>PCI_![\ MU*@[7ED=(.Y&X=$VAW#'AG&9W)Q<0$J3:..4S<,7 O>:MI1D69K6#N,#I'1^ MX7MJU+50V-1-"GX/JW_C^2;8NW\3R2R9]49 4K:V50T.(M$/F9$=SRPK<7MH M_0,-"YY::=H[S&[ U5XK$[?*^30_K^'>VT6>?Y_GBW"V<8ZSM%$*(CL70:*Q MQ(J/*D-42J-E2>DXJ.#[B38Y]RX^\>$Y:03<1B.]0:IV"]S<8-6[X2_S;Y^6 M;Q;GMK*^AK#8TZ PI"D$#U$C@6TRX4DI4)1@RY+ MGL#3_:MW!)N6BEXVE?K$N/E0+?AF4VD?37;D IA4.Q.4:" 0P>#01^D512!Y MT&2A)Z!RM>#$+OKD9]MADN\!+I<=SB2!V<0 63%%/F,B TQT0PC6HM22)VS1 M/_#&DM,9E .5=5O=!TAN8H7_/E_,OUY\O6IJ5KL7![)D6-O&![)N,:L @65N MG%/)BA:^\$^+3JST0U2V;"&_J14?_KY!.(M66Z$*F39RMI3*"KQR]355R^(4 M5VS8T(6G%']ST>EZ!#91_,'RF]K$4Q@?SC>EX4FTG] M=*J2BZ701B"I*D@H7#0I&&&Z*:=]MU?#6?TR#[J)=/^>76V^1W,]TND-CQ=K''F8PBY%CIILC;D8F6$X%F PGU@%+$5G5KG!0ZC MK/,,F'%1/(+RCF@W=:)2Z2=VYC_H%\^O*E7_L5JNUS,9G!&ESI3NC9+ MB9P$8%EDO&C,@RY33VBV[V&C\[2;O@WVL;#HP%1?UV,\+H+X])EUJ\CMJNGU MY=B]BW#V"5=?QMS$!&QVGG-T@IW5 M,:PZV'E7V([KBOW53CK3\OS<';SY[6FZH_E^?_#\P^8EI\7 M\_^MG2"YX+Q$!=+64G+#-#BN,S@KE*L)T2FV;IXS&C,3!]O3[J(^(#)U&NG! M2GCS/Q?S\Q]O%^OSU<7F/N3]^1=>W[^%^6H;;CGO6,XFU6RE.E? 1!0@K64E>N,!ON78/#=(Z->F#MHMY8=OE&:"D@_-F/ '],P)7!UMP MM/-\9YJ6J]VWZN_Q60S9\*(0K,H&E$4%#JV&D"5YQ]['TGRLWVDY'+3EW O= MUB4M5.#>GMB*7WY4^DSYOEXE#21B0WLFY& MHP-1'I H-U$DHWA6PT#YT\<.@]5+RSDX4KQ3 ^-@J5TY3:_6ZXNO6YO_7_,U M+35/X>R?RUH[?T9'Q =RL&:%6R]E"&#RI@B6.7"I<$A&""5=*"R&<:W@/N0. M _)+>_;O% [/V%W2GPZ.#$J>)8X1>2 MR/P[[?JT_(I_X/G[\BG\/1..F1*\J!FHM8&N8A""JC/K4U%91UU4Z^241\@9 MAMZ7^M;=2D\=0.[@PH,GKU.O'BM^KLW7(D/,]1>9?M/99EE]>YD\!&/&&1 MM]V[-W^[U;W[53J??Z\-4EO/V&M'T@F&\XTDOSZF^F%*622R_XR+VI-*E;H1 M"HB$B7MG+/.ZL2%\,5/]8G3*T_EI=*G#Y=!"E$I!06,(_R(7TSQ_XO^F^NV) MV1&G^NVA_@[X=2!,"%"?U&N#U%2[KHJ0E,],M1XQ.P8? M/4WUVPM6IYCJMX^..\#Y_?-LG"(RG*2$T?*L#0G%H *5B@.?'$(,003.7(IL6-)- MD_E6SVMDWR'0:J^5#HQ:@_L;&US)+&<0N4XWJ172,6A- E"2>>-D6+=/V>T#R_R^K \._MMN:K_:)92%+J&HU;4:W4,'%Q*&JR6 M,CJA(NJ3CZ9NRF'G3D=C_)Z^8O!0,/UG;+5M5O8,I54Z9@-)(]_V#@A)2A . MB[&&W+KGN,NVS#W3#78"A)]^,QX MX/WX;?-D]3'\[":N$7MOOT&K'">62;J MA6P!E;4D?\0;$%KQ*#!D';MQ!L=H6-%?(>%+VHM'@.U%'XFWBC%M3"I8_TL:7M F/ -L1K=IK[E+^] SV(BFOX/RF MA**)AI5BP4E$4#X8\%8KB"R*PDH,R=IGLQWOL/=,.U&_I!UY'.3^$S;E'2>^ MH&1*.Y!,9C):5D)PA0$66W31/.1A<["[V)*'Q(S]5;>^I UY#-R.C!G?+/)S MV8M/]L.ZJ>@@=/$Z!W(S7"2+%AF055.D;5>*])S;T,TPMW%$\$SCSV=SV3H: M'%]TZ+E7=SMB36D!FI,!5-D6\-QS8,D$BM=3#E&^P"W\XN]PQ]LX'1J!O5#\ M'W?_^[3X3#$QU-JB$K,'94(!IUD!F7+)R6$B1^[9&($]F7^F)_A_E"48$\\O MVA'X^5KP:<'E*#.SS$+,P5%,%*KF58# ,B:%/BG>33N/ULR_^%OL%V (QL3S MBS8$N]O("T+UTU*3*+3F7H&I1E.YHNM4^@"&.2^"U)&9YQ,3[,/YB[\V?P$F M8#0DO^C]OT^'[Q-_0O8.^/ MA.*FM_M3]0ZH/[\I[]W4]C%[ SRQY&EK__?AOX_:_N)32)(G8-D&4+9(\-IF ML%HX;@P3!5N_=[Z4VGX6,' G,QWD@LR3M0KJK&=@L03,2G(3FGNH_U?;OR=F MQZOMWT?]';AUV_YJ'TG)&^;>U7]0^:T%P(:GP*).((,A5@*=MC'[ (RAP%18 M2;%U@X]'R'DI=?][ 60YCK;Z!=ZNWA*Y]#FD -[5-(TZY-'5MAV2RQ"M\,:].Q/G\.^Y\ M\QU3694@DG> &Y\BUEC3V@*11.:9Y9A\Z\SX081-^S(X'JS::Z4#J'W$,_K1 MYU>7_=[HZY_Y*25KS7D$[:VO*?&.6)$2$DO(2DC$4//ZBR=HFO;%:3R -=5% M!]CZ0(HA KX00[_B=SQ;?JL"^YFEA$(*+0*Y")R1BY $.*,DT#>9G',2'GB77? =I?G6U^!_/]K.]V\DQ$;DV)5:BU#7%RU5H$0;L9,>44#,;6 M(P.&4?9,\TYB=A[]Q?<2;RCV?TO29Y"DJ M&[U\;)?Y%/Z^ODZ^NB)61E XZ@-HA1*4S 5"(%\O)&:C*CFFTKK;P"/DM+E" MHX_>H?H7"I[*_'QF;?#1*P^V3M152B:(2K :B2N.W*$NK7MA/D!*#[P3GWIA2L7<;QBI\ZV^?U^_X6JCJ_4L2J9S(5N;M.'4]7 7TAYD(VFG6]Q]P+1(7N1?&@]+;,U#SU1%S0A_WXZ9?_-3__LKPXKUI9X?G6.]X-'I\E MED3)@4-TWM37;@XA.@XRI>+09V-S?LKC.P&=/=SRM -V;XI])M;\"6G,6!1& M,1,!F:Z#=(P#QQ*'S'SVZ+12S0L]&Y ];5;FE#:[I3X[@/"ONV6)_%?K-9ZO M:YKFEM&SL^5?89%P%K-6*28Z;U0BEERJ9Y!1P+T)2F".,;2^[1E UB (CC92 M>RP(MM9'[[.W_L!SDMZ:''KZUE?Z476)KM-'WX35@AS^>D!<.DOS%!;YUSE] M$DGIK^7KL[!>_XYTIN0C[G_&(*/I!=+HS>.AM0^M;E"P_1TFW-VB\^D[&N3Y=?EJ^WICZ30G%E^49J62] ML>NS$K-56 JDC )4+"0H+@LP6;1(RF;!6\<,>Y(X[;WDR/!JK*'# ;@\#V+4X+P$"UU ,-; MY8/;AH"[%)#U^XOS]3FYM.1=[-B[#KTVETC7,G8:#0\,>!:UNX!7$*1B0):? MHB^1Z.>M7;0L))#)US9_4H,O M7($K+EA%\BZAM1D=2MNT'N(4N-D'NHVHO :6UF[S ]2IT-D[\.?$<)$[[$MVOD6RBTDG-Y$/.^];:"Z<5XV@!XR:;N(YN MI;]#Y$(F&S6FTOI.^EY"IK64HP0VQPN\ TMWFXFK>P/&LRT9@3S8_[^]*VMN MZU;2[_-?,(-]>9DJV;&33#FVRM9-U3RIL,J<4#P.%]_HWP_ 11(I+F_67'"^==PB$5Q"U6_+S,;IXOT9N)L4NF?L\A MRW,G@R4U7$HH@93I)68H%=#4:F ,B:XB4Y+PW",NSI4,?NI4.P[$^VT@/KT M8M6NIKQ@PFH"#$XMN"0ZS<9#GUYKP8P2;0C._B9DUA54FG[NHG&'!R1='.(* M?(2!:W[SL)_ ^7#KC9, *QD]"0YQL (18 .U"N-*?,T]U%XBJ>R M>ER-\K12ZIY(EF[0>-F&_-2DO!KJ>C5QGWT\/$.[L\@/7+<.Y:1&9>VK%$TIA*HUE*VW_8?'#GK, M+46*6L 4LU'B1@,)8Y!N)8U"H(0AF?L%V5R\US)SX[4[$/V4X?5O@G6GH+)2 M8R(U@)8:0%VP0",. 2$B,$B05^8R+D5'QFLTY>?6N;R*WT,!:K])?'?_;=P\ M>&]6S;#?QGHRX/KO"+6L=W9MN1J+DZK'$0=:$N9E@%2@W'=P&=@N:SW/ MI8%[^N,NBF\%3L&!):]7-5TW4L?_JJ)%4D8/% L.0(Z\EM'V89A[)LPA M7@9GU[;IKB)+C["B1,9MEP;_4(O3PX$Z ,L,3'/?XP]S%TWOXZ/P=7\.]%]D MNH:*NX+C6=[^&:&.1(0!Q%@ U2 /CF0($*L(%I(R@[(.F][-2E>+T MP/B$TO01>)UZL[[#Y$"Y<\!8$0TS"M%=89()GKLX>"\CU2E.'Y"/ MJTX/B5>@-C]Y,W]Z6W&YG:PUQBAE0.0XK@![GV96^_30 ]3>\BBN_"';+A>% MDQ&Y3ZF!8JY.49[E&!666!!.@:6I,!Z3&(92G J<$(P.7]#*YC8QAW@I_(C> M0(R/JDQ/@1?/]*?I9>XJKL"E5=SXZ?V'1D_6ME*I&!!P9H'B/(V2X@Y(#5.N MP@2.>.#"[3C%A]+XQSY3DU;TA;$YBTQK,"NCV;=FIL<_3YO%M^64J%$8/7MD M37FA71H7CQ%'(&6V@#;Q=/6.6:.%\-9EMR['62K;39+_9,H(0-WZM-YW B+& ML%6 V]0.:(@$DL>0P3O#$'%>D^SW-R>9*O[Z:SX5:*]>/?"H3<%^\6,7FFG\ M5_^Q6=[1KZ:$>_RC,,?4\4SH%532V71^^S9E:/PT2GO^D-R-Y19V@6,4A (R59W2N&73%O9 M2.D""P0[T^IABOB!9YH7_^U)ZPY]NVP/7;;S,HMH"ZO&9_]M,;5?]"1]9!Y R'KW(Z$#*X#& UL"@1=R M%7K[@E]:GX%@A:AF(_Q!%8:,\C!$"!.ZEITY! MIUJJPB[I,I>$EU*$08(LJ ;.CVX_^#L]?A>]J?G#TF!*KSV5T4QB V&:2(F M=%8"(N*2O*9.V&,M_3-O__.N^?Y?D?3J.(G_\'22[/E@V1<"LCD=0T596 M6 M7&\V@F7:I#I\R*,*4TM%RM)%FV:9IS003HZ.\CJM L^_5N:(& Q7DT%VQ0^ M/0<8-CC$."FRKE+(%G 4 D0"D,@]H1XJMOL&;>W>P#"(3AWX7>15P9W(LA%L M8>>+:5S"VV8V7S6'^>GWE;L,D2*0!!?W +6 LH"!PE0#%+QQB$LO%3NR]7L^ M@WV,I;+/=V2_Q,T)0 7ZE!+TG\+6HC8-C=!01:D$S L$J.;+!L-T,TDXC$N$ M*ON BH/,E+TGRPIYYX@WMA8P90FS +/A8]!E3? : P!HI(8 MA)Q%3KC:)L_";.@DPXXA@!+-KCN'48 M!AI9#YQ75F,=8V[)6FG&?OIE2UO.H!$9Q%C!H;,:;I_>55L]EJ['Z;FK+U^] M3Z;URL7%I7Z(\5,GQNS-PU8^819)C!>K69+[<@FKDA L,%>< "DU6M6':9[J MI:$E(20_4>4N!+[,REJIM7@U+E6%ZE#!)NFTP&>W8!89@W6,9;1E,:IA$ .I M+(Y'@Y=(&>4)SQT!]&2UAH?3Z]*Z8RG4,ZE :<=@7TQNN371A^& ZY3ST9X# M)24$A%,7'6T.G6HW"LPA#OGS8?'^0O4&(&ID@ 3KP"E M*'I1@C) F-;Q9T$'?^9VC0^=!KK(5W,B9Q%Y:.;[7D4B^'*_EQVB?7 MTY'UFU$;MPHQCY-?+43TV*E6Z=4/B4" UENA<%QRNQ@E$T-5-7CT5(VF,$ZO M2#=3R/1M=D?0WTPO4V*;J*"S3>(,4_W,*#(/1R?!8:.6N% M$*3$&W>:NJM+P2=1V WBM2WM0E\ME_6\U:3+?YMY8*CM+81$HQCG^( MZ%='>0,=N'46$2)AN]Z8(5Q45;MY684\R.32.V\FEI6P\ELU# M--=QMRV#NW?CT?UHDO[:K7+$Q7A,Q#6JN&1-?=QHR\MA;)G0CDF4NPMT&,=5 ME?P,T]4"$-:ML$=6&7>Q7PZDO6G2<;&9LF5)%'K 3"6KA.,U\!HR@&F1A*' ML(4L]Q3*G/Q759]P=F4^+[RUJ?;;&!C>^=DMUCB@Y?@W1M(E+/1 !H: A3$F M-,Y)3'(_<[2/CZKR-F=0M3[BKN)1M:<9W%M3X9X&<;]Y>#FF.\W@OK+6CY,; ML_V;2R\&2!7E@0%#6!IUF(8:DS2PQ:=F0.DQ]NV> M5SW\C58:I5Z%1N649FFEV!F?T$P^^["8N)1,2(,/DI,0E_;>;X9/,^Z]M5'A M)<0L/?8J@8[!&1 !,>B8DZCERQ =/]SN_AN^'OTYI^#K4JKW<2T3.TH)R2@[ M':-]/?OZ:3$/X^;?T4_]UV261J$G5]3%W_-NXF>S#]$_7<.[6CY'CA >W0E* M4H^\%@%$?\."$"@F""'+6ODY$*"A@L CF%I 7=3%,P^7/>_P7(AU<(80@&!Z M%D@R"K04/I5Z(&LA1#[DCGE?T?#<+NBW&I[;1=P57),<&O#IL5((>P,PX;F=,&XY/+>+P.O4FW6)FO&"J1 "(-1$X2!* M8M C!?#I0701% S\'SX\MQ/4K8?G=I%[?0JT+DF4E'K&N 2>>Y*&PRJ@?=# M$RRLUY(XA\^K/#54AV8"N=7PW"X2KT!M3@U.8XY2(14! 04/:+3%0#IJ@0V1 MWX!D7%/VIWPR#"^\[%C=(>=73@#JUJ?-[#-E'&7: 8-4\A#C/RFTEDF$D-G "<2XU0S@ MZ[>C"7O/J"@\N M[(3=\7EU7019V;PZ8; R2B& EH^&0R*!LG&C$!,$]%AXKX\Y/.>95W?9(;E] MSIFAHJQI7IV2D"N\K!=+XS PML!$!(%&A!EFL-"[,\O^%O/J.L%U:%Y=%]D5 M/P#V#5PUTG%*7'H'*@U/\A@HK23@TA(H8,":GDR'UM7K/0RBDP-J.\BK@C#X M0E,6C+006:T!9ZGWTW$#C/$*(*.$E 930G*_75+1J)?+3E<=/V:!1+Y>=9YNQ+J6?R$M;EEPC1.("F8)Z>2/# MT[R& RV'G#DHD"Y<]"W&U3Z]Q[UTDDUSC'JI0M.KUPW;Y7"#A*E $3+JST9 M T?#!& F6.-]C"UMNP!Y("-5U3.4U\5.N+PB'6P['<1Q!(DV!GABTA YPU-G M4TJQ2JT]M_'/'[-=+JZIYT"ON_*JE?)._%WJE+RH^EY]^S9M_AK=QP^GKLS9 M39,V[:T.$B-A"% AE7NG6J,^!*V%LJB5CNVC7M4]8 :U M&2S!2C2ADVV>3A_B#]_HV6AVBVE4; 4%X)3K&+,9F(QO]"&BF68G=1O?]6<]FGQH9K-/D\TOWSH+E8+* Z%(7#B&)D91 MR "$N)3<(V9X.X.5A9U*AZ-<,KX8B%'_**.9Z_'ENV6_V*_>+<:^"4]7\$O' M($IKD9C/V"';^EMG[8KMM^)S=\)JS#"+F@2(1#&2Q9(!S4D 3 3F"'30DU8O M$-?:"6N(<=@S JQ+>\C Z%982(%ST;5$6&D!T7G75W,G;!?T6W7"=A%W?3F' MQVX]B 51(JT@_B\YHQA(H1U &'O"C#4*_7,[83MAW+(3MHO Z]2;3;V/BXZ! M$@%0E";O:TF!Y,@!%QU,%!U*Q?F9DU6U=\)V@KIU)VP7N=>G0.N,K7)*2Q%#F&M=!?L6ZRT$W;(^943@+KU:;/E8$#.&PJ05"Z:;.Z! M]"AZB,$1;)T0++M)>N6=L)U4H',G;!<\:E.P#KV4C@:*+291:LG<4QKWJ#31 M+G.'L4(<&IP[+/V;=L)V4IA,G;!=T*NQ$S9Z&5!&1P,0F^9UPA@62V@4H"%& MQ,XJS&"K/NR_1R=LG_,RBVA?320XN PSQU?J>W !3D(/ 8T!A&H2>M M'G'XFW;"=L*\5R=L%P J.!5//2K/K$?0!@P0X=%F"VFB)94"*"HAH8:F4"?S MZ7>"I:HJ%X:[\3D!J$"?#C\VKI 6V D,N,;Q)+8>KC9&C&N1IHSI&/=FUJ2# MS)3UE+)"WIQ#_J4+!;_,&_O'\]'VR\?F9W[MU 7$'2?< N.I7UEQ)5D $*>K M%Q8MKVSW4M;Q[Y35DDQ(-N<1:VD-216&2^[=:)X:I=9+(#SZ]-IBX+Q,ISIV M0.I@@/!(:*U4H*+=(ZG[Z9>]0CJ#1F008P6'SH4:ZX@Q3CL?HO,8_Z NAJZ& M* 04%E#A(!P].B+B1W?OA5RJ"M6A@DW2MQ%0SE.AMT0DQETPO9+$+%"**8:L M4Q+E3EF^HN[>C+4V_41>VK(,>DH8!0J-)1P@YU-LE5YFQ9 H:'PT@H55,M7 MJL[]N'.!9X&Z*$&VQYV[(%+T=U]8A9A;%S0&D7N9 M1D=RH#Q!P'I#&-?$>)G[3K?W@[:7[[3MHUC9Q%V!RER-EW_'N_T/G:XO'V^5 MX@%%_@'"R %*" &&!9]&U!().?;&YU:B=IQ5E6G*HU9G@*0JM^QD"+W=[W(K MK0XBQ,"'(BJB$Q P4(YR$ \]AB62T0=HETD8PD55UV^YS\5S(I*MTVR C;,V MU0',KO5#BI+>IO:I2;KP^=BL>JF6#Z5"2W!0:2KR\AUR S2%#&@F,8J1..:P M54U&%P-WFJVJ0LQ,UBTS_/P]'>N5Y<0 M2_96/*9^I(F['NO)LV1&YHO&<["8(Z0<+2=:I<*$]7WZ&<+%%]\HZ]B?45OV MAI&'1-S;ZHQSG&S7?AJ:Z?TJ2::?2BSRXG_H*V5=[@MJP DQE]&!99CPFY[^ MX>252"4MKQ;RJ:-[[]XWT^0A_J['@[?; M,;I%G.%.T+602@T;;Y9F&ON;YI'==-^<=H%_D4K7[%FPGI6KQ/!.,K="3 ME:)7"6B_3MSH^\@M]'C9OS $J!U298.RXS)O3@F@]%8:CY_X.GV?UV(3[2-8 M#*$#,F_:":"&9.+CI=+Q3=,K';A%NVRPW&H7'15*=K N76R[?U6[9=GGO)XL MK^[O[K^-FP?OE_>@G[ZEM9TEQW#X.V4+7B^893@IZ@K48OS!V]%2%)]' M=U_GLR]7G[^<12U.?Z]LV>H%U:.UZ$L[,/M.CWBBIQ7FCP8VA-NH@3K;8=D[ M'MB12PW0_6OBIN.'NR_>+J:K8OO[^7#<]E)M=;K#\J@=$TD-D+W[:VI73\L, MQNF)5"MP*DBMO5A\#8C\'$^ ^?*Q+CV:_J['BPS0[*'9"J,*$FJ'Q5$8K.V= M_?#;'_.E*KW].KF[ML/,W@G2K: KFV-K)YQ:ZRY_G'^J:7OU7N@O+8Y5;3 M9J7EJH]>:.(+X]'S[O@@V0',/I%[\Q E/CP7L9=@P6O44U@\-^3'A%'X 'YB M;7 28H=4,6R.2GLO*G6E'_8<-7G.@L.$*\#J2#KBI$#^T8F\LX07;??0A5)X M/S)D+57QM_ET?..G][-/X6;J(GQYZCF.D"VFHMV.X-."*7X0)ZYRW--N4RI6 M2MK51=JS_%H@N1G-!WNO6Z2*U8WV!&5+ (51^;P8>P0-0\EI<,VWN1]>WGN( M9K$RT6XXG1!)8< ^-I-S8':$;+$2T6ZPG19,%09PR5<:/Z;G.8S@%KEB1:!] M#.$^051D#&^F]Y-Y7EOXC&2Q@L_^IO"E0.JRA)D .TRU6%)^D!VL#K9-P#"] M'TUT1DNX2[%<.KZ/-3P@CRJP^FFQFLR4 :1'4N7R\7W0V95 %; \*^"XN[OZ MKD?CH;4MQ^B62\[W >RH;&K-\;Z;+IN;SC17YR7U+!G=$TQG2.1^]K;Y[JMA/ C150*E!]=7C]R6%VCY(^^R0'*-J6JBXX.+KRB<\7/ M,X; 1PD7,VI]/8,V8BIM\N[NYNM%#>XHV"95+,78%ZW]HBB,SX:AB1X_S$:S M/(G[@T2+92 '^MX'Q5,8O2_S/ZZG]M/T9C9]-YN/[O6J?3#?2*]6'RB6K^R+ M:A>Q%4;XTV(>;?QD>:.3SY0>IEHLB=D7RY,"JN< _-C,_]<_GM0^U\RI-A\H MEO',<%B>%%MAA-]'HLW$;U::HYCJ ,EBV="^*!X735VX_;3P-\WZ&9>XSDEH MIG;I6@\UMEV^4RQWF@GA-D*L$/;?1\UX*>9/X9?FWK]-;V%,'S[H?Y\#^Z,? M*Y>-S:D!;>19H1K$%?^YT.-1&-DU]S?ZKS=^XL-H/K@AOM<'RZ5_J\E=^-.&_H!]'84S MO-;GD4BQA&L'%)[OR-W5ETX(_>7M8C[Z[M]&,W'73!\&EX[LIU@.IEUY-RT7 M7_HB>3S>96_4XNFO5D4DAPF7J[XZ"D7332Z%H;OV30:OFR,++ M%_E$ECYF@6.75KG!S1U!.2"$'[6*ESQI?M0G_JA/[(:-^[^;9AF/#]T>VY2* ME5$=VQU[%UL:@/'XD:T\6V.77+EC?:^XFS9K+SUYQNL48 W>$\_I%"M2.[8C M]BRTM%.[YC;/I=M+:N6.[6%Q?&WYB[?-%S_VZ57;M0X-3EWLIUCN(.F'UU&Y ME(Y3(BONT:G_%,+(1KKO)WGVVFGJY4Q@/RQ;RZNTS?1^^O.T67S[=39;9$3T M&-UBU;E][>AI&96VJ%_31$CWR&@N%(_1+5:7V]>ZGI91\;W8W#1S/>VRN+\@A=V7F,Q,!V13.E .46*D(AFL7K9GL"=D$UIMW-S,WSU_2Z;;3Q(M%RI:U\O\X1X*D)OR=DS"Y$3Q'VT MR]6I9L#RB+!J,*6/K&8WJ 3 M'4\+=3Y2EP\8=,_/[;'F(+%^*_-J,HY0_SW-%DMT^ M5:Y6M??=71]15H?_1S__=6*;^TQWZ*T^4*YD-1O6A\56'<(O+IG/A?21#[5" MO*J[HQYB+#UI\J7Y22M?7W[E ;WM-UKA7=/M4T?A5;?)/\V_^NF9]_?^;[2" MNJ:+JX["*[VKM5F,]?3#:#;/F.H^3+45G#5=9YT44&D 7UJ6P;-_]Y-L5:U0 MTV76<=$4O_G?&/_\ )ZBW0K)FJZR6@JK(*2+&;C3^MOMH^/^H9D=J]<*>F:6 M3*Q_<8WD>#[;_)DPA_OZTNESIYU/46R%;TUU(:X'5.E!C^_V@ZV8\LB,_ MNYXV=IOS@=,UCGPFRZB-MLO(,'?C\*=>:$K/1M;3] >UW*[)N^>D<[V4>IIZ MP4;0UKAM]^RVE%?Q5NI]?'YLYFM6\YCP]E\IULF5%>)P %0 &5X:&EB:70S,3$M M<3$R,#(T+FAT;>U:[W/;-A+]?G\%SIZFSHPDB[;LRK+C&<=1&LVTR9VC3/OM M!B) "35(L H6?WK^Q:@?MBR$^7:2USW,A-9)!:+Q>+A[2/$LXG/]?G91')Q M_H^S?S:;[)5)JUP6GJ56>2W/%W[.]N/UV7X8Y&QDQ/S\3*@I4^+%CN(I[W;;:7*N!W#F3=E+SF )R]O?)-K-2YZ87X[T=7"/#7: MV-YN._P[I99FQG.EY[UOARJ7CKV5,W9E#EX,A.TQ:R>T9;!=[BLQ+^Y6"O^Q?#0>O!Y<7 MP\&[M^Q?'Z[>?[AX.V3#=^S!J3R6T*\^_-!GR2%O)IT]_IP9R^H[HK[S[C4; MOND__HF\[U]^N!H,!_WWK/_SY9N+M]_WV<7ED.)/3@X[VV+J?QY]Y][H!PUX M$>B;7C,AV?=6RJS!4FF]RN;,3[A_MGO4/=UZ9Y1<"+!84\L,0QRVCF[OEE\J M1X[C+54(+%RO&NH/' MM70ON<."86GR.;LNS$Q+,9:-N(+UN@F#\0N#D@_W7!6,%W-6%=Y6$N%#! 0] M@ 7E+,>555RSC*>>Z-'DRC-OHMV&02%3Z1RWX)!(,A=1 3 M&(,,4F4A'F!6H#LB 1.PV42E$^8J^ECUGTDK:R.P<[CPN#P MUH(]V^T>)-^=NAIEM=@@*C%9IG 9EG+ N)4!- "!&FE)B\LDD#K2RDW(G,QR MT"A1*5T+Y5)M7(5^1+#6Z(B>TII4"MQV; ]@$1+HBXCHWZ037HPENP!W754: M%D&3'NW)YZ%K\OB'6=G*W4/,"O+L0K"#5JXJ9&!9)%+,YH)<+1@ZM& M3@G%K:()J"@70KDHR%/EJ(2'[>I"O0]D:IQ$0![D39U*:%255II3#<"T0A K M*8 >45BLZR%\&TDR!$VCOQ1/G);W1H\&WDFKV]F$]UU^>Y#>-E"^=<_MP8X- M,E6",,R=*3B5 .Z ?Q*K!&QNQ0)D@+WB(Z65GY- N&]8VG(!CP%J<;?<,ET3 MNZ'2W-03*BM; NHN")HT-5:$ (+L'T'9_RG45N(T67689I*>:8KG;^J##!&1_"LB]IU M9"K_< 3;5!.^M)8DS+-//U^QT4+RAYTI8R803T A#?"$D2@>#1*7#!L7>1,L M]/!?B\+0P]TR8!M M,-X=ZSIP/)_)<&Y!1QI%M8SK>8QJPMU2KA!7AKT@12@B(1\UP<^95M=2UX<8 M=^P;?SA%?P/\'SV%![]P!"H6VZ:QXC.BUW7HKJB-P/<9XF5#'2]#XU#(WEBW MU OA!ESFN?)>RH\4CY&!(J%VH1!?<+('@(.K'=4"_"6=OMB5\M=*(?RP ZLB M#6<=S___>/>E=<*%AO)#MA0 2 _:],B>*@G$U+5^^9@UD_R:BG=4@J%\!PT; M#F<7QU6?A<]Q#@5R@HY-+!GP0L[7R11< #P*U$16$@WQP50[8($EA M,G7EN?=@[V_ CH_P^>L"(B"S()D&T" #+P)/X8B]!EXCUE!53(V>2BJD!1_7 MOQ38FDIE7FHSEVB=34SD3WX+UH#AGZ(R6O_-;^0U$+[2HK]"'@.OLA_Y_-EN M+D>OF5FC:]V*SK=-MG;0? M;FZWD@?;_B2W^R'DRXTI>O-@YW%ETJ+=![Z"\8X3/S=_)E^BI$_*1N;99*#9;Y:<&5\!>B1G3(1VCJ9Y^)',+KKV+ M+%-^IK:G>RPE7*,3%0E^^)#'YAW*V']CG M'G);?Y^K-"[\^-:+!\=3N?&&UPJ6@;[:JRY\Y.A]@\TNGW@IK/Z,[Z?MA_?B M?@=02P,$% @ :HFJ6 *[.7NE!P 2R< !4 !E>&AI8FET,S$R+7$Q M,C R-"YH=&WM6FMO&[D5_=Y?P=IHU@$D62/)L2T[!AQ':01LD]91D/U64$.. MQ9HSG"4Y4M1?WW/)T<.6O%&ZVZSC;8#(&CXN[R4/SSVDYGSBIE=Q+P2JGBAOV24AWRYK-NM65*>=6W4P\Z[0[/?;)V%LU MY;'>*Z_EQ<+.^6%\/C\,@YR/C9A?G LU94J\W%/MI'UZU,VZ/#G.>NEI>G+< MXZ='+]*QE,>BF[7_F>RA*YK'/L[/M7RYEZNB.9$T?K]W5/JSF1)^TD_:[;_L MA787YYDI/ :SZ!R_1AN;EKB]@3%ORG[2@:62"X%XFUIFOG_0]Z+UA874:&/[^^WP[XQJFAG/E9[W?QBI7#KV3L[8M$VQ@D/,YB2,>PHU4A%R$F'8IK\-/;X:OAB'635N=N4+N&TVV]6"L* ML=1E:R&F6#-I?Z<8KP;7H^&;X=7E:/C^'?O[Q^L/'R_?C=CH/7LPXL?B^O7' M'PKMY?O_CI@ MEU4&]K0,,&&UDS9Y]4.L&TPEZ#I=*21\Q/ MN'^V?W1R]M_MJ*3;.MH::BQ2A\4?M):Q/;M1[\[6R]H#H9LPJ>2 M63E5H[RTEC/3,'>&)NSI-W\!S,9>Z7,CRJ3[(/1E5>F M< TV+-(6EN[T"2]=YW$MW2ONL&!8FGS.;@LSTU+QW4:#0J;2.6[GU"3G MMQ+CKMET*!-P!D/JH$LP!C5(E84.0;,"W>&)D);-)F "YBKZ6/6?22MK(Q1 MKIR&8"'M,U-^@@!=*=/@(-DMX9H1"'.*;H*-Y^O3\,1AV?U.8"E9I@HL/&%H MM= -8!+-46W7ZE61@6\X<0N^I[H2L DPK:UJ T!4Q%$EL$ P)GAKO<)I#1%W M;VAL!:'(<(-:5!H- $X#!(7A7/ GY6[",FUF;H%<*V^4\Y9C($Z%T6]XV5@# MH%LXL^'M$\=@[W%A<'1GP9[MGW22XS-7HZP6&T0E)LL4'L-2#AFW,H &(%!C M+6EQF012QUJY"36G9CEHE*B4GH5RJ3:N0C\B6&MT1$]I32H%BAT[ %B$!/HB M(@:?TPDO;B2[!'==5QHM@D@].I#/0]?D2,2G^*A(>181M=$^,=P:FB.ZR)F= M1\KNC)1A) KT/L;1@I3!$U=C. D\%N!V6KV$YN&U=)@K+&+(B%^&6(.2= MU*F$1E5II3GE (05G%A) ?2(PF)=#^';6%)#T#3Z2_'$:?E@_&C@G;1.>IOP MOL]O#]+;!LIW[KD[V+%!IDH0AKDS!:<4P!WP3V*5@,VM6( ,L%=\K+3R5 <;H")YU4;N.3>4?]F"7;,*7K24)\^S+YRLV7DC^L#-EG GX$U!( M SQA)(I'@\0EP\9%W@0+'?YK41AJMB+R*WB51(%)T\H2)-8R\!:KN7$>Y723 M"ELNA:'ZDHD=/- E [;!>/=:UX[C?";#O05=:135TJ_GT:L)=TNY0EP9]H(4 M(8F$^:@)?LZTNI6ZOL2XU[[QJZ?H#X#_HZ=P\ M7H&*Q;1HK/B-Z78?NBMH( M?%\A7C;4\=(U#H7LC75+O1 *8#+/E?=2_D+R&!LH$JH7"OX%(P< .+C:42[ M7]+IBUTI?ZX4W \[L"K2<-?Q_/_'NV^M$RXUE!]F2P& =-"F(WNJ)!!3Y_KE M,6LF^2TE[Z@$0_H.&C9U&>#-CUV#@N0_GS[IZC#TF;1,1:%XZV5]\.4/2*C6? M]U41_ B=SFIC8^.]R?NT2::4^2"CZOD)4Q6K5^]JM-KQ?0UO\5\L1JZK6Z'J MT(O-NMY)Z[3]<'6[E3Q8]QN9/0PN1[ M!UM!+Q!4>]6%CQV]4;#9Y0MOD-6?\66VP_ 2W7\ 4$L#!!0 ( &J)JE@& MAG 8800 %X1 5 97AH:6)I=#,R,2UQ,3(P,C0N:'1MW5CQ3^,V%/Y] M?\5;T3A.2M(D+;1-"U(I95?I1N]HT=U^FMS8(1Y)G-DNT/WU>W82X ZX(6W' M8%55-7GV\_>^]^6SE5&J\^Q@E#)"#WX8_>BZ<"3B=57A[V&>C!>LJ2<(31'3S^]FA[,E=$(O^+*"IV&/ MD7DF_R/PD^GI/O#Q L9'\P_+Z='K(KRA>>#OP?P8EN^FL!B?'HY/I@MW_OG]]%<8 M3Y8F$OI^^'@YWW@4?E\KS9/-=Z^O^V!]LP)B410LUEP4<,5U"CIE\'%-))*> M;>"4E4)J$ D<)PP6(EN;TDF)CKX+A6\"< MQT+F$/CN1TB$M,E+A"HHL((:Y_Z%R#C=W@KV_&$G<*Q?.T 4)#Q#=[]!M&#Q M6G+-L7124)A>QRDISADZ?9YSI0QZ_)J1%+<%2)EDB/DNMJJ2!AJ"=Y! BECB M"Z ,?I:,)0Y,4LX23(_+:7[)8)XD/&;2$&!RU04Z@/=,VQPHUU*M"79."[CS M>-:,5H\GED.H*,UV=7=X,\B(J\Z_(')%"J;<^77&-C".+?5&7 [&"<+?[0^? M++.24,.QF[%$1YV]!X57W>(%Q<E&'A-7<^_^I=,!;ZW:VA8 M8D-J_2?K#!^&&+N?&0G>R%*R/]9<,G.24*93MWW?(2A_"<'N#GU[T]U;$=\( MN&YQ,.A4NB>8BS**C1X,C=3_G\T.7V2S>8$>E1/;0;1%37 FQ;NV>8T2"#>^ M6$JF3-,=$R99!C@-P9 ,):%*5(%R[*R$%Z2(S7U,2+E-;0P,1ZVS2C,"#=&N MJ;YR&>_U[2='R(+U*/3U3>7J@5^Y^E.+0>2:K#+6A%="HDN[6$%&2L6BYL^0 M.25;S8ZFJPK?GCW7[WL!_/.Q[P:.Q?REMVT*N8",S"G6SW^JTF@FUU*.PO(;@84OX MBI^*FN>73]#%FK:WNKVALK_W-^<; =6.]$9%YZDZ.:X0F.\AX)(^H]H:UL;>L#E[KX/*(6R.T$D648, MJ'MO"&[%:7W,OYU"5LH&AI8FET,S(R+7$Q,C R-"YH=&W=6.]/XS@0 M_7Y_Q5S1L:R4A"1MH:0%J92BK;1'=VD1>Y].;NP0WR9QUG:!WE]_8R0 M[I:#0ZAJ,O9XWIOG%S>#5.?9P2!EA![\-/C9=>%(Q,N<%1IBR8AF%):*%Q=P M3IGZ"JY;CQJ)P75T/MNTB@X6@JX,! MY9? Z7Z+=Q(:['4)"VF2=.(PZ'6">.$3/UYT=^/=7N?WH(53<7@U1^E5QO9; M.2__F/&<*3M@5G(J<%.\< M10KE*B9Y4@U4_$^&->(B]O*JJG\7\V2\8 V>(#0@QE\^3 XG#(:SB?3$_AT=CH[&Y[,83Z%)Z&\EM*#'IQY,V_DP6P\ MLN4'[:[OO/["AS,8'DT_S<=';XOPAN8]?P>FQS#_,(;9\/1P>#*>N=,O'\>_ MP7 T-Y'0]\.GX7QG*_RQ5)HGJQ^.K_,HODD!L2@*%FLN"KCB.@6=,OB\)!)) MSU9PRDHA-8@$#KGXR!,&,Y$MS6CEP*2(/=@R$S8W>F'H]TOPW(RD^%B!EDF'-MVNKD#2E8?$.S*58 MP3F/4\2*5#HP2CE+X)@7I(@YR6":)#QFTL WF6IX#N ]TS0'RJ542X)]TP)N M;5K>'-X.,M.K\,R(7I&#*G5YG; 7#V!)OI.5@G&#QW5[_ MV2(K"34,NQE+=-3>>51VU2U>4-QDD1OTRA__1'E\R%?A>U] P MQX;4ZD^6&6Z%&+N?&0&N12G9MR67S)PCE.G43=^W"(I?0M#=HN_7W;V1\%J^ M=8N#O7:E>H*Y**/8Z+V^$?K_L]GAJVPV+]"A-@8&"A1!>T$'02TN='9[2O[>?^YO-9.3<=WD/H&YS/9J:5EE5'-D4$L! A0#% @ :HFJ6%J;^3EH*P 9K$! !4 M ( !($$! &)L9G,M,C R-# S,S%?8V%L+GAM;%!+ 0(4 Q0 ( &J) MJEBQ'7)^$FH ([5! 5 " ;ML 0!B;&9S+3(P,C0P,S,Q M7V1E9BYX;6Q02P$"% ,4 " !JB:I8,S<5ZXPS !3-0 % M @ $ UP$ 8FQF&UL4$L! A0#% @ :HFJ6 ($?9/,O 7= ( !4 M ( !B5$# &)L9G,M,C R-# S,S%?<')E+GAM;%!+ 0(4 Q0 ( &J)JECE MMKOHM < !XG 5 " 8@.! !E>&AI8FET,S$Q+7$Q,C R M-"YH=&U02P$"% ,4 " !JB:I8 KLY>Z4' !+)P %0 M@ %O%@0 97AH:6)I=#,Q,BUQ,3(P,C0N:'1M4$L! A0#% @ :HFJ6 :& M[AIB400 #41 5 " M =LB! !E>&AI8FET,S(R+7$Q,C R-"YH=&U02P4& L "P#8 @ 7R<$ # end XML 109 blfs-20240331_htm.xml IDEA: XBRL DOCUMENT 0000834365 2024-01-01 2024-03-31 0000834365 2024-05-03 0000834365 2024-03-31 0000834365 2023-12-31 0000834365 us-gaap:SeriesAPreferredStockMember 2023-12-31 0000834365 us-gaap:SeriesAPreferredStockMember 2024-03-31 0000834365 us-gaap:ProductMember 2024-01-01 2024-03-31 0000834365 us-gaap:ProductMember 2023-01-01 2023-03-31 0000834365 us-gaap:ServiceMember 2024-01-01 2024-03-31 0000834365 us-gaap:ServiceMember 2023-01-01 2023-03-31 0000834365 blfs:RentalRevenueMember 2024-01-01 2024-03-31 0000834365 blfs:RentalRevenueMember 2023-01-01 2023-03-31 0000834365 2023-01-01 2023-03-31 0000834365 us-gaap:SeriesAPreferredStockMember us-gaap:PreferredStockMember 2023-12-31 0000834365 us-gaap:CommonStockMember 2023-12-31 0000834365 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0000834365 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0000834365 us-gaap:RetainedEarningsMember 2023-12-31 0000834365 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0000834365 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0000834365 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0000834365 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0000834365 us-gaap:SeriesAPreferredStockMember us-gaap:PreferredStockMember 2024-03-31 0000834365 us-gaap:CommonStockMember 2024-03-31 0000834365 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0000834365 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0000834365 us-gaap:RetainedEarningsMember 2024-03-31 0000834365 us-gaap:SeriesAPreferredStockMember us-gaap:PreferredStockMember 2022-12-31 0000834365 us-gaap:CommonStockMember 2022-12-31 0000834365 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0000834365 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0000834365 us-gaap:RetainedEarningsMember 2022-12-31 0000834365 2022-12-31 0000834365 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0000834365 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0000834365 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0000834365 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0000834365 us-gaap:SeriesAPreferredStockMember us-gaap:PreferredStockMember 2023-03-31 0000834365 us-gaap:CommonStockMember 2023-03-31 0000834365 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0000834365 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0000834365 us-gaap:RetainedEarningsMember 2023-03-31 0000834365 2023-03-31 0000834365 blfs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0000834365 blfs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-10-01 2023-12-31 0000834365 blfs:CustomerBMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0000834365 blfs:CustomerBMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0000834365 blfs:CustomerCMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0000834365 blfs:CustomerCMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0000834365 blfs:CryoStorProductsMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2024-01-01 2024-03-31 0000834365 blfs:CryoStorProductsMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-01-01 2023-03-31 0000834365 blfs:XLEFreezerLineMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2024-01-01 2024-03-31 0000834365 blfs:XLEFreezerLineMember us-gaap:SalesRevenueNetMember us-gaap:ProductConcentrationRiskMember 2023-01-01 2023-03-31 0000834365 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-03-31 0000834365 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-03-31 0000834365 us-gaap:EMEAMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-03-31 0000834365 us-gaap:EMEAMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-03-31 0000834365 blfs:GeographicOtherMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-03-31 0000834365 blfs:GeographicOtherMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-03-31 0000834365 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2024-01-01 2024-03-31 0000834365 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2023-01-01 2023-03-31 0000834365 blfs:SupplyPurchaseMember us-gaap:SupplierConcentrationRiskMember blfs:OneSupplierMember 2024-01-01 2024-03-31 0000834365 blfs:SupplyPurchaseMember us-gaap:SupplierConcentrationRiskMember blfs:OneSupplierMember 2023-01-01 2023-03-31 0000834365 us-gaap:AccountsPayableMember us-gaap:SupplierConcentrationRiskMember blfs:OneSupplierMember 2024-01-01 2024-03-31 0000834365 us-gaap:AccountsPayableMember us-gaap:SupplierConcentrationRiskMember blfs:OneSupplierMember 2023-01-01 2023-12-31 0000834365 srt:ScenarioPreviouslyReportedMember 2023-12-31 0000834365 srt:RestatementAdjustmentMember 2023-12-31 0000834365 blfs:SciSafeHoldingsIncMember us-gaap:MeasurementInputDiscountRateMember 2020-10-01 0000834365 blfs:SciSafeHoldingsIncMember us-gaap:MeasurementInputRiskFreeInterestRateMember 2020-10-01 0000834365 blfs:SciSafeHoldingsIncMember blfs:MeasurementInputAssetPriceVolatilityMember 2020-10-01 0000834365 blfs:SciSafeHoldingsIncMember blfs:MeasurementInputRevenueVolatilityMember 2020-10-01 0000834365 blfs:SciSafeHoldingsIncMember 2020-10-01 0000834365 blfs:SciSafeHoldingsIncMember 2023-01-01 2023-03-31 0000834365 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0000834365 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0000834365 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0000834365 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:OtherDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:OtherDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:OtherDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueMeasurementsRecurringMember us-gaap:OtherDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0000834365 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0000834365 us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0000834365 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0000834365 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0000834365 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0000834365 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:OtherDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:OtherDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:OtherDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueMeasurementsRecurringMember us-gaap:OtherDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0000834365 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0000834365 us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0000834365 blfs:ContingentConsiderationLiabilitiesMember 2022-12-31 0000834365 blfs:ContingentConsiderationLiabilitiesMember 2023-01-01 2023-03-31 0000834365 blfs:ContingentConsiderationLiabilitiesMember 2023-03-31 0000834365 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:OtherDebtSecuritiesMember 2024-03-31 0000834365 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0000834365 us-gaap:OtherDebtSecuritiesMember 2023-12-31 0000834365 blfs:SeriesA1AndA2PreferredStockMember 2024-03-31 0000834365 blfs:SeriesA1AndA2PreferredStockMember 2023-12-31 0000834365 us-gaap:SeriesEPreferredStockMember 2023-12-31 0000834365 us-gaap:SeriesEPreferredStockMember 2024-03-31 0000834365 srt:MinimumMember blfs:RealEstateLeaseMember 2024-03-31 0000834365 srt:MaximumMember blfs:RealEstateLeaseMember 2024-03-31 0000834365 srt:MinimumMember blfs:VehicleAndOtherEquipmentMember 2024-03-31 0000834365 srt:MaximumMember blfs:VehicleAndOtherEquipmentMember 2024-03-31 0000834365 us-gaap:LeaseholdImprovementsMember 2024-03-31 0000834365 us-gaap:LeaseholdImprovementsMember 2023-12-31 0000834365 blfs:FurnitureAndComputerEquipmentMember 2024-03-31 0000834365 blfs:FurnitureAndComputerEquipmentMember 2023-12-31 0000834365 us-gaap:ManufacturingFacilityMember 2024-03-31 0000834365 us-gaap:ManufacturingFacilityMember 2023-12-31 0000834365 us-gaap:ConstructionInProgressMember 2024-03-31 0000834365 us-gaap:ConstructionInProgressMember 2023-12-31 0000834365 us-gaap:CustomerRelationshipsMember 2024-03-31 0000834365 us-gaap:TradeNamesMember 2024-03-31 0000834365 us-gaap:TechnologyBasedIntangibleAssetsMember 2024-03-31 0000834365 us-gaap:NoncompeteAgreementsMember 2024-03-31 0000834365 us-gaap:CustomerRelationshipsMember 2023-12-31 0000834365 us-gaap:TradeNamesMember 2023-12-31 0000834365 us-gaap:TechnologyBasedIntangibleAssetsMember 2023-12-31 0000834365 us-gaap:NoncompeteAgreementsMember 2023-12-31 0000834365 2021-05-01 2021-05-31 0000834365 blfs:NotesPayableMember 2021-05-31 0000834365 blfs:NotesPayableMember blfs:LondonInterbankOfferedRateLIBOR1Member 2021-05-01 2021-05-31 0000834365 blfs:NotesPayableMember 2021-10-31 0000834365 blfs:AdvantageTermNote1Member blfs:NotesPayableMember 2021-10-31 0000834365 blfs:EnhancedTermNoteMember blfs:NotesPayableMember 2021-10-31 0000834365 blfs:NotesPayableMember us-gaap:SubsequentEventMember 2024-04-17 2024-04-17 0000834365 blfs:The2023TermLoanMember 2022-09-20 0000834365 blfs:The2023TermLoanMember 2022-09-20 2022-09-20 0000834365 blfs:The2023TermLoanMember us-gaap:PrimeRateMember 2022-09-20 2022-09-20 0000834365 blfs:The2023TermLoanMember 2024-03-31 0000834365 blfs:GlobalCoolingAmendedTermNotesMember 2024-03-31 0000834365 blfs:GlobalCoolingAmendedTermNotesMember 2023-12-31 0000834365 blfs:TermLoanMember 2023-12-31 0000834365 blfs:TermLoanMember 2024-03-31 0000834365 blfs:FinancedInsurancePremiumMember 2024-03-31 0000834365 blfs:FinancedInsurancePremiumMember 2023-12-31 0000834365 blfs:FreezerEquipmentLoanMember 2023-12-31 0000834365 blfs:FreezerEquipmentLoanMember 2024-03-31 0000834365 blfs:ManufacturingEquipmentLoansMember 2024-03-31 0000834365 blfs:ManufacturingEquipmentLoansMember 2023-12-31 0000834365 blfs:FreezerInstallationLoanMember 2023-12-31 0000834365 blfs:FreezerInstallationLoanMember 2024-03-31 0000834365 blfs:OtherLoansMember 2024-03-31 0000834365 blfs:OtherLoansMember 2023-12-31 0000834365 blfs:TotalDebtMember 2024-03-31 0000834365 blfs:TotalDebtMember 2023-12-31 0000834365 blfs:ProductFreezerAndThawMember 2024-01-01 2024-03-31 0000834365 blfs:ProductFreezerAndThawMember 2023-01-01 2023-03-31 0000834365 blfs:ProductCellProcessingMember 2024-01-01 2024-03-31 0000834365 blfs:ProductCellProcessingMember 2023-01-01 2023-03-31 0000834365 blfs:StorageAndStorageServicesProductRevenueMember 2024-01-01 2024-03-31 0000834365 blfs:StorageAndStorageServicesProductRevenueMember 2023-01-01 2023-03-31 0000834365 blfs:StorageAndStorageServicesMember 2024-01-01 2024-03-31 0000834365 blfs:StorageAndStorageServicesMember 2023-01-01 2023-03-31 0000834365 blfs:ServiceFreezerAndThawMember 2024-01-01 2024-03-31 0000834365 blfs:ServiceFreezerAndThawMember 2023-01-01 2023-03-31 0000834365 blfs:StorageAndStorageServicesRentalRevenueMember 2024-01-01 2024-03-31 0000834365 blfs:StorageAndStorageServicesRentalRevenueMember 2023-01-01 2023-03-31 0000834365 blfs:ServiceRevenueMember 2024-04-01 2024-03-31 0000834365 blfs:ServiceRevenueMember 2024-03-31 0000834365 blfs:RentalRevenueMember 2024-04-01 2024-03-31 0000834365 blfs:RentalRevenueMember 2025-01-01 2024-03-31 0000834365 blfs:ServiceRevenueMember 2025-01-01 2024-03-31 0000834365 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0000834365 us-gaap:EmployeeStockOptionMember 2024-03-31 0000834365 us-gaap:RestrictedStockMember 2023-12-31 0000834365 us-gaap:RestrictedStockMember 2024-01-01 2024-03-31 0000834365 us-gaap:RestrictedStockMember 2024-03-31 0000834365 us-gaap:PerformanceSharesMember 2024-03-08 2024-03-08 0000834365 us-gaap:PerformanceSharesMember 2024-03-08 0000834365 us-gaap:PerformanceSharesMember 2024-01-01 2024-03-31 0000834365 us-gaap:PerformanceSharesMember 2024-03-31 0000834365 us-gaap:PerformanceSharesMember 2023-01-01 2023-03-31 0000834365 blfs:MarketbasedRestrictedStockMember 2023-12-31 0000834365 blfs:MarketbasedRestrictedStockMember 2024-01-01 2024-03-31 0000834365 blfs:MarketbasedRestrictedStockMember 2024-03-31 0000834365 srt:ExecutiveOfficerMember blfs:MarketbasedRestrictedStockMember 2022-02-24 2022-02-24 0000834365 blfs:MarketbasedRestrictedStockMember 2024-03-08 2024-03-08 0000834365 2022-02-24 2022-02-24 0000834365 blfs:MarketbasedRestrictedStockMember 2022-02-24 2022-02-24 0000834365 srt:ExecutiveOfficerMember blfs:MarketbasedRestrictedStockMember 2023-01-03 2023-01-03 0000834365 srt:MinimumMember blfs:MarketbasedRestrictedStockMember 2023-01-03 2023-01-03 0000834365 srt:MaximumMember blfs:MarketbasedRestrictedStockMember 2023-01-03 2023-01-03 0000834365 2023-01-03 2023-01-03 0000834365 blfs:MarketbasedRestrictedStockMember 2023-01-03 2023-01-03 0000834365 srt:RestatementAdjustmentMember 2023-01-01 2023-12-31 0000834365 srt:ExecutiveOfficerMember blfs:MarketbasedRestrictedStockMember 2024-03-08 2024-03-08 0000834365 srt:MinimumMember blfs:MarketbasedRestrictedStockMember 2024-03-08 2024-03-08 0000834365 srt:MaximumMember blfs:MarketbasedRestrictedStockMember 2024-03-08 2024-03-08 0000834365 2024-03-08 2024-03-08 0000834365 blfs:MarketbasedRestrictedStockMember 2023-01-01 2023-03-31 0000834365 us-gaap:CostOfSalesMember 2024-01-01 2024-03-31 0000834365 us-gaap:CostOfSalesMember 2023-01-01 2023-03-31 0000834365 us-gaap:GeneralAndAdministrativeExpenseMember 2024-01-01 2024-03-31 0000834365 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-03-31 0000834365 us-gaap:SellingAndMarketingExpenseMember 2024-01-01 2024-03-31 0000834365 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-03-31 0000834365 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-03-31 0000834365 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-03-31 0000834365 blfs:ShareBasedPaymentArrangementOptionAndRestrictedStockAwardsMember 2024-01-01 2024-03-31 0000834365 blfs:ShareBasedPaymentArrangementOptionAndRestrictedStockAwardsMember 2023-01-01 2023-03-31 0000834365 blfs:GCIHoldingsMember us-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember us-gaap:SubsequentEventMember blfs:GlobalCoolingMember 2024-04-17 0000834365 us-gaap:SubsequentEventMember blfs:GlobalCoolingMember 2024-04-17 0000834365 us-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember blfs:GlobalCoolingMember us-gaap:SubsequentEventMember 2024-04-17 2024-04-17 0000834365 us-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember blfs:GlobalCoolingMember us-gaap:SubsequentEventMember 2024-04-17 0000834365 us-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember blfs:GlobalCoolingMember blfs:StockCompensationExpenseMember us-gaap:SubsequentEventMember 2024-04-17 2024-04-17 0000834365 us-gaap:DisposalGroupHeldforsaleNotDiscontinuedOperationsMember blfs:GlobalCoolingMember blfs:CashExpendituresMember us-gaap:SubsequentEventMember 2024-04-17 2024-04-17 0000834365 blfs:SecondAmendmentTermLoanMember us-gaap:SubsequentEventMember 2024-04-17 0000834365 blfs:SecondAmendmentTermLoanMember us-gaap:SubsequentEventMember 2024-04-17 2024-04-17 0000834365 blfs:AbyJMatthewMember 2024-01-01 2024-03-31 0000834365 blfs:AbyJMatthewMember 2024-03-31 shares iso4217:USD iso4217:USD shares blfs:reportable_segment blfs:reporting_unit pure blfs:note blfs:peer blfs:employee 0000834365 --12-31 2024 Q1 false P3Y P1Y P1Y P4Y P1Y P9M P1Y P9M P1Y P293D 10-Q true 2024-03-31 false 001-36362 BioLife Solutions, Inc. DE 94-3076866 3303 Monte Villa Parkway, Suite 310 Bothell WA 98021 425 402-1400 Common stock, par value $0.001 per share BLFS NASDAQ Yes Yes Large Accelerated Filer false false false 46030886 29694000 35407000 31000 31000 15579000 16288000 1745000 1710000 18574000 18657000 43414000 43456000 4408000 6765000 111700000 120604000 6904000 7713000 21042000 21077000 10779000 11446000 65000 94000 245000 273000 822000 548000 5069000 5069000 20235000 21149000 224741000 224741000 401602000 412714000 4984000 6940000 8863000 11932000 5395000 5442000 7800000 7858000 2645000 2797000 352000 376000 8619000 6833000 38658000 42178000 12579000 13205000 1086000 1169000 15681000 18311000 193000 188000 68197000 75051000 0.001 0.001 1000000 1000000 4250 4250 0 0 0 0 0 0 0.001 0.001 150000000 150000000 45689583 45689583 45167225 45167225 46000 45000 659063000 652880000 -566000 -345000 -325138000 -314917000 333405000 337663000 401602000 412714000 24803000 31593000 5088000 4471000 1836000 1639000 31727000 37703000 14384000 18397000 3519000 3891000 1263000 1376000 12934000 14842000 5070000 6471000 3534000 4152000 914000 1459000 237000 0 0 720000 41855000 51308000 -10128000 -13605000 -207000 -411000 245000 394000 38000 -17000 -10090000 -13622000 131000 92000 -10221000 -13714000 -10221000 -10221000 -13714000 -13714000 -0.22 -0.22 -0.32 -0.32 45432426 45432426 43027612 43027612 -10221000 -13714000 -203000 106000 -18000 39000 -10442000 -13569000 0 0 45167225 45000 652880000 -345000 -314917000 337663000 6183000 6183000 522358 1000 1000 -203000 -203000 -18000 -18000 -10221000 -10221000 0 0 45689583 46000 659063000 -566000 -325138000 333405000 0 0 42832231 43000 611739000 -679000 -246915000 364188000 7363000 7363000 80938 125000 125000 376800 106000 106000 39000 39000 -13714000 -13714000 0 0 43289969 43000 619227000 -534000 -260629000 358107000 -10221000 -13714000 1364000 1721000 914000 1459000 0 13000 6183000 7363000 -83000 418000 5000 13000 0 720000 182000 390000 14000 -68000 -198000 -218000 0 -50000 -65000 -3612000 -42000 6425000 -2392000 -661000 -1956000 157000 -2767000 371000 -58000 583000 20000 510000 -377000 -20000 -4475000 -2712000 6374000 8202000 973000 524000 6000000 14900000 464000 1001000 356000 3295000 -221000 2926000 241000 127000 0 125000 727000 569000 16000 9000 -952000 -562000 -5648000 -348000 35438000 19473000 -65000 11000 29725000 19136000 26000 347000 0 880000 -6000 0 18000 -39000 445000 497000 Organization and significant accounting policies<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Business</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">BioLife Solutions, Inc. (“BioLife”, “us”, “we”, “our”, or the “Company”) is a developer, manufacturer, and supplier of a portfolio of bioproduction tools and services including proprietary biopreservation media, automated thawing devices, cloud-connected shipping containers, ultra-low temperature mechanical freezers, cryogenic and controlled rate freezers, and biological and pharmaceutical materials storage. Our CryoStor® freeze media and HypoThermosol® hypothermic storage media are optimized to preserve cells in the regenerative medicine market. These novel biopreservation media products are serum-free and protein-free, fully defined, and are formulated to reduce preservation-induced cell damage and death. Our Sexton cell processing product line includes human platelet lysates (“hPL”) for cell expansion, reducing risk and improving downstream performance over fetal bovine serum, human serum, and other chemically defined media, CellSeal® cryogenic vials that are purpose-built rigid containers used in cell and gene therapy (“CGT”) that can be filled manually or with high throughput systems, and automated cell processing machines that bring multiple processes traditionally performed by manual techniques under a higher level of control to protect therapies from loss or contamination. Our ThawSTAR® product line is composed of a family of automated thawing devices for frozen cell and gene therapies packaged in cryovials and cryobags. These products help administer temperature-sensitive biologic therapies to patients by standardizing the thawing process and reducing the risks of contamination and overheating, which are inherent with the use of traditional water baths. Our cryogenic freezer technology provides for controlled rate freezing and cryogenic storage of biologic materials. Our ultra-low temperature mechanical freezers allow biological materials and vaccines to be stored at temperatures which range from negative 20℃ to negative 86℃. Our evo® shipping containers provide cloud-connected passive storage and transport containers for temperature-sensitive biologics and pharmaceuticals. Our biological and pharmaceutical materials storage services provide facilities that allow for real-time tracking of biologic materials and vaccines that can be stored at a wide range of temperatures.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 17, 2024, the Company sold all of the issued and outstanding shares of common stock of Global Cooling, Inc., a Delaware corporation and wholly owned subsidiary of the Company (“Global Cooling”), to GCI Holdings Company, LLC, an Ohio limited liability company (“GCI Holdings”) pursuant to a Stock Purchase Agreement (the “Purchase Agreement”), by and between the Company and GCI Holdings (the “Global Cooling Divestiture”). The Global Cooling Divestiture was considered a subsequent event to the financial results presented as of March 31, 2024. Global Cooling is therefore presented as a part of our continuing operations as of the three months ended March 31, 2024. For additional information on the Global Cooling Divestiture, see Note 19: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Subsequent events. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant estimates and assumptions by management affect the Company’s net realizable value of inventory, sales tax liabilities, valuation of market-based stock awards, valuations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, contingent consideration from business combinations, and provision for income taxes.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Unaudited Condensed Consolidated Financial Statements and related footnote disclosures as of and for the three months ended March 31, 2024 are unaudited, and are not necessarily indicative of the Company’s operating results for a </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">full year. The Unaudited Condensed Consolidated Financial Statements include all normal and recurring adjustments necessary for a fair presentation of the Company’s financial results for the three months ended March 31, 2024 in accordance with U.S. GAAP, however, certain information and footnote disclosures normally included in annual financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to the U.S. Securities and Exchange Commission (the “SEC”) rules and regulations relating to interim financial statements. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company’s Annual Report on Form 10-K as of and for the fiscal year ended December 31, 2023, filed with the SEC on February 29, 2024 (the “Annual Report”).</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiaries, SAVSU Technologies, Inc. (“SAVSU”), Arctic Solutions, Inc. doing business as Custom Biogenic Systems (“CBS”), SciSafe Holdings, Inc. (“SciSafe”), BioLife Solutions B.V, Global Cooling, Inc. doing business as Stirling Ultracold (“Global Cooling” or “GCI”), and Sexton Biotechnologies, Inc. (“Sexton”). All intercompany accounts and transactions have been eliminated in consolidation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are not necessarily indicative of results to be expected for the entire year.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Foreign currency translation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheets, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Comprehensive Loss, Unaudited Condensed Consolidated Statements of Shareholders’ Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company’s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Segment reporting</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company views its operations and makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. The Company’s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Significant accounting policies</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no significant changes to the accounting policies during the three months ended March 31, 2024, as compared to the significant accounting policies described in our Annual Report.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and capital resources</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">On March 31, 2024 and December 31, 2023, we had $46.1 million and $52.3 million in cash, cash equivalents, and available-for-sale securities, respectively. Based on our current expectations with respect to our future revenue and expenses, we believe that our current level of cash, cash equivalents, and other liquid assets will be sufficient to meet our liquidity needs for at least the next twelve months from the date of the filing of this Quarterly Report on Form 10-Q (this “Form 10-Q”).</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks and uncertainties</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements requires the use of estimates and assumptions that affect the reported amounts of assets and liabilities at the reporting date and revenues and expenses during the reporting periods. These estimates represent management's judgment about the outcome of future events. The global business environment continues to be impacted by cost pressure, the overall effects of economic uncertainty on customers' purchasing patterns, high interest rates, and other </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">factors. It is not possible to accurately predict the future impact of such events and circumstances. Actual results could differ from our estimates.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For additional information, see caption “Risk Factors” identified in Part I, Item 1A of our Annual Report and in Part II, Item 1A of this Form 10-Q.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Concentrations of credit risk and business risk</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant customers are those that represent more than 10% of the Company’s total revenue or gross accounts receivable balances for the periods and as of each balance sheet date presented. For each significant customer, revenue as a percentage of total revenue and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounts Receivable</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer A</span></td><td colspan="2" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer B</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer C</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;padding-left:9pt;text-align:justify;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4pt">less than 10%</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue from foreign customers is denominated in United States dollars or euros.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the Company’s products representing more than 10% of the Company’s total revenue:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product revenue concentration</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CryoStor</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">44 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">780XLE Freezer</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the Company’s total revenue by geographic area (based on the location of the customer):</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue by customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">’</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> geographic locations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">80 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe, Middle East, Africa (EMEA)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) During the year ended December 31, 2023, the Company updated its methodology for determining the country of origin for its sales. Sales are now recorded by shipping country rather than billing country. The Company updated the methodology retrospectively, adjusting the prior year presentation for all regions presented.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) The line item presented above previously bifurcated sales between the United States and Canada. Due to the updated methodology for determining the country of origin for sales, it was noted that Canada no longer was a material location to separately disclose. Canada sales have been included within the "Other" line item in the table above and United States sales have been retained as a single line item to more accurately reflect origin of sales for material regions. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the three months ended March 31, 2024, one supplier accounted for 13% of purchases. In the three months ended March 31, 2023, one supplier accounted for 15% of purchases.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, one supplier accounted for 11% of our accounts payable. As of December 31, 2023, one supplier accounted for 12% of our accounts payable.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent accounting pronouncements</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2024, the SEC adopted final rules on the enhancement and standardization of climate-related disclosures of public companies. The final rules require disclosure of, among other things, material climate-related risks and their impact; activities to mitigate or adapt to material climate-related risks; governance and oversight of climate-related risks; and material Scope 1 and/or Scope 2 greenhouse gas emissions with an accompanying assurance report required following an initial transition period, at a limited assurance level, and then following an additional transition period, at a reasonable assurance level. In addition, the effects of severe weather events and other natural conditions, subject to certain thresholds, and amounts related to carbon offsets and renewable energy credits or certificates are required to be disclosed in the notes to the audited financial statements in certain circumstances.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 4, 2024, the SEC voluntarily stayed the implementation of the final rules pending the completion of judicial review of the consolidated challenges to the final rules by the Court of Appeals for the Eighth Circuit. The final rules, as originally issued, would be effective for the Company in various fiscal years, starting with its Annual Report on Form 10-K for fiscal year 2025. Disclosures pursuant to the final rules, as originally issued, would be required prospectively, with information for prior periods required only to the extent it was previously disclosed in an SEC filing. The Company is currently evaluating the impact of the final rules on its Consolidated Financial Statements and disclosures.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as of the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant estimates and assumptions by management affect the Company’s net realizable value of inventory, sales tax liabilities, valuation of market-based stock awards, valuations, fair value of marketable debt securities, expected future cash flows including growth rates, discount rates, terminal values and other assumptions and estimates used to evaluate the recoverability of long-lived assets, estimated fair values of intangible assets and goodwill, amortization methods and periods, warranty reserves, certain accrued expenses, stock-based compensation, contingent consideration from business combinations, and provision for income taxes.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company regularly assesses these estimates; however, actual results could differ materially from these estimates. Changes in estimates are recorded in the period in which they become known. The Company bases its estimates on historical experience and various other assumptions that it believes to be reasonable under the circumstances.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Unaudited Condensed Consolidated Financial Statements and related footnote disclosures as of and for the three months ended March 31, 2024 are unaudited, and are not necessarily indicative of the Company’s operating results for a </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">full year. The Unaudited Condensed Consolidated Financial Statements include all normal and recurring adjustments necessary for a fair presentation of the Company’s financial results for the three months ended March 31, 2024 in accordance with U.S. GAAP, however, certain information and footnote disclosures normally included in annual financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to the U.S. Securities and Exchange Commission (the “SEC”) rules and regulations relating to interim financial statements. These Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Audited Consolidated Financial Statements and accompanying notes thereto included in the Company’s Annual Report on Form 10-K as of and for the fiscal year ended December 31, 2023, filed with the SEC on February 29, 2024 (the “Annual Report”).</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiaries, SAVSU Technologies, Inc. (“SAVSU”), Arctic Solutions, Inc. doing business as Custom Biogenic Systems (“CBS”), SciSafe Holdings, Inc. (“SciSafe”), BioLife Solutions B.V, Global Cooling, Inc. doing business as Stirling Ultracold (“Global Cooling” or “GCI”), and Sexton Biotechnologies, Inc. (“Sexton”). All intercompany accounts and transactions have been eliminated in consolidation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying Unaudited Condensed Consolidated Financial Statements include all adjustments, consisting of only normal, recurring adjustments necessary for a fair presentation of the financial position, results of operations, and cash flows. The results of operations for the interim periods presented are not necessarily indicative of results to be expected for the entire year.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Foreign currency translation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company translates items presented on its Unaudited Condensed Consolidated Balance Sheets, Unaudited Condensed Consolidated Statements of Operations, Unaudited Condensed Consolidated Statements of Comprehensive Loss, Unaudited Condensed Consolidated Statements of Shareholders’ Equity, and Unaudited Condensed Consolidated Statements of Cash Flows into U.S. dollars. For the Company’s subsidiaries that operate in a local currency functional environment, all assets and liabilities are translated into U.S. dollars using current exchange rates at the balance sheet date; revenue and expenses are translated using average exchange rates in effect during each period. Resulting translation adjustments are reported as a separate component of Accumulated Other Comprehensive Loss in the Unaudited Condensed Consolidated Statements of Shareholders' Equity.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Segment reporting</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company views its operations and makes decisions regarding how to allocate resources and manages its business as one reportable segment and one reporting unit. The Company’s Chief Executive Officer, who is the chief operating decision maker, reviews financial information on an aggregate basis for purposes of allocating resources and evaluating financial performance.</span></div> 1 1 46100000 52300000 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Concentrations of credit risk and business risk</span></div>Significant customers are those that represent more than 10% of the Company’s total revenue or gross accounts receivable balances for the periods and as of each balance sheet date presented. For each significant customer, revenue as a percentage of total revenue and gross accounts receivable as a percentage of total gross accounts receivable as of the periods presented were as follows:<div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounts Receivable</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.75pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer A</span></td><td colspan="2" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14 </span></td><td style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:0.75pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer B</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer C</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;padding-left:9pt;text-align:justify;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4pt">less than 10%</span></div> 0.12 0.14 0.10 0.14 0.11 0.10 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the Company’s products representing more than 10% of the Company’s total revenue:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product revenue concentration</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CryoStor</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">44 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">780XLE Freezer</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 0.41 0.44 0.13 0.14 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the Company’s total revenue by geographic area (based on the location of the customer):</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue by customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">’</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> geographic locations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">80 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Europe, Middle East, Africa (EMEA)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) During the year ended December 31, 2023, the Company updated its methodology for determining the country of origin for its sales. Sales are now recorded by shipping country rather than billing country. The Company updated the methodology retrospectively, adjusting the prior year presentation for all regions presented.</span></div>(2) The line item presented above previously bifurcated sales between the United States and Canada. Due to the updated methodology for determining the country of origin for sales, it was noted that Canada no longer was a material location to separately disclose. Canada sales have been included within the "Other" line item in the table above and United States sales have been retained as a single line item to more accurately reflect origin of sales for material regions. 0.80 0.79 0.15 0.18 0.05 0.03 1 1 0.13 0.15 0.11 0.12 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent accounting pronouncements</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2024, the SEC adopted final rules on the enhancement and standardization of climate-related disclosures of public companies. The final rules require disclosure of, among other things, material climate-related risks and their impact; activities to mitigate or adapt to material climate-related risks; governance and oversight of climate-related risks; and material Scope 1 and/or Scope 2 greenhouse gas emissions with an accompanying assurance report required following an initial transition period, at a limited assurance level, and then following an additional transition period, at a reasonable assurance level. In addition, the effects of severe weather events and other natural conditions, subject to certain thresholds, and amounts related to carbon offsets and renewable energy credits or certificates are required to be disclosed in the notes to the audited financial statements in certain circumstances.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 4, 2024, the SEC voluntarily stayed the implementation of the final rules pending the completion of judicial review of the consolidated challenges to the final rules by the Court of Appeals for the Eighth Circuit. The final rules, as originally issued, would be effective for the Company in various fiscal years, starting with its Annual Report on Form 10-K for fiscal year 2025. Disclosures pursuant to the final rules, as originally issued, would be required prospectively, with information for prior periods required only to the extent it was previously disclosed in an SEC filing. The Company is currently evaluating the impact of the final rules on its Consolidated Financial Statements and disclosures.</span></div> Correction of immaterial errors <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended March 31, 2024, we determined that an error existed in our previously issued consolidated financial statements. Specifically, we identified we had not properly accelerated stock compensation expense related to unvested shares of market-based awards of certain employees upon their termination during the fourth quarter of 2023. The error was evaluated under the U.S. Securities and Exchange Commission's ("SEC's") Staff Accounting Bulletin ("SAB") Topic 1M, "Materiality," and SEC SAB Topic 1N, "Considering the Effects of Prior Year Misstatements when Quantifying Misstatements in the Current Year Financial Statements" to determine the materiality of prior period misstatements to the Company’s financial statements. We evaluated the error and concluded that it was not material to the previously issued consolidated financial statements. Although the error was not material to any period, we corrected the accompanying historical consolidated financial statements for the year ended December 31, 2023 to reflect the additional stock compensation expense incurred within each period for comparative purposes. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the adjustments to our Consolidated Balance Sheet as of December 31, 2023 in accordance with ASC 250. The adjustments to our Consolidated Statement of Shareholders’ Equity was limited to the adjustments outlined below.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effect of the adjustments to our Consolidated balance Sheet as of December 31, 2023 was as follows (in thousands):</span></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As reported</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Adjustment</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As corrected</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additional paid-in-capital</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">651,305 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,575 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">652,880 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accumulated deficit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(313,342)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,575)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(314,917)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effect of the adjustments to our Consolidated balance Sheet as of December 31, 2023 was as follows (in thousands):</span></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As reported</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Adjustment</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As corrected</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additional paid-in-capital</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">651,305 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,575 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">652,880 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accumulated deficit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(313,342)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,575)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(314,917)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 651305000 1575000 652880000 -313342000 -1575000 -314917000 Fair value measurement<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with FASB ASC Topic 820, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements and Disclosures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, (“ASC Topic 820”), the Company measures its financial instruments at fair value on a recurring basis. The carrying values of certain of our financial instruments including cash and cash equivalents, accounts receivable, accounts payable, and accrued liabilities approximate fair value because of their short maturities. The carrying value of our marketable debt securities, which are accounted for as available-for-sale, are classified within either Level 1 or Level 2 in the fair value hierarchy because we use quoted market prices or alternative pricing sources and models utilizing market observable inputs to determine their fair value. The carrying values of our long-term debt, which is classified within Level 2 in the fair value hierarchy, approximates fair value as our borrowings with lenders are at interest rates that approximate market rates for comparable loans. The fair values of investments and contingent consideration classified as Level 3 were derived from management assumptions. The Company also measures certain assets and liabilities at fair value on a non-recurring basis when applying acquisition accounting. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC Topic 820 clarifies that fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, ASC Topic 820 establishes a three-tier value fair hierarchy, which prioritizes the inputs used in measuring fair value as follows: </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 – Observable inputs that reflect quoted prices (unadjusted) in active markets for identical assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 – Observable inputs other than quoted prices included in Level 1 for similar assets or liabilities, quoted prices in markets that are not active or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the related assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 – Unobservable data points for the asset or liability, and include situations where there is little, if any, market activity for the asset or liability.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of the SciSafe contingent consideration liability was valued based on unobservable inputs using a Monte Carlo simulation. These inputs included the estimated amount and timing of projected future revenue, a discount rate of 4.5%, a risk-free rate of approximately 0.2%, asset volatility of 60%, and revenue volatility of 15%. Significant changes in any of those inputs in isolation would result in a significant change in the fair value measurement of the liability. Generally, changes used in the assumptions for projected future revenue and revenue volatility would be accompanied by a directionally similar change in the fair value measurement. Conversely, changes in the discount rate would be accompanied by a directionally opposite change in the related fair value measurement. However, due to the contingent consideration having a maximum payout amount, changes in these assumptions would not affect the fair value of the contingent consideration if they increase (decrease) beyond certain amounts. At the acquisition date, the contingent consideration was determined to have a fair value of $3.7 million. Subsequent to the acquisition date, the SciSafe contingent consideration liability was re-measured to fair value with changes recorded in the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Change in fair value of contingent consideration</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in the Unaudited Condensed Consolidated Statements of Operations. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the most recent re-measurement of the contingent consideration liability as of December 31, 2023, the Company determined it appropriate to write-off the remaining balance of the SciSafe contingent consideration liability. The target revenue required for earnout was not met during the year ended December 31, 2023 and had been determined to not be probable to achieve in future years. The change in fair value of contingent consideration of $0.7 million associated with the contingent consideration liability was included within the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Change in fair value of contingent consideration</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> in the Condensed Consolidated Statements of Operations for the three months ended March 31, 2023.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no remeasurements to fair value during the three months ended March 31, 2024 of financial assets and liabilities that are not measured at fair value on a recurring basis.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth the Company’s financial assets and liabilities measured at fair value on a recurring basis as of March 31, 2024 and December 31, 2023, based on the three-tier fair value hierarchy:</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of March 31, 2024</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market accounts</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,260 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,260 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Available-for-sale securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,847 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,847 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,663 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,663 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,151 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,510 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,661 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market accounts</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,034 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,034 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Available-for-sale securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,170 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,170 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,204 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,666 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,870 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no transfers of assets or liabilities between the fair value measurement levels.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in fair value of contingent consideration liabilities that are measured using Level 3 inputs for the three months ended March 31, 2023. There was no contingent consideration liability outstanding as of March 31, 2024.</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:81.778%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.022%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,456 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in fair value recognized in net loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at end of period</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,176 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 0.045 0.002 0.60 0.15 3700000 700000 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables set forth the Company’s financial assets and liabilities measured at fair value on a recurring basis as of March 31, 2024 and December 31, 2023, based on the three-tier fair value hierarchy:</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of March 31, 2024</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market accounts</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,260 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,260 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Available-for-sale securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,891 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,847 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,847 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,663 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,663 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22,151 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,510 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32,661 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of December 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Money market accounts</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,034 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,034 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Available-for-sale securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,170 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,170 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,674 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,204 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,666 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41,870 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 16260000 0 0 16260000 5891000 0 0 5891000 0 7847000 0 7847000 0 2663000 0 2663000 22151000 10510000 0 32661000 25034000 0 0 25034000 5170000 0 0 5170000 0 9674000 0 9674000 0 1992000 0 1992000 30204000 11666000 0 41870000 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in fair value of contingent consideration liabilities that are measured using Level 3 inputs for the three months ended March 31, 2023. There was no contingent consideration liability outstanding as of March 31, 2024.</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:81.778%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.022%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,456 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in fair value recognized in net loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at end of period</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,176 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 4456000 720000 5176000 Investments<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Available-for-sale securities</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s portfolio of available-for-sale marketable securities consists of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31, 2024</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized<br/>Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" rowspan="2" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Fair Value</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Losses</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale securities, current portion</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government securities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,897 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,891 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,851 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,847 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,842 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,841 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total short-term</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,590 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,579 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale securities, long-term</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">822 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,413 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,401 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized<br/>Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" rowspan="2" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Fair Value</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Losses</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale securities, current portion</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government securities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,169 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,170 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,673 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,674 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,443 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,444 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total short-term</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,285 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,288 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale securities, long-term</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">545 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">548 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,830 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,836 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized<br/>Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,590 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,579 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due after one year through five years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">822 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,413 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,401 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Equity investments</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company periodically invests in non-marketable equity securities of private companies without a readily determinable fair value to promote business and strategic objectives. The securities are carried at cost minus impairment, if any, plus or minus changes resulting from observable process changes in orderly transactions for identical or similar transactions of the same issuer. These securities included Series A-1 and A-2 Preferred Stock in iVexSol, Inc. carried at $4.1 million for the periods ending March 31, 2024 and December 31, 2023, and Series E Preferred Stock in PanTHERA CryoSolutions, Inc. carried at $1.0 million as of March 31, 2024 and December 31, 2023.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s portfolio of available-for-sale marketable securities consists of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31, 2024</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized<br/>Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" rowspan="2" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Fair Value</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Losses</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale securities, current portion</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government securities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,897 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,891 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,851 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,847 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,842 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,841 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total short-term</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,590 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,579 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale securities, long-term</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">822 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,413 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,401 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized<br/>Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross unrealized</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" rowspan="2" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Fair Value</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gains</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Losses</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale securities, current portion</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. government securities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,169 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,170 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate debt securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,673 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,674 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,443 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,444 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total short-term</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,285 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,288 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available-for-sale securities, long-term</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other debt securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">545 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">548 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total marketable securities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,830 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,836 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortized<br/>Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due in one year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,590 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,579 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due after one year through five years</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">823 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">822 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,413 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,401 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5897000 0 6000 5891000 7851000 1000 5000 7847000 1842000 0 1000 1841000 15590000 1000 12000 15579000 823000 0 1000 822000 16413000 1000 13000 16401000 5169000 1000 0 5170000 9673000 5000 4000 9674000 1443000 1000 0 1444000 16285000 7000 4000 16288000 545000 3000 0 548000 16830000 10000 4000 16836000 15590000 15579000 823000 822000 16413000 16401000 4100000 4100000 1000000 1000000 Inventories<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consist of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,330 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,219 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Work in progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,737 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,128 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,347 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,109 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total inventories</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,414 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,456 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consist of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,330 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26,219 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Work in progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,737 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,128 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,347 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,109 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total inventories</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,414 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,456 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 24330000 26219000 6737000 7128000 12347000 10109000 43414000 43456000 Leases<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has various operating lease agreements for office space, warehouses, manufacturing, and production locations as well as vehicles and other equipment. Our real estate leases had original lease terms of <span style="-sec-ix-hidden:f-493">three</span> to eleven years and have remaining lease terms of <span style="-sec-ix-hidden:f-495">one</span> to eight years. We exclude options that are not reasonably certain to be exercised from our lease terms, ranging from <span style="-sec-ix-hidden:f-497">one</span> to five years. Our lease payments consist primarily of fixed rental payments for the right to use the underlying leased assets over the lease terms, with all other lease payments consisting of variable lease costs. For certain leases, we receive incentives from our landlords, such as rent abatements, which effectively reduce the total lease payments owed for these leases. Vehicle and other equipment operating leases had original lease terms of <span style="-sec-ix-hidden:f-499">four</span> to five years and have remaining terms between <span style="-sec-ix-hidden:f-501">one</span> and five years.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our financing leases relate to research equipment, machinery, and other equipment. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company’s leases as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate - operating leases</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.3 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.3 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate - finance leases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term in years - operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term in years - finance leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.9</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.1</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense for the three months ended March 31, 2024 and 2023 were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease costs</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">804 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">897 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financing lease costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term lease costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">442 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">402 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total operating lease costs</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,305 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,299 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Variable lease costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">361 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">259 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease costs</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,666 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,558 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of our lease liabilities as of March 31, 2024 are as follows: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating <br/>Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financing <br/>Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024 (9 months remaining)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,471 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">349 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,030 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">424 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,574 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,042 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">134 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,896 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,293 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,683 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,069)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(245)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total present value of lease liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,224 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,438 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> Leases<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has various operating lease agreements for office space, warehouses, manufacturing, and production locations as well as vehicles and other equipment. Our real estate leases had original lease terms of <span style="-sec-ix-hidden:f-493">three</span> to eleven years and have remaining lease terms of <span style="-sec-ix-hidden:f-495">one</span> to eight years. We exclude options that are not reasonably certain to be exercised from our lease terms, ranging from <span style="-sec-ix-hidden:f-497">one</span> to five years. Our lease payments consist primarily of fixed rental payments for the right to use the underlying leased assets over the lease terms, with all other lease payments consisting of variable lease costs. For certain leases, we receive incentives from our landlords, such as rent abatements, which effectively reduce the total lease payments owed for these leases. Vehicle and other equipment operating leases had original lease terms of <span style="-sec-ix-hidden:f-499">four</span> to five years and have remaining terms between <span style="-sec-ix-hidden:f-501">one</span> and five years.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our financing leases relate to research equipment, machinery, and other equipment. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company’s leases as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate - operating leases</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.3 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.3 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate - finance leases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term in years - operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term in years - finance leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.9</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.1</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense for the three months ended March 31, 2024 and 2023 were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease costs</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">804 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">897 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financing lease costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term lease costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">442 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">402 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total operating lease costs</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,305 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,299 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Variable lease costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">361 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">259 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease costs</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,666 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,558 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of our lease liabilities as of March 31, 2024 are as follows: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating <br/>Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financing <br/>Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024 (9 months remaining)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,471 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">349 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,030 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">424 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,574 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,042 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">134 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,896 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,293 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,683 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,069)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(245)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total present value of lease liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,224 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,438 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> P11Y P8Y P5Y P5Y P5Y <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below presents certain information related to the weighted average discount rate and weighted average remaining lease term for the Company’s leases as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate - operating leases</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.3 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.3 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average discount rate - finance leases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.4 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8.3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term in years - operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term in years - finance leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.9</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.1</span></td></tr></table></div> 0.043 0.043 0.084 0.083 P6Y2M12D P6Y4M24D P3Y10M24D P4Y1M6D <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense for the three months ended March 31, 2024 and 2023 were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease costs</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">804 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">897 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financing lease costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Short-term lease costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">442 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">402 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total operating lease costs</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,305 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,299 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Variable lease costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">361 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">259 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease costs</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,666 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,558 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 804000 897000 59000 0 442000 402000 1305000 1299000 361000 259000 1666000 1558000 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of our lease liabilities as of March 31, 2024 are as follows: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating <br/>Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financing <br/>Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024 (9 months remaining)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,471 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">349 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,030 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">424 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,574 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,042 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">134 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,896 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,293 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,683 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,069)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(245)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total present value of lease liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,224 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,438 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of our lease liabilities as of March 31, 2024 are as follows: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating <br/>Leases</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financing <br/>Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024 (9 months remaining)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,471 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">349 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,030 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">424 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,574 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">389 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,280 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,042 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">134 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,896 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17,293 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,683 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,069)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(245)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total present value of lease liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,224 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,438 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2471000 349000 3030000 424000 2574000 389000 2280000 387000 2042000 134000 4896000 0 17293000 1683000 2069000 245000 15224000 1438000 Assets held for rent<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets held for rent consist of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shippers placed in service</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,709 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,866 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fixed assets held for rent</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">579 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,080)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,272)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Subtotal</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,208 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,062 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shippers and related components in production</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,696 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,651 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,904 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,713 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shippers and related components in production include shippers complete and ready to be deployed and placed in service upon a customer order, shippers in the process of being assembled, and components available to build shippers. We recognized $0.7 million and $0.8 million in depreciation expense related to assets held for rent during the three months ended March 31, 2024 and 2023, respectively.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets held for rent consist of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shippers placed in service</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,709 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,866 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fixed assets held for rent</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">579 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,080)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,272)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Subtotal</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,208 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,062 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shippers and related components in production</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,696 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,651 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,904 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,713 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 9709000 9866000 579000 1468000 6080000 6272000 4208000 5062000 2696000 2651000 6904000 7713000 700000 800000 Property and equipment<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment consist of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,927 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,913 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and computer equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">819 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">820 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Manufacturing and other equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,871 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,893 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Construction in-progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,112 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,953 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Subtotal</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,729 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,579 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,687)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,502)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,042 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,077 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense for property and equipment was $0.7 million and $0.9 million for the three months ended March 31, 2024 and 2023, respectively.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment consist of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,927 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,913 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and computer equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">819 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">820 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Manufacturing and other equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,871 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19,893 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Construction in-progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,112 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,953 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Subtotal</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,729 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30,579 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,687)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,502)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,042 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,077 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5927000 5913000 819000 820000 20871000 19893000 4112000 3953000 31729000 30579000 10687000 9502000 21042000 21077000 700000 900000 Goodwill and intangible assets<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the difference between the purchase price and the estimated fair value of identifiable assets acquired and liabilities assumed. Goodwill acquired in a business combination is determined to have an indefinite useful life and is not amortized but instead is tested for impairment at least annually in accordance with ASC 350.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intangible assets</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net consisted of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except weighted average useful life)</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intangible assets:</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross Carrying</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Value</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Carrying</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Value</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Average Useful</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Life (in years)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,936 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,353)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,583 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tradenames</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,134 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,231)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,903 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology - acquired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,705)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,667 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.8</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-compete agreements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">750 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(668)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,192 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,957)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,235 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.1</span></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except weighted average useful life)</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intangible assets:</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross Carrying</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Value</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Carrying</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Value</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Average Useful</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Life (in years)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,936 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,217)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,719 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.7</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tradenames</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,134 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,077)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,057 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.3</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology - acquired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,123)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.1</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-compete agreements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">750 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(626)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.8</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,192 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,043)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,149 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.3</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense for definite-lived intangible assets was $0.9 million and $1.5 million for the three months ended March 31, 2024 and 2023, respectively. As of March 31, 2024, the Company expects to record the following amortization expense for definite-lived intangible assets:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortization<br/>Expense</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the Years Ending December 31,</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024 (9 months remaining)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,689 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,358 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,605 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,500 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,615 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,235 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net consisted of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except weighted average useful life)</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31, 2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intangible assets:</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross Carrying</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Value</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Carrying</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Value</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Average Useful</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Life (in years)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,936 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,353)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,583 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tradenames</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,134 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,231)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,903 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.0</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology - acquired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,705)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,667 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.8</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-compete agreements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">750 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(668)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.5</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,192 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,957)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,235 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.1</span></td></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except weighted average useful life)</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intangible assets:</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross Carrying</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Value</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net Carrying</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Value</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Weighted</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Average Useful</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Life (in years)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,936 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,217)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,719 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10.7</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tradenames</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,134 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,077)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,057 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11.3</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Technology - acquired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,123)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.1</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-compete agreements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">750 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(626)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">124 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">0.8</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,192 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(16,043)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21,149 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.3</span></td></tr></table></div> 9936000 4353000 5583000 P10Y4M24D 8134000 2231000 5903000 P11Y 18372000 9705000 8667000 P3Y9M18D 750000 668000 82000 P0Y6M 37192000 16957000 20235000 P7Y1M6D 9936000 4217000 5719000 P10Y8M12D 8134000 2077000 6057000 P11Y3M18D 18372000 9123000 9249000 P4Y1M6D 750000 626000 124000 P0Y9M18D 37192000 16043000 21149000 P7Y3M18D 900000 1500000 As of March 31, 2024, the Company expects to record the following amortization expense for definite-lived intangible assets:<div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amortization<br/>Expense</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the Years Ending December 31,</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024 (9 months remaining)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,689 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,358 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,605 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,500 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,615 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,235 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2689000 3468000 3358000 2605000 1500000 6615000 20235000 Accrued expenses and other current liabilities<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses and other current liabilities consist of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,253 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,909 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,644 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,800 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue, current</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">299 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">661 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total accrued expenses and other current liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,863 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,932 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses and other current liabilities consist of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,253 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,909 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,644 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,800 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue, current</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">299 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">661 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total accrued expenses and other current liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,863 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,932 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 4253000 6909000 667000 562000 3644000 3800000 299000 661000 8863000 11932000 Warranty reserve liability<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company reserves estimated exposures on known claims, as well as anticipated claims, for product warranty and rework cost, based on historical product liability claims. Claim costs are deducted from the accrual when paid. Factors that could have an impact on the warranty accrual in any given period include the following: changes in manufacturing quality, changes in product costs, changes in product mix and any significant changes in sales volume.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A rollforward of our warranty liability is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,858 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,312 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Provision for warranties</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">767 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,891 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Settlements of warranty claims</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(825)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,308)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at end of period</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,800 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,895 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A rollforward of our warranty liability is as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,858 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,312 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Provision for warranties</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">767 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,891 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Settlements of warranty claims</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(825)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1,308)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Balance at end of period</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,800 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,895 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 7858000 8312000 767000 1891000 825000 1308000 7800000 8895000 Commitments and contingencies<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Employment agreements</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have employment agreements with certain key employees. None of these employment agreements is for a definitive period, but rather each will continue indefinitely until terminated in accordance with its terms. The agreements provide for a base annual salary, payable in monthly (or shorter) installments. Under certain conditions and for certain of these officers, we may be required to pay additional amounts upon terminating the employee or upon the employee resigning for good reason.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Litigation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is subject to various legal proceedings that arise in the ordinary course of business, none of which are currently material to the Company’s business. The Company’s industry is characterized by frequent claims and litigation, including claims regarding intellectual property. As a result, the Company may be subject to various legal proceedings from time to time. The results of any future litigation cannot be predicted with certainty, and regardless of the outcome, litigation can have an adverse impact on the Company because of defense and settlement costs, diversion of management resources and other factors. Management is not aware of any significant pending or threatened litigation that is anticipated to result in unfavorable judgments against the Company.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Indemnification</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As permitted under Delaware law and in accordance with the Company’s bylaws, the Company is required to indemnify its officers and directors for certain errors and occurrences while the officer or director is or was serving in such capacity. The Company is also party to indemnification agreements with its directors. The Company believes the fair value of the </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">indemnification rights and agreements is minimal. Accordingly, the Company has not recorded any liabilities for these indemnification rights and agreements as of March 31, 2024 and December 31, 2023.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Purchase obligations </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Purchase obligations are defined as agreements to purchase goods or services that are enforceable and legally binding and that specify all significant terms, including fixed or minimum quantities to be purchased, fixed, minimum, or variable pricing provisions and the approximate timing of the transactions. As of March 31, 2024, our total short-term obligations were $10.0 million.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Non-income related taxes</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Companies are required to collect and remit sales tax from certain customers if the company is determined to have nexus in a particular state. Upon the determination of nexus, which varies by state, companies are additionally required to maintain detailed record of specific product and customer information within each jurisdiction in which it has established nexus to appropriately determine their sales tax liability, requiring technical knowledge of each jurisdiction’s tax case law. During the year ended December 31, 2023, the Company determined that a sales tax liability related to the periods of 2019 through 2023 was probable and determined an estimated liability. The estimated liability was approximately $5.0 million and $5.4 million as of March 31, 2024 and December 31, 2023, respectively. Due to the variety of jurisdictions in which this estimated liability relates to and our ongoing assessment of sales taxes owed, we cannot predict when final liabilities will be satisfied. We will reevaluate the estimated liability and timing of satisfaction each reporting period.</span></div> 10000000 5000000 5400000 Long-term debt<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Global Cooling Term Notes</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2021, the Company assumed three term notes in the acquisition of Global Cooling. At the time of acquisition, these notes carried aggregate outstanding principal balances of $4.4 million. These term notes bore interest at a floating rate equal to the 3-month LIBOR rate plus 6.5%. The term notes included financial covenants tied to the performance of Global Cooling. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In October 2021, the Company entered into amended and restated term notes for all three term notes (the “Global Cooling Term Notes”) with two lenders. As amended, the principal amount borrowed pursuant to the Global Cooling Amended Term Notes” consisted of an aggregate $4.6 million, with one lender providing two term notes in the principal amount of $1.4 million per note and a separate lender providing one term note in the principal amount of $1.8 million. The maturity dates for the Global Cooling Amended Term Notes are July 17, 2024, September 7, 2024, and December 18, 2027, respectively. All three Global Cooling Amended Term Notes bear interest at a fixed rate of 4.0%, were interest-only with one balloon principal payment at maturity, and could be pre-paid without penalty at any time. The Company fully extinguished the Global Cooling Amended Term Notes with maturity dates of September 7, 2024 and July 17, 2024 on September 20, 2022 and July 17, 2023, respectively. All financial covenants included in the original term notes previously in effect were removed upon amendment and restatement pursuant to the Global Cooling Amended Term Notes.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Global Cooling Divestiture as of April 17, 2024, the Company fully extinguished the remaining balance of the Global Cooling Amended Term Notes, totaling $2.6 million. For additional information regarding the Global Cooling Divestiture and associated costs incurred by the Company, see Note 19: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Subsequent events</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Term Loan</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On September 20, 2022, the Company and certain of its subsidiaries entered into a term loan agreement (the “Loan Agreement”), which provides for a term loan in an aggregate maximum principal amount of up to $60 million in the increments and upon the dates and milestones described below (the “Term Loan”). The Term Loan matures on June 1, 2026. The Loan Agreement permitted the Company to borrow up to $30 million upon the initial closing of the transactions contemplated by the Loan Agreement (the “Term Loan Closing”), and provided options to borrow (i) up to $10 million between the Term Loan Closing and June 30, 2023, (ii) up to $10 million upon the achievement of certain revenue milestones by the Company, and (iii) an additional $10 million at the discretion of the lender. The Company borrowed $20 million at the Term Loan Closing and accounts for the Term Loan at cost. As of December 31, 2023, the Company had not drawn additional funding nor had it met the revenue milestones outlined within the Loan Agreement. The Company had until December 31, 2023 to draw an additional $10 million, subject to approval from the lender, and therefore has no </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">additional opportunities under the Loan Agreement. Payments on the borrowing are interest-only through June 2024, with additional criteria allowing for interest-only payments to continue through June 2025. Tranches borrowed under the Loan Agreement bear interest at the Wall Street Journal prime rate plus 0.5%. However, the interest rate is subject to a ceiling that restricts the interest rate for each tranche from exceeding 1.0% above the overall rate applicable to each tranche at their respective funding dates and has a balloon payment due at the earliest of term loan maturity, repayment of the Term Loan in full, or termination of the Loan Agreement at $1.2 million. As of March 31, 2024, the implied interest rate of the Term Loan is 6.6% and the implied value of the Term Loan is $20.4 million. The Loan Agreement contains customary representations and warranties as well as customary affirmative and negative covenants. As of March 31, 2024, the Company is in compliance with the covenants set forth in the Loan Agreement.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 17, 2024, the Company entered into a Consent and Second Amendment to the Term Loan (the “Amendment”) by and among Silicon Valley Bank, a division of First-Citizens Bank &amp; Trust Company (“Bank”) and the Company and its subsidiaries. For additional information on the Amendment, see Note 19: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Subsequent events</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt consisted of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Maturity Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Interest Rate</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Global Cooling Amended Term Notes</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Term Loan</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Jun-26</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Insurance premium financing</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Jul-24</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">622 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,348 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Freezer equipment loan</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dec-25</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">317 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Manufacturing equipment loans</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Oct-25</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">147 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">172 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Freezer installation loan</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">736 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">807 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other loans</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total debt, excluding unamortized debt issuance costs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,381 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,242 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: unamortized debt issuance costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(81)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(98)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total debt</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,300 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,144 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: current portion of debt</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,619)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,833)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total long-term debt</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,681 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,311 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the Term Loan was secured by substantially all assets of BioLife, SAVSU, CBS, SciSafe, Global Cooling, and Sexton, other than intellectual property, and the Global Cooling Term Amended Notes were secured by substantially all assets of Global Cooling, which security interest was effectively subordinated to the security interest established by the Loan Agreement. Equipment loans are secured by the financed equipment.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Global Cooling Divestiture as of April 17, 2024, the Company entered into the Amendment as described above to remove Global Cooling as a party to the Loan Agreement and to release Bank's security interest in the assets of Global Cooling and the shares of capital stock of Global Cooling arising under the Loan Agreement. </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the scheduled maturities of loans payable for each of the next five years and thereafter were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024 (9 months remaining)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,975 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,511 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,218 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,596 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total debt</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3 4400000 0.065 3 4600000 1400000 1800000 0.040 2600000 60000000 30000000 10000000 10000000 10000000 20000000 10000000 0.005 0.010 1200000 0.066 20400000 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-term debt consisted of the following as of March 31, 2024 and December 31, 2023:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Maturity Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Interest Rate</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Global Cooling Amended Term Notes</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Term Loan</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Jun-26</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Insurance premium financing</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Jul-24</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">622 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,348 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Freezer equipment loan</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Dec-25</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">317 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Manufacturing equipment loans</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Oct-25</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">147 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">172 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Freezer installation loan</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6.3 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">736 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">807 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other loans</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Various</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total debt, excluding unamortized debt issuance costs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,381 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,242 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: unamortized debt issuance costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(81)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(98)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total debt</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,300 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25,144 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: current portion of debt</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,619)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(6,833)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total long-term debt</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15,681 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,311 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 0.040 0.040 2596000 2596000 0.070 0.070 20000000 20000000 622000 1348000 0.057 0.057 279000 317000 0.057 0.057 147000 172000 0.063 0.063 736000 807000 1000 2000 24381000 25242000 81000 98000 24300000 25144000 8619000 6833000 15681000 18311000 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the scheduled maturities of loans payable for each of the next five years and thereafter were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2024 (9 months remaining)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,975 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10,511 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,218 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,596 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Thereafter</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total debt</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 5975000 10511000 5218000 2596000 0 0 24300000 Revenue<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To determine revenue recognition for contractual arrangements that we determine are within the scope of FASB Topic 606, Revenue from Contracts with Customers, we perform the following five steps: (i) identify each contract with a customer; (ii) identify the performance obligations in the contract; (iii) determine the transaction price; (iv) allocate the transaction price to our performance obligations in the contract; and (v) recognize revenue when (or as) we satisfy the relevant performance obligation. We only apply the five-step model to contracts when it is probable that we will collect the consideration we are entitled to in exchange for the goods or services we transfer to the customer. Contracts with customers may contain multiple performance obligations. For such arrangements, the transaction price is allocated to each performance obligation based on the estimated relative standalone selling prices of the promised products or services underlying each performance obligation. The Company determines standalone selling prices based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through past transactions, the Company estimates the standalone selling price, taking into account available information such as market conditions and internally approved pricing guidelines related to the performance obligations. Payment terms and conditions vary, although terms generally include a requirement of payment within 30 to 90 days. As of March 31, 2024 and December 31, 2023, our deferred revenue balance totaled $0.3 million and $0.7 million, respectively. During the three months ended March 31, 2024 and 2023, the Company recognized approximately $0.4 million and $0.2 million, respectively, of revenue that was included in the deferred revenue balance at the beginning of the year.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company primarily recognizes product revenues, service revenues, and rental revenues. Product revenues are generated from the sale of cell processing tools, freezers, thawing devices, and cold chain products. We recognize product revenue, including shipping and handling charges billed to customers, at a point in time when we transfer control of our products to our customers, which is upon shipment for substantially all transactions. Shipping and handling costs are classified as part of cost of product revenue in the Condensed Consolidated Statements of Operations. Service revenue is generated from the storage of biological and pharmaceutical materials. We recognize service revenue over time as services are performed or ratably over the contract term. To the extent the transaction price includes variable consideration, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value method or the most likely amount method, depending on the facts and circumstances relative to the contract. When determining the transaction price of a contract, an adjustment is made if payment from a customer occurs either significantly before or significantly after performance, resulting in a significant financing component. Applying the practical expedient in ASC Topic 606, the Company does not assess whether a significant financing component exists if the period between when the Company performs its obligations under the contract and when the customer pays is one year or less. None of the Company’s contracts contained a significant financing component as of and during the three months ended March 31, 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also generates revenue from the leasing of our property, plant, and equipment, operating right-of-use assets, and evo cold chain systems within its biostorage services product line to customers pursuant to service contracts or rental arrangements entered into with the customer. Revenue from these arrangements is not within the scope of FASB ASC Topic 606 as it is within the scope of FASB ASC Topic 842, Leases. All customers leasing shippers currently do so under annual rental arrangements. We account for these rental transactions as operating leases and record rental revenue on a straight-line basis over the rental term.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into various customer service agreements (collectively, “Service Contracts”) with customers to provide biological and pharmaceutical storage services. In certain of these Service Contracts, the property, plant, and equipment or operating right-of-use assets used to store the customer product are used only for the benefit of one customer. This is primarily driven by the customer’s desire to ensure that sufficient storage capacity is available in a specific geographic location for a set period of time. These agreements may include extension and termination clauses. These Service Contracts do not allow for customers to purchase the underlying assets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has assessed its Service Contracts and concluded that certain of the contracts for the storage of customer products met the criteria to be considered a leasing arrangement (“Embedded Leases”), with the Company as the lessor. The specific Service Contracts that met the criteria were those that provided a single customer with the ability to substantially direct the use of the Company’s property, plant, and equipment or operating right-of-use assets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Applying the practical expedient from ASC Topic 842, consistent with the previous guidance, the Company will continue to recognize operating right-of-use asset embedded lessor arrangements on its Unaudited Condensed Consolidated Balance Sheets in operating right-of-use assets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None of the Embedded Leases identified by the Company qualify as a sales-type or direct finance lease. None of the operating leases for which the Company is the lessor include options for the lessee to purchase the underlying asset at the end of the lease term or residual value guarantees, nor are any such operating leases with related parties.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Embedded Leases may contain both lease and non-lease components. We have elected to utilize the practical expedient from ASC Topic 842 to account for lease and non-lease components together as a single combined lease component as the timing and pattern of transfer are the same for the non-lease components and associated lease component and, the lease component, if accounted for separately, would be classified as an operating lease. Non-lease components of the Company’s rental arrangements include reimbursements of lessor costs.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total bioproduction tools and services revenue for the three months ended March 31, 2024 and 2023 were composed of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except percentages)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product revenue</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Freezer and thaw</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,334 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,381 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cell processing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,993 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Biostorage services</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">283 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">219 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Service revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Biostorage services</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,975 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,825 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Freezer and thaw</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">113 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">646 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Biostorage services</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,836 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,639 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,727 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,703 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table includes estimated rental revenue expected to be recognized in the future related to Embedded Leases as well as estimated service revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied as of the end of the reporting periods. The Company is electing not to disclose the value of the remaining unsatisfied performance obligation with a duration of one year or less as permitted by the practical expedient in ASU 2014-09, Revenue from Contracts with Customers. The estimated revenue in the following table does not include contracts with the original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of March 31, 2024. As of March 31, 2024, we did not have rental revenue expected to be recognized.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The balances in the table below are partially based on judgments involved in estimating future orders from customers pursuant to their respective contracts:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024 (9 months remaining)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Service revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 300000 700000 400000 200000 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total bioproduction tools and services revenue for the three months ended March 31, 2024 and 2023 were composed of the following:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except percentages)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product revenue</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Freezer and thaw</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8,334 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12,381 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cell processing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,993 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Biostorage services</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">283 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">219 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Service revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Biostorage services</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,975 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,825 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Freezer and thaw</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">113 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">646 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Biostorage services</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,836 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,639 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenue</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31,727 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37,703 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 8334000 12381000 16186000 18993000 283000 219000 4975000 3825000 113000 646000 1836000 1639000 31727000 37703000 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The balances in the table below are partially based on judgments involved in estimating future orders from customers pursuant to their respective contracts:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024 (9 months remaining)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Service revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 18000 18000 Stock-based compensation<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Service-based vesting stock options</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of service-based vesting stock option activity for the March 31, 2024, and the status of service-based vesting stock options outstanding as of March 31, 2024:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Options</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Wtd. Avg. Exercise Price</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding as of beginning of period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">217,250 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.21 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding as of March 31, 2024</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">217,250 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.21 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options exercisable as of March 31, 2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">217,250 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.21 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, there was $3.6 million of aggregate intrinsic value of outstanding and exercisable service-based vesting stock options. Intrinsic value is the total pretax intrinsic value for all “in-the-money” options (i.e., the difference between the Company’s closing stock price on the last trading day of the reporting period and the exercise price, multiplied by the number of shares) that would have been received by the option holders had all option holders exercised their options on March 31, 2024. This amount will change based on the fair market value of the Company’s stock. We did not recognize stock compensation expense related to service-based options during the three months ended March 31, 2024. There were no service-based vesting options granted during the three months ended March 31, 2024. The weighted average remaining contractual life of service-based vesting stock options outstanding and exercisable as of March 31, 2024 is 1.8 years. There were no unrecognized compensation costs for service-based vesting stock options as of March 31, 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted stock</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Service-based vesting restricted stock</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of service-based vesting restricted stock activity for the three months ended March 31, 2024, and the status of unvested service-based vesting restricted stock outstanding as of March 31, 2024:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Wtd. Avg. Grant Date Fair Value</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding as of beginning of period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,312,898 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18.32 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">186,272 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17.36 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(221,829)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24.02 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(51,340)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17.69 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-vested as of March 31, 2024</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,226,001 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17.66 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The aggregate fair value of the service-based vesting awards granted was $3.2 million during the three months ended March 31, 2024. The aggregate fair value of the service-based vesting awards that vested was $3.7 million during the three months ended March 31, 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized stock compensation expense related to service-based vesting awards of $4.7 million during the three months ended March 31, 2024. As of March 31, 2024, there was $35.4 million in unrecognized compensation costs related to service-based vesting awards. We expect to recognize those costs over 2.6 years.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance-based restricted stock</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 8, 2024, the Company granted 109,512 shares of performance-based stock to an executive in the form of restricted stock. The shares granted contain performance conditions based on several Company metrics related to future performance. The grant date fair value of this award was $17.36 per share. The fair value of this award is being expensed on a straight-line basis over the requisite service period ending on December 31, 2025.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized stock compensation expense of $0.2 million related to performance-based restricted stock awards for the three months ended March 31, 2024. As of March 31, 2024, there was $1.7 million in unrecognized non-cash compensation costs related to performance-based restricted stock awards expected to vest. We expect to recognize those costs over 1.8 years. Non-cash compensation costs are expensed over the period for which performance was measured.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The aggregate fair value of the performance-based awards granted during the three months ended March 31, 2024 was $1.9 million. No performance-based awards vested during the three months ended March 31, 2024.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">No performance-based restricted stock awards were granted or vested during the three months ended March 31, 2023.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Market-based restricted stock</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of market-based restricted stock activity under our stock option plan for the three months ended March 31, 2024 and the status of market-based restricted stock outstanding as of March 31, 2024:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Wtd. Avg. Grant</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding as of beginning of period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">509,166 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26.50 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">299,565 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23.20 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(300,529)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27.97 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-vested as of March 31, 2024</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">508,202 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25.70 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 24, 2022, the Company granted 240,428 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on total shareholder return ("TSR"). The TSR market condition measures the Company’s performance against a peer group. On March 8, 2024, the Company’s Compensation Committee determined the TSR attainment was 125% of the targeted shares and 300,529 shares were granted and immediately vested to the executives of the Company based on our TSR during the period beginning on January 1, 2022 through December 31, 2023 as compared to the TSR of 20 of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 63%, 0% dividend yield and a risk-free interest rate of 1.5%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a 0% dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $6.7 million is being expensed on a straight-line basis over the grant date to the vesting date of December 31, 2023.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 3, 2023, the Company granted 268,738 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company’s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our TSR during the period beginning on January 1, 2023 through December 31, 2024 as compared to the TSR of 20 of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 78%, 0% dividend yield and a risk-free interest rate of 4.4%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a 0% dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">award of $6.8 million is being expensed on a straight-line basis over the grant date to the vesting date of December 31, 2024, excluding $1.6 million of expense recognized in 2023 to reflect accelerations in the vesting period of certain awards.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 8, 2024, the Company granted 239,464 shares of market-based stock to its executives in the form of restricted stock. The shares granted contain a market condition based on TSR. The TSR market condition measures the Company’s performance against a peer group. The market-based restricted stock awards will vest as to between 0% and 200% of the number of restricted shares granted to each recipient based on our TSR during the period beginning on January 1, 2024 through December 31, 2025 as compared to the TSR of 20 of our peers. The fair value of this award was determined using a Monte Carlo simulation with the following assumptions: a historical volatility of 80%, 0% dividend yield and a risk-free interest rate of 4.6%. The historical volatility was based on the most recent 2-year period for the Company and correlated with the components of the peer group. The stock price projection for the Company and the components of the peer group assumes a 0% dividend yield. This is mathematically equivalent to reinvesting dividends in the issuing entity over the performance period. The risk-free interest rate is based on the yield on the U.S. Treasury Strips as of the Measurement Date with a maturity consistent with the 2-year term associated with the market condition of the award. The fair value of this award of $6.3 million is being expensed on a straight-line basis over the grant date to the vesting date of December 31, 2025.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized stock compensation expense of $1.1 million and $1.3 million related to market-based restricted stock awards for the three months ended March 31, 2024 and 2023, respectively. As of March 31, 2024, there was $8.6 million in unrecognized non-cash compensation costs related to market-based restricted stock awards expected to vest. We expect to recognize those costs over 1.5 years.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The aggregate fair value of the market-based awards granted was $6.3 million and $6.5 million during the three months ended March 31, 2024 and 2023, respectively. The aggregate fair value of the market-based awards that vested was $5.1 million and $0.7 million during the three months ended March 31, 2024 and 2023, respectively.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Total stock compensation expense</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Compensation expense associated with equity-based awards is recognized on a straight-line basis over the requisite service period, with awards generally vesting over a 4-year period, and forfeitures recognized as incurred. We recorded total stock compensation expense for the three months ended March 31, 2024 and 2023, as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,120 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,631 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,130 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,293 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,256 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">747 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,183 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,183 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,363 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of service-based vesting stock option activity for the March 31, 2024, and the status of service-based vesting stock options outstanding as of March 31, 2024:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Options</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Wtd. Avg. Exercise Price</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding as of beginning of period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">217,250 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.21 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding as of March 31, 2024</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">217,250 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.21 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options exercisable as of March 31, 2024</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">217,250 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.21 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 217250 2.21 0 0 217250 2.21 217250 2.21 3600000 0 0 P1Y9M18D 0 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of service-based vesting restricted stock activity for the three months ended March 31, 2024, and the status of unvested service-based vesting restricted stock outstanding as of March 31, 2024:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Wtd. Avg. Grant Date Fair Value</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding as of beginning of period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,312,898 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18.32 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">186,272 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17.36 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(221,829)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24.02 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forfeited</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(51,340)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17.69 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-vested as of March 31, 2024</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,226,001 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17.66 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of market-based restricted stock activity under our stock option plan for the three months ended March 31, 2024 and the status of market-based restricted stock outstanding as of March 31, 2024:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31, 2024</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Wtd. Avg. Grant</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding as of beginning of period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">509,166 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26.50 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">299,565 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23.20 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(300,529)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27.97 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-vested as of March 31, 2024</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">508,202 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25.70 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2312898 18.32 186272 17.36 221829 24.02 51340 17.69 2226001 17.66 3200000 3700000 4700000 35400000 P2Y7M6D 109512 17.36 200000 1700000 P1Y9M18D 1900000 0 0 509166 26.50 299565 23.20 300529 27.97 508202 25.70 240428 1.25 300529 20 0.63 0 0.015 P2Y 0 P2Y 6700000 268738 0 2 20 0.78 0 0.044 P2Y 0 P2Y 6800000 -1600000 239464 0 2 20 0.80 0 0.046 0 P2Y 6300000 1100000 1300000 8600000 P1Y6M 6300000 6500000 5100000 700000 P4Y We recorded total stock compensation expense for the three months ended March 31, 2024 and 2023, as follows:<div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,120 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,631 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">General and administrative costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,130 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,293 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales and marketing costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,186 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,256 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">747 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,183 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6,183 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7,363 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 1120000 1631000 3130000 3293000 1186000 1256000 747000 1183000 6183000 7363000 Income taxes<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company accounts for income taxes under ASC Topic 740 – Income Taxes. Under this standard, deferred tax assets and liabilities are recognized for future tax benefits or consequences attributable to temporary differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s tax provision for interim periods is determined using an estimate of the annual effective income tax rate, adjusted for discrete items, if any, that occur in the relevant period. The income tax expense of $0.1 million for the three months ended March 31, 2024 resulted in an effective income tax rate of negative 1.2%. Included in the $0.1 million was a discrete tax expense of $0.6 million related to a stock compensation shortfall, which was offset by a change in the valuation allowance.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s U.S. projected effective income tax rate without discrete items was negative 1.8%, which is lower than the U.S. federal statutory rate of 21% primarily due to the increase in the valuation allowance on US deferred tax assets and non-deductible executive compensation offset by state tax benefits and research tax credits.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Realization of deferred tax assets is dependent upon the generation of future taxable income, the timing and amount of which are uncertain. In determining the need for a valuation allowance, the Company’s management evaluates both positive and negative evidence when concluding whether it is more likely than not that deferred tax assets are realizable. After reviewing the evidence available, the Company’s management believes there is uncertainty regarding the future realizability of the U.S. net operating loss carryforward and is projecting a full valuation allowance of $54.7 million by year end. If operating results improve and projections indicate future utilization of the tax attributes, all or a portion of the valuation allowance would be released, resulting in a corresponding non-cash income tax benefit.</span></div> 100000 -0.012 100000 600000 -0.018 0.21 54700000 Net loss per common share <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considers its unvested restricted shares, which contain non-forfeitable rights to dividends, as participating securities, and includes such participating securities in its computation of earnings per share pursuant to the two-class method. Basic earnings per share is calculated by dividing net loss by the weighted average number of shares of common stock outstanding during the reporting period. Diluted earnings per share is calculated using the weighted average number of shares of common stock plus the potentially dilutive effect of common equivalent shares outstanding determined under both the two-class method and the treasury stock method, whichever is more dilutive. In periods when we have a net loss, common stock equivalents are excluded from our calculation of earnings per share as their inclusion would have an antidilutive effect.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents computations of basic and diluted earnings per share:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except share and earnings per share data)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basic earnings (loss) per common share</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Numerator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net loss</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,221)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,714)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net loss allocated to common shareholders</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,221)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,714)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted-average common shares issued and outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45,432,426</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,027,612</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic and diluted loss per common share</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.22)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.32)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the number of weighted-average shares of common stock excluded from the computation of diluted loss per share, as their inclusion would have been anti-dilutive: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options and restricted stock awards</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,766,824</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,153,029</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,766,824</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,153,029</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents computations of basic and diluted earnings per share:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except share and earnings per share data)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basic earnings (loss) per common share</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Numerator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net loss</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,221)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,714)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net loss allocated to common shareholders</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(10,221)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(13,714)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted-average common shares issued and outstanding</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45,432,426</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43,027,612</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic and diluted loss per common share</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.22)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(0.32)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> -10221000 -13714000 -10221000 -10221000 -13714000 -13714000 45432426 45432426 45432426 45432426 43027612 43027612 43027612 43027612 -0.22 -0.22 -0.32 -0.32 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the number of weighted-average shares of common stock excluded from the computation of diluted loss per share, as their inclusion would have been anti-dilutive: </span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options and restricted stock awards</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,766,824</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,153,029</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,766,824</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3,153,029</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 3766824 3153029 3766824 3153029 Employee benefit plan<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company sponsors 401(k) defined contribution plan for its employees. This plan provides for pre-tax and post-tax contributions for all employees. Employee contributions are voluntary. Employees may contribute up to 100% of their annual compensation to this plan as limited by an annual maximum amount as determined by the Internal Revenue Service. The Company matches employee contributions in amounts to be determined at the Company’s sole discretion. The Company made $0.3 million in contributions to this plan for the three months ended for both March 31, 2024 and 2023.</span></div> 1 300000 300000 Subsequent events<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Purchase Agreement for Global Cooling Divestiture</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has evaluated events subsequent to March 31, 2024 through the date of this filing to assess the need for potential recognition or disclosure. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 17, 2024, the Company entered into the Purchase Agreement by and between the Company and GCI Holdings, which is wholly owned by an consulting contractor of Global Cooling, for the sale of all of the issued and outstanding shares of common stock of Global Cooling to GCI Holdings for an aggregate purchase price of $1.00. In addition, at the closing of the GCI Divestiture, Global Cooling was required to have $7.0 million in cash on its balance sheet, of which, $4.9 million in cash funded by the Company, and the Company was required to repay approximately $2.6 million of outstanding indebtedness of Global Cooling, and assume certain other liabilities of Global Cooling. Following the execution of the Purchase Agreement, the GCI Divestiture was consummated on April 17, 2024. The Company expects to recognize a loss on the GCI Divestiture, calculated as follows:</span></div><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.809%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.991%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">April 17, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling price: $1</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash to Global Cooling funded by Company</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,910)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Approximate costs to sell Global Cooling</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,409)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Negative selling price</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,319)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Global Cooling carrying basis as of December 31, 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(963)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated net loss on disposal</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(8,282)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) Represents the costs incurred in connection with the GCI Divestiture, including fees to be paid to the broker, attorneys, and other external parties.</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) The Company is utilizing the carrying basis of Global Cooling as of December 31, 2023 as an estimate for its carrying basis as of the date of divestiture. The carrying basis to calculate the loss on disposal will utilize the carrying basis as of the date of divestiture on April 17, 2024, and may differ from the estimate noted here upon disclosure in the second quarter of 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s estimates are subject to a number of assumptions, and actual results may differ. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Company’s entry into the Purchase Agreement, the Company implemented a reduction in force (the “RIF”) related to the business of Global Cooling, which reduced the Company’s workforce by 47 employees (representing approximately 11% of its full-time employees). The Company’s Board of Directors approved the RIF on March 29, 2024, and all affected employees were informed by April 18, 2024, following the execution of the Purchase Agreement. The Company expects to recognize approximately $1.6 million of charges in connection with the RIF, comprised of approximately $1.3 million of stock compensation expense and approximately $0.3 million in cash expenditures, substantially all of which are expected to be related to employee severance costs. The Company expects to recognize most of these expenditures in the second quarter of 2024. The Company’s estimates are subject to a number of assumptions, and actual results may differ. The Company may also incur additional costs not currently contemplated due to events that may occur as a result of, or that are associated with, the RIF. In addition, the Company expects to recognize approximately $4.5 million in stock compensation expense in connection with the acceleration of unvested shares for all former employees of the Company that remained with Global Cooling upon the closing of the GCI Divestiture.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the additional costs incurred by the Company in connection with closing the GCI Divestiture and expected to be recorded during the second quarter of 2024:</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.809%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.991%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">April 17, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Global Cooling Term Notes payoff</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assumed liabilities from Global Cooling</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,353 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RIF compensation expenses</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,595 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Global Cooling employee stock based compensation expense</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(4)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10,650</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) As a condition to close the GCI Divestiture, the Company repaid the balance of the Global Cooling Amended Term Notes. For additional information on the terms of the Global Cooling Term Notes, see Note 13: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Long-term debt</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) As a condition to close the GCI Divestiture, the Company assumed certain accounts payable and accrued expenses from Global Cooling, totaling to approximately $1.8 million and $0.6 million, respectively.</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3) The Company expects to recognize approximately $1.6 million of charges in connection with the RIF, comprised of approximately $1.3 million of stock compensation expense and approximately $0.3 million in cash expenditures, substantially all of which are expected to be related to employee severance costs.</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4) The Company expects to recognize approximately $4.5 million in stock compensation expense in connection with the acceleration of unvested shares for all former employees of the Company that remained with Global Cooling upon the closing of the GCI Divestiture.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, upon the closing of the Transaction, the Company and Global Cooling entered into a transition services agreement, pursuant to which the Company will provide certain transition services to Global Cooling for up to 90 days following the Closing Date.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Second Amendment to Loan and Security Agreement with Silicon Valley Bank</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Additionally, on April 17, 2024, the Company entered into the Amendment by and among Bank and Borrower. Pursuant to the Amendment and subject to the conditions set forth therein, Bank consented to the GCI Divestiture and released its security interests in the assets of Global Cooling and the shares of capital stock of Global Cooling arising under the Loan Agreement. In addition, effective as of the closing of the GCI Divestiture, the Amendment amended the Loan Agreement to remove Global Cooling as a party to the Loan Agreement and provide for a non-refundable termination fee in the amount of $500,000 payable by Borrower to Bank in the event that the Loan Agreement is terminated prior to the Term Loan Maturity Date (as defined in the Loan Agreement) for any reason. The Amendment additionally contained a financial covenant requiring the Company to limit cash outflows and unsecured indebtedness in connection with the Transaction to $15 million or less. The Amendment also contains customary representations and warranties of Borrower and provides for a release of Bank by Borrower for any claims existing or arising through the date of the Amendment, including, without limitation, those arising out of or in any manner connected with or related to the Loan Agreement.</span></div> 1.00 7000000 4900000 2600000 The Company expects to recognize a loss on the GCI Divestiture, calculated as follows:<div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.809%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.991%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">April 17, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling price: $1</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash to Global Cooling funded by Company</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,910)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Approximate costs to sell Global Cooling</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2,409)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Negative selling price</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(7,319)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Global Cooling carrying basis as of December 31, 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(963)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated net loss on disposal</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(8,282)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) Represents the costs incurred in connection with the GCI Divestiture, including fees to be paid to the broker, attorneys, and other external parties.</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) The Company is utilizing the carrying basis of Global Cooling as of December 31, 2023 as an estimate for its carrying basis as of the date of divestiture. The carrying basis to calculate the loss on disposal will utilize the carrying basis as of the date of divestiture on April 17, 2024, and may differ from the estimate noted here upon disclosure in the second quarter of 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the additional costs incurred by the Company in connection with closing the GCI Divestiture and expected to be recorded during the second quarter of 2024:</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.809%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.991%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">April 17, 2024</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Global Cooling Term Notes payoff</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,596 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assumed liabilities from Global Cooling</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2,353 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RIF compensation expenses</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,595 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Global Cooling employee stock based compensation expense</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(4)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10,650</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) As a condition to close the GCI Divestiture, the Company repaid the balance of the Global Cooling Amended Term Notes. For additional information on the terms of the Global Cooling Term Notes, see Note 13: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Long-term debt</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) As a condition to close the GCI Divestiture, the Company assumed certain accounts payable and accrued expenses from Global Cooling, totaling to approximately $1.8 million and $0.6 million, respectively.</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3) The Company expects to recognize approximately $1.6 million of charges in connection with the RIF, comprised of approximately $1.3 million of stock compensation expense and approximately $0.3 million in cash expenditures, substantially all of which are expected to be related to employee severance costs.</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4) The Company expects to recognize approximately $4.5 million in stock compensation expense in connection with the acceleration of unvested shares for all former employees of the Company that remained with Global Cooling upon the closing of the GCI Divestiture.</span></div> 1 0 4910000 2409000 7319000 963000 -8282000 47 0.11 1600000 1300000 300000 4500000 2596000 2353000 1595000 4106000 10650000 1800000 600000 1600000 1300000 300000 4500000 P90D 500000 15000000 The following table identifies and provides the material terms of the Rule 10b5-1 trading plans intended to satisfy the affirmative defense conditions of Rule 10b5-1(c) adopted or terminated by our officers and directors during the three months ended March 31, 2024.<div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:18.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.391%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.391%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.391%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.391%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.432%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Name and Position</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Plan Adoption / Termination</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Plan Adoption / Termination Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Expiration Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Number of Shares to be Purchased (Sold) under Plan</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aby J. Mathew, EVP &amp; Chief Scientific Officer</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Adoption</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 13, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(123,404)</span></td></tr></table></div> false false false Aby J. Mathew EVP & Chief Scientific Officer true March 13, 2024 -123404